laybtn_ezbox,laybtn_ezfrmの角丸長方形をサイズ指定で塗りつぶしまたはボーダー描画
laybtn_boxfb p1,p2,p3,p4,r,th
(プラグイン / モジュール : mod_layerbutton)
laybtn_ezbox, laybtn_ezfrm ではボタンサイズに合わせた角丸長方形を描画できますが、この命令を利用することで任意の矩形サイズを指定して塗りつぶしまたはボーダー描画が行えます。 引数 r で角の丸みサイズを指定します。 -1 を指定すると laybtn_ezbox, laybtn_ezfrm と同じ自動計算されたRサイズが使用されます。 0 または省略時は、角丸なしの矩形を描画します。 引数 th に枠線の太さを指定します。 0 または省略時は、塗りつぶし描画になります。 gsquare を用いた半透明塗りつぶしを利用しています。 color 命令で描画色を指定し、gmode 命令で半透明合成のブレンド率を指定できます。
#include "mod_layerbutton.hsp"
// 4つのボタンを作成
pos 30,20
repeat 4
pos ,ginfo_cy+20 ; ボタンの位置を調整
layerbutton 140,50, cnt,0 {
if lparam == objlayer_cmddraw {
// ボタンの描画
color 255,255,255 : font msgothic, 18, 1 ; laybtn_ezboxのテキスト設定
laybtn_ezbox $AA9999FF, $AA0000FF, $AA3333AA, "ボックス0"+(objlayer_option+1)
// ボタンの無効表示
laybtn_enable 0, -1 ; ボタンの有効無効を確認
if stat == 0 {
if objlayer_option == 3 {
// グループ全体を覆うように黒半透明を被せる
gmode 3,,,100 : color 0,0,0
laybtn_boxfb objgroup_axis_x-10, objgroup_axis_y-10, objgroup_axis_x2+10, objgroup_axis_y2+10
}
}
}
return
}
loop
pos 250, 50 : button gosub "有効/無効",*bt ; 有効無効の切り替えボタン
// 表示ループ
repeat
redraw 0 :color 240,240,240 : boxf
redraw 1
await 16
loop
*bt
if laybtn_length(0) == 0 : return
laybtn_enable 0, ena
ena = 1 - ena
return
| layerbutton | ちょっとリッチなアニメーション付きボタンを作成 | (mod_layerbutton) |
| laybtn_settings | layerbuttonオブジェクトの動作を設定する | (mod_layerbutton) |
| laybtn_mes | layerbuttonサブルーチン内用テキスト表示 | (mod_layerbutton) |
| laybtn_ease | layerbuttonサブルーチン内用イージング値の取得 | (mod_layerbutton) |
| laybtn_hide | layerbuttonの指定グループを非表示(SHOW_OUT)処理にして削除する | (mod_layerbutton) |
| laybtn_length | layerbutton指定グループ内のオブジェクト数を取得 | (mod_layerbutton) |
| laybtn_enable | layerbuttonの指定グループのオブジェクトに有効・無効の設定をする | (mod_layerbutton) |
| laybtn_width | layerbuttonオブジェクトのサイズや位置を変更する | (mod_layerbutton) |
| laybtn_focus | layerbuttonの指定グループ内の指定オブジェクトにフォーカスを移動させる | (mod_layerbutton) |
| laybtn_stick | layerbuttonサブルーチン内用キー入力情報取得 | (mod_layerbutton) |
| laybtn_ezcel | layerbuttonのcelputを利用した簡単描画 | (mod_layerbutton) |
| laybtn_ezbox | layerbuttonの角丸長方形塗りつぶしによる簡単描画 | (mod_layerbutton) |
| laybtn_ezfrm | layerbuttonの角丸長方形枠線による簡単描画 | (mod_layerbutton) |
| laybtn_hitarea | layerbuttonオブジェクトのタッチ範囲を変更して設定する | (mod_layerbutton) |
| layerbtn_stat | layerbuttonのボタン状態が代入される | (mod_layerbutton) |
| layerbtn_cnt | layerbuttonのボタン状態が変更されてからの経過フレーム数 | (mod_layerbutton) |
| 01 demo.hsp | title "layerbutton demo" log = "" HSP3Dish.js用フォルダ設定 in.. |
| 02 demo-stateflow.hsp | title "layerbutton stateflow" log = "" fps2 = 0 HSP3Dis.. |
| 05 sample_laybtn_ease.hsp | #include "mod_layerbutton.hsp" ボタン作成 pos 10,100 repeat .. |
| 07 sample_vpad-jujikey.hsp | #include "hsp3dish.as" #include "mod_layerbutton.hsp" #.. |
| 09 sample_vpad-analog.hsp | #include "hsp3dish.as" #include "mod_layerbutton.hsp" #.. |
| 15 sample_RPG.hsp | title "RPGサンプル" -- 必要モジュール読み込み -- #include "mod_layerbu.. |
| プラグイン / モジュール | mod_layerbutton |
| バージョン | 1.3 |
| 作成日 | 2026/1/7 |
| 著作者 | MIZUSHIKI |
| URL | https://suwa.pupu.jp/HSP/index.html |
| 備考 | layerobj命令を利用して、ちょっとリッチなアニメーション付きボタンを比較的簡単に作成することができます。 |
| タイプ | 拡張命令 |
| グループ | 画面制御命令 |
| 対応環境 | ・Windows 版 HSP |