LoginSignup
0
0

More than 3 years have passed since last update.

HSP3.5 HGIMG4 でヘルプに書かれてないイベント動作紹介

Last updated at Posted at 2017-12-20

小ネタですが、HSP3.5 のヘルプには登場しないイベント動作がいくつかあります。

event_setwork2 が存在する

event_setwork2 によって work2 値が変更できます。
work と同じく event_work2, event_addwork2 も存在し、work と同様の仕様です。

event_prmadd が存在する

event_prmadd が存在します。
追加引数で最小と最大で範囲を制限することができます。

event_uv が存在する

event_uv が存在します。
現状では PRMSET_SPRCELID にセットするのと同様の効果があるようですが、HGIMG3 にはすでに event_uv があり意図は同じですが、UVの指定方法が異なっています。

まとめてサンプル

サンプルコードは以下のようになります。

#include "hgimg4.as"

#const WID_DOT 2

    sx = ginfo(26)
    sy = ginfo(27)

    gpreset
    setcls CLSMODE_SOLID, 0x000033

    celload dirinfo(5) + "\\tamadot.png", WID_DOT
    celdiv WID_DOT, 64,64, 32,32

    dim evs,3

    newevent ev
    event_setwork2 ev, 1,2,3
    evs.0 = ev

    newevent ev
    event_uv ev, 28
    event_wait ev, 10
    event_uv ev, 29
    event_wait ev, 10
    event_uv ev, 30
    event_wait ev, 10
    event_uv ev, 31
    event_wait ev, 10
    event_jump ev, 0
    evs.1 = ev

    newevent ev
    event_wait ev, 120
    event_prmadd ev, PRMSET_SPRCELID, 1, 44,44+3
    event_jump ev, 0
    evs.2 = ev

    dim ids,3
// 
    gpspr id, WID_DOT, 39, 2
    setscale id, 2,2,2
    setpos id, sx/2 - 128, sy/2
    setevent id, evs.0
    ids.0 = id
// 
    gpspr id, WID_DOT, 24, 2
    setscale id, 2,2,2
    setpos id, sx/2, sy/2
    setevent id, evs.1
    ids.1 = id
// 
    gpspr id, WID_DOT, 44, 2
    setscale id, 2,2,2
    setpos id, sx/2 + 128, sy/2
    setevent id, evs.2
    ids.2 = id

    ddim v,3

    repeat
        getreq fps, SYSREQ_FPS
        redraw 0
        gpdraw

        font "",48
        pos 16,16
        color 224,224,224
        mes strf("%2d [fps]", fps)

        getwork2 ids.0, v.0, v.1, v.2
        fv2str v
        mes "work2: " + refstr

        redraw 1
        await 1000/60
    loop
実行結果1
z08ex1.png
work2 がセットできる
実行結果2
z08ex2.png
右端のアニメーションは上限IDに対応する盾で止まる

以上、小ネタでした。

参考

HSP3.5 hgimg4 を基礎から理解したい方は以下の記事がとてもおすすめです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0