Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?
@hta393939

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

小ネタですが、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 を基礎から理解したい方は以下の記事がとてもおすすめです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?