Artlet2D仮想イメージをアルファレイヤー子ウィンドウとして描画先ウィンドウに貼り付ける
alalSetParent p1, p2,p3,p4,p5,*label
(プラグイン / モジュール : a2d+AlphaLayer)
描画先ウィンドウに、指定したArtlet2D仮想イメージIDをアルファレイヤー子ウィンドウとして貼り付けます。 貼り付けたアルファレイヤー子ウィンドウはマウスクリック等のメッセージが透過します。 ウィンドウメッセージを取得したい場合は、alalCallback を利用してください。 アルファレイヤーへ描画する基本手順は、以下のようになります。
以降、4 ⇔ 5 を繰り返す。 p2 以降を指定することで、既存アルファレイヤーの子アルファレイヤーとして張り付けたり、最初は非表示にしたり、一度にコールバック処理を指定したりすることができます。 非表示で張り付けた場合はalalShowで表示できます。 statにアルファレイヤー子ウィンドウのウィンドウハンドルが格納されます。 【裏技】 p1に512以上を指定するすることもできます。 その場合、alalRedrawの2項目目を使用して指定したImage IDから512番以降のアルファレイヤーに画像を転送してください。 p1を512以上にしたとき最初に作られるアルファレイヤーは特例として、現在alSelectImageで選択されているイメージIDのレイヤーサイズと画像になります。 ★ !!注意!! ★ Windows 10 May 2020 Update(Ver.20H1)のアプデ辺りから動作がおかしくなってしまいました。 非表示のウィンドウまたは既に作った非表示のアルファレイヤー子ウィンドウに新規のアルファレイヤー子ウィンドウを貼り付けた場合、本来新規の子ウィンドウは見えないはずなのですが表示されてしまうというバグ(?)が発生しています。 一度、親とするウィンドウまたはアルファレイヤー子ウィンドウを表示状態のまま下層のレイヤーを作り、全て貼り付け終えた後に alalHide で[子レイヤー]を非表示にするという処置を行う必要があります。
#include "a2d+AlphaLayer.hsp" // 背景 picload dir_tv+"sozai4.jpg" // キャラ alCreateImageByFile 0, dir_tv+"tamane_y2.png" ; 画像を読み込み alalSetParent 0,,, 50,0 ; イメージID 0を描画先ウィンドウに貼り付け stop
alalSetParent | Artlet2D仮想イメージをアルファレイヤー子ウィンドウとして描画先ウィンドウに貼り付ける | (a2d+AlphaLayer) |
alalWindow | Artlet2D仮想イメージを用いてレイヤードウィンドウを作成 | (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_SetTransparent | alalWindowで作成したレイヤードウィンドウのクリック透過モードを変更 | (a2d+AlphaLayer) |
01.アルファレイヤーの追加.hsp | #include "../a2d+AlphaLayer.hsp" 背景 alCreateImageByFile.. |
02.アルファレイヤーの更新.hsp | #include "../a2d+AlphaLayer.hsp" キャラ素材ロード alCreateImage.. |
03.アルファレイヤーのクリック.hsp | #include "../a2d+AlphaLayer.hsp" alalCallback でアルファレイヤー.. |
07.timer_repeat/timer_easeの応用.hsp | #include "../a2d+AlphaLayer.hsp" #include "../mod_Timer.. |
10.GIFアニメ表示.hsp | #include "../a2d+AlphaLayer.hsp" #include "../mod_Timer.. |
11.1枚のPNGファイルでアニメーション.hsp | #include "../a2d+AlphaLayer.hsp" #include "../mod_Timer.. |
EX1.スライドインメニュー【timer_repeat内に別のtimer_repeatを記述】.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 |
URL | http://suwa.pupu.jp/ |
備考 | a2d+AlphaLayer.hspをインクルードすること。 対応OS:Windows 8 以降 |
タイプ | 拡張命令 |
グループ | 画面制御命令 |
対応環境 | ・Windows 版 HSP |