0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Hot Soup ProcessorAdvent Calendar 2017

Day 21

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?