スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)

Expression2『ストップウォッチ』

 2011-06-04
gm_owata_coast_030143.jpg

#GUIを作りたいが為に勢いで作ったストップウォッチ。
 EGPに繋ぐだけで使えますが、ボタン用のインプットも用意させて頂きました。

*GmodのEGPの仕様で表示レートが非常に遅いです。
 私が調整した限りで一番高速なintervalを選びました。

 正直言うと人に見せられるようなソースじゃない...

@name EGP Stopwatch
@inputs EGP:wirelink Start Stop Reset
@outputs X Y T
@persist HOLD STARTED STOPED RESETED
interval(100)

#define
findByClass("player")
Player = findClosest(EGP:entity():pos())

#Init
if(first()|dupefinished()){
STOPED=1
}


if(first()|dupefinished()){
EGP:egpClear()

EGP:egpBox(1,vec2(256,256),vec2(512,512))
EGP:egpColor(1,vec(70,130,180))

EGP:egpBox(2,vec2(128,128),vec2(200,100))
EGP:egpColor(2,vec(18,149,240))

EGP:egpBox(3,vec2(384,128),vec2(200,100))
EGP:egpColor(3,vec(18,149,240))

EGP:egpText(4,"START",vec2(128,128))
EGP:egpSize(4,50)

EGP:egpText(5,"RESET",vec2(384,128))
EGP:egpSize(5,50)

EGP:egpBox(6,vec2(256,256),vec2(200,100))
EGP:egpColor(6,vec(18,149,240))


EGP:egpText(7,""+T,vec2(355,256))
EGP:egpSize(7,50)

EGP:egpBox(8,vec2(256,384),vec2(128,128))
EGP:egpColor(8,vec(18,149,240))

EGP:egpAlign(1,1,1)
EGP:egpAlign(2,1,1)
EGP:egpAlign(3,1,1)
EGP:egpAlign(4,1,1)
EGP:egpAlign(5,1,1)
EGP:egpAlign(6,1,1)
EGP:egpAlign(7,2,1)
EGP:egpAlign(8,1,1)
EGP:egpAlign(100,1,1)

EGP:egpText(100,"g",vec2(0,0))
EGP:egpSize(100,50)
}

if(Player:pos():distance(EGP:entity():pos())<100){
X=EGP:egpCursor(Player):x()
Y=EGP:egpCursor(Player):y()
EGP:egpPos(100,vec2(X-16,Y-26))

if(Player:keyUse()&!HOLD){
if(X>=30&X<=230 & Y>=80&Y<=180){
EGP:egpColor(2,vec(0,0,0))
HOLD=1
timer("Hold_T",500)
STARTED=!STARTED
STOPED=!STOPED
}
if(X>=280&X<=480 & Y>=80&Y<=180){
EGP:egpColor(3,vec(0,0,0))
HOLD=1
timer("Hold_T",500)
RESETED=!RESETED
}
}
else{
if(clk("Hold_T")){
EGP:egpColor(2,vec(18,149,240))
EGP:egpColor(3,vec(18,149,240))
HOLD=0
stoptimer("Hold_T")
}
}
}
else{
X=256
Y=384
EGP:egpPos(100,vec2(X-16,Y-26))
}
if(X&Y<0){
X=256
Y=384
EGP:egpPos(100,vec2(X-16,Y-26))
}

if(STARTED){
T+=0.1
EGP:egpSetText(4,"STOP")
}
if(STOPED){
T=T
EGP:egpSetText(4,"START")
STOPED=!STARTED
}
if(RESETED){
T=0
RESETED=!RESETED
}

if(changed(T)){
EGP:egpSetText(7,""+T+"SEC")
}
スポンサーサイト
コメント












管理者にだけ表示を許可する
トラックバック
トラックバックURL:
http://dotdandayo.blog34.fc2.com/tb.php/137-ee0d9beb
≪ トップページへこのページの先頭へ  ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。