alalRedraw

アルファレイヤーにArtlet2D仮想イメージを再描画する

alalRedraw p1, p2,p3

p1=0〜 : Artlet2D仮想イメージID

p2=0〜(-1):貼り付け元Artlet2D仮想イメージID
p3=0〜(0) :アニメーション画像読み込み時のフレーム番号

(プラグイン / モジュール : a2d+AlphaLayer)

解説

Artlet2D仮想イメージをアルファレイヤー子ウィンドウに反映します。

アルファ値 込みの画像データ転送となります。

アルファレイヤー描画/更新の手順
  1. alCreateImage等でArtlet2D仮想イメージを作る。
  2. Artlet2D仮想イメージ に書き込み。
  3. alalSetParent で貼り付け。
  4. Artlet2D仮想イメージの内容を更新。
  5. alalRedraw で貼り付け先のアルファレイヤー子ウィンドウに内容を反映。
   以降、4 ⇔ 5 を繰り返す。

p3には、alCreateImageByAnimationFile を使ってアニメーションGIF(TIFF)を読み込んだ場合に、アルファレイヤーに反映するフレームの番号を指定します。


【裏技】
alalSetParentのp1には512番以降を指定することもできます。
alalRedrawのp2を利用することでArtlet2D仮想イメージIDと同じ番号にとらわれることのないアルファレイヤー画像の更新が行えます。

サンプル

#include "a2d+AlphaLayer.hsp"

	// キャラ素材ロード
	alCreateImageByFile 0, dir_tv+"tamadot.png" ; 仮想イメージ(イメージID 0)
	
	// キャラ
	alCreateImage 1, 64,64 ; 仮想イメージ(イメージID 1)を作って
	alalSetParent 1,,, 100,380 ; イメージID 1を貼り付け。
	
	// キャラクターアニメーション:alCopyImageToImage と alalRedraw を繰り返す
	repeat
		alErase
		alCopyImageToImage 0,1, 0,0,64,64, 64*(4+cnt\4),0 ; イメージID 0 から 1 へ 歩きモーション(1〜4)をコピー
		alalRedraw 1 ; イメージID 1 のアルファレイヤーを更新。
		wait 50
	loop

関連項目

alalSetParentArtlet2D仮想イメージをアルファレイヤー子ウィンドウとして描画先ウィンドウに貼り付ける(a2d+AlphaLayer)
alalWindowArtlet2D仮想イメージを用いてレイヤードウィンドウを作成(a2d+AlphaLayer)
alalRedrawアルファレイヤーにArtlet2D仮想イメージを再描画する(a2d+AlphaLayer)
alalCallbackアルファレイヤーのWindowsメッセージ割り込み指定(a2d+AlphaLayer)
alalShowアルファレイヤー子ウィンドウを表示させる(a2d+AlphaLayer)
alalIsShownアルファレイヤー子ウィンドウが表示されているか取得(a2d+AlphaLayer)
alalHideアルファレイヤー子ウィンドウを非表示にする(a2d+AlphaLayer)
alalAlphaアルファレイヤーの透明度を設定する(a2d+AlphaLayer)
alalWidthアルファレイヤー子ウィンドウのサイズ・位置設定(a2d+AlphaLayer)
alalGetRectアルファレイヤー子ウィンドウの左上・右下座標の取得(a2d+AlphaLayer)
alalZtopアルファレイヤーをZオーダー(表示順序)の一番上に配置する(a2d+AlphaLayer)
alalZbottomアルファレイヤーをZオーダー(表示順序)の一番下に配置する(a2d+AlphaLayer)
alalZnextアルファレイヤーのZオーダー(表示順序)を指定したウィンドウの下に配置する(a2d+AlphaLayer)
alalIsOnLayerマウスカーソルがアルファレイヤーの上に乗っているか取得(a2d+AlphaLayer)
alalWindow_SetTransparentalalWindowで作成したレイヤードウィンドウのクリック透過モードを変更(a2d+AlphaLayer)
alCreateImageByAnimationFileGIF(TIFF)アニメーションファイルから仮想イメージを作成(a2d+AlphaLayer)

サンプル逆引き (8)

02.アルファレイヤーの更新.hsp#include "../a2d+AlphaLayer.hsp" キャラ素材ロード alCreateImage..
03.アルファレイヤーのクリック.hsp#include "../a2d+AlphaLayer.hsp" alalCallback でアルファレイヤー..
10.GIFアニメ表示.hsp#include "../a2d+AlphaLayer.hsp" #include "../mod_Timer..
11.1枚のPNGファイルでアニメーション.hsp#include "../a2d+AlphaLayer.hsp" #include "../mod_Timer..
13.レイヤードウィンドウでアニメーション.hsp#include "../a2d+AlphaLayer.hsp" #include "../mod_Timer..
EX2.ADVゲーム画面(だけ)【アルファレイヤーの中に子アルファレイヤーを作る】.hsp#include "../a2d+AlphaLayer.hsp" #include "../mod_Timer..
EX4.Floppy-Word【アルファレイヤー/タイマーリピート利用ミニゲーム】.hsp#include "hsptvapp.as" GitHubからモジュールを取得。 #include "../a..
EX5.スライダーオブジェクト.hsp#include "../a2d+AlphaLayer.hsp" #include "../mod_Timer..

情報

プラグイン / モジュールa2d+AlphaLayer
バージョン2.4
作成日2024/1/5
著作者MIZUSHIKI
URLhttp://suwa.pupu.jp/
備考a2d+AlphaLayer.hspをインクルードすること。
対応OS:Windows 8 以降
タイプ拡張命令
グループ画面制御命令
対応環境・Windows 版 HSP