HSP3.5HGIMG4 제어 이벤트 대기

9609 단어 HSPHSP3
event_wait의 매개 변수에 -1 지정하기
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를 기초로 이해하고 싶은 분들은 다음과 같은 기사를 추천합니다.
  • Hot Soup Processor Advent Calendar 2017의 17일째: HSP3.5hgimg4 재입문
  • 좋은 웹페이지 즐겨찾기