ファイル
goatoh_training_android/modules/my_button.mod.hsp
T

97 行
1.2 KiB
Plaintext

#ifndef __MY_BUTTON__
#define __MY_BUTTON__
#module \
MyButton
#const SIZE_X 240
#const SIZE_Y 120
#const ZOOM 0.8
#defcfunc local \
New \
int p_posX,\
int p_posY,\
int p_bufferId,\
label p_onClicked
posX.insNum = p_posX
posY.insNum = p_posY
bufferId.insNum = p_bufferId
onClicked.insNum = p_onClicked
touching.insNum = False
exists.insNum = True
insNum++
Return insNum - 1
#deffunc local \
Destroy \
int p_insId
exists.p_insId = False
Return
#deffunc local \
Interval \
int p_insId,\
local l_id,\
local l_touchInfo
MTList l_id
If stat = 0 {
touching.p_insId = False
Return
}
If touching.p_insId {
Return
}
MTInfo l_touchInfo, l_id.0
touching.p_insId = True
If l_touchInfo.1 < posX.p_insId - ZOOM * SIZE_X / 2 {
Return
}
If l_touchInfo.1 >= posX.p_insId + ZOOM * SIZE_X / 2 {
Return
}
If l_touchInfo.2 < posY.p_insId - ZOOM * SIZE_Y / 2 {
Return
}
If l_touchInfo.2 >= posY.p_insId + ZOOM * SIZE_Y / 2 {
Return
}
GoSub onClicked.p_insId
Return
#deffunc local \
Draw
Repeat insNum
If exists.cnt = False {
Continue
}
Pos posX.cnt, posY.cnt
CelPut bufferId.cnt, 0, ZOOM, ZOOM
Loop
Interval
Return
#global
#endif ; not __MY_BUTTON__