HSP3.5HGIMG4 제어 이벤트 대기
HSP3.5HGIMG4의 이벤트wait의 매개 변수로서 -1을 지정하여 지정한 대기 프레임 수를 대체하고work의 x 성분을 참조하여 대기 프레임 수를 결정합니다.이렇게 하면 이벤트를 만들고 대상에 따라work의 x 성분을 바꾸어 동작을 바꿀 수 있습니다.
또 이벤트.wait에서 -1을 지정하고 그 참조지work의 x 성분에서 -1을 지정하면 무한 대기 동작(가능)이 됩니다.
work의 x 성분에서 프레임 수를 지정하고 같은 이벤트에서 서로 다른 시간을 기다리는 샘플 코드는 다음과 같다.
#include "hgimg4.as"
gpreset
setcls CLSMODE_SOLID, 0x000033
// イベント1種類
newevent ev
event_addpos ev, 0.1, 0,0
event_wait ev, -1
repeat 5
gpbox id, 10, 0x00cc33
setpos id, -20, double(2 - cnt) * 12.0, 0
setwork id, (cnt + 1) * 120, 0, 0
setevent id, ev
loop
repeat
getreq fps, SYSREQ_FPS
redraw 0
gpdraw
pos 16,16
color 224,224,224
font "",48
mes strf("%2d [fps]", fps)
redraw 1
await 1000/60
loop
실행 결과 1-1다섯 개의 상자를 오른쪽으로 이동
실행 결과 1-2
오른쪽으로 이동하는 프레임 수가 다름
다음 샘플은 무한 프레임 대기 후 왼쪽 단추를 누르고 다음 동작을 계속합니다.
#include "hgimg4.as"
gpreset
setcls CLSMODE_SOLID, 0x000000
newevent ev
event_addpos ev, 0.1, 0, 0
event_wait ev, -1
event_setwork ev, -1, 0, 0
event_addpos ev, 0, -0.1, 0
event_wait ev, -1
event_setwork ev, -1, 0, 0
event_addpos ev, -0.1, 0, 0
event_wait ev, -1
event_setwork ev, -1, 0, 0
event_addpos ev, 0, 0.1, 0
event_wait ev, -1
event_setwork ev, -1, 0, 0
event_jump ev, 0
gpbox id, 10, 0x00ccff
setpos id, -14, 14, 0
setwork id, -1, 0, 0
setevent id, ev
repeat
getreq fps, SYSREQ_FPS
stick key
if key & 256 {
setwork id, 0, 0, 0
}
redraw 0
gpdraw
pos 16,16
color 224,224,224
font "",48
mes strf("%2d [fps]", fps)
redraw 1
await 1000/60
loop
실행 결과2왼쪽 단추를 눌렀을 때마다 이동 방향이 바뀌어요.
이 샘플에서 왼쪽 단추를 눌렀을 때마다work의 x 성분은 0, 이벤트가 됩니다웨이트의 대기 상태는 해제됐지만, 다른 조건을 충족해 판정할 때(캐릭터가 있는 곳 등에 도달하는 등) 활동 동작을 다음 위치로 옮길 수 있다.
참고 자료
HSP3.5hgimg4를 기초로 이해하고 싶은 분들은 다음과 같은 기사를 추천합니다.
Reference
이 문제에 관하여(HSP3.5HGIMG4 제어 이벤트 대기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hta393939/items/99e7dd7fa81714584d94텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)