空想曲線

吉里吉里2/KAG3でのゲーム制作に使える小ネタ置き場。ゲーム用素材も置いてます。

吉里吉里/KAG:変則じゃんけんを作ってみる 第2回  

2012-02-16
2017-06-16
cm0
tb0

前回の記事はこちらから。
今回は、使用する変数とマクロの説明っぽい何か。

では、れっつごーε≡≡ヘ( ´Д`)ノ< きゃっほほ~い


1.変数の設定

*anp10
[ iscript ]

// ゲーム開始時のあんぱん所持数はそれぞれ5コです
// 自分のあんぱん個数。初期値5

f.psto=5;
// 相手のあんぱん個数。初期値5
f.esto=5;

// 自分の選んだカード
f.pcho=0;
// 相手の選んだカード
f.echo=0;

// 自分のカード画像の clipleft を格納した配列
f.pcard=[0,100,200];
// 相手のカード画像の clipleft を格納した配列
f.ecard=[0,100,200];

// 自分の所持あんぱん画像の clipwidth を格納した配列
f.pstoImg=[0,45,90,135,180,225,270,315,360,405,450];
// 相手の所持あんぱん画像の clipwidth を格納した配列
f.estoImg=[0,45,90,135,180,225,270,315,360,405,450];

// 結果表示用のメッセージを格納した配列
f.pnum=['2コへった','1コへった','変動なし','1コふえた','2コふえた'];

// 自分のあんぱん増減数
f.plck=0;
// 相手のあんぱん増減数
f.enck=0;

[ endscript ]
[ return ]

ゲーム前に、このラベルをサブルーチンコールしています。
最後に return がついているのはそのためです。

「clipや配列って何さ?」って人はリファレンスを読もうぜъ(゚Д゚)



2.マクロを作る

★自分の所持あんぱんを表示するマクロ

[ macro name="an_siro" ]
; カードの表示幅と所持個数を合わせています
[ image storage="tubuan" layer=0 top=305 left=20 cliptop=0
clipleft=0 clipheight=45 clipwidth="&f.pstoImg[f.psto]" visible=true ]
[ endmacro ]

あんぱんの所持数と clipwidth の関係は以下の通り。

an_008.jpg


次に、相手のあんぱんも同じように表示します。



★相手の所持あんぱんを表示するマクロ

[ macro name="an_kuro" ]
; カードの表示幅と所持個数を合わせています
[ image storage="tubuan" layer=1 top=10 left=20 cliptop=0
clipleft=0 clipheight=45 clipwidth="&f.estoImg[f.esto]" visible=true ]
[ endmacro ]



★カード画像を消去するマクロ(transの代わりにmove使用)

[ macro name="carderase" ]
; 座標はそのままでopacityだけを変え、transの代わりにしてます
[ move layer=2 path="(300,120,255)(300,120,0)" time=200 ]
[ move layer=3 path="( 80,120,255)( 80,120,0)" time=200 ]
[ wm ]
[ wm ]
[ freeimage layer=2 ]
[ freeimage layer=3 ]
[ endmacro ]



★でっかいネコ画像を表示するマクロ

[ macro name="neko" ]
[ image storage=%sto top=120 left=0 layer=4 visible=true opacity=0 ]
[ move layer=4 path="(0,120,0)(0,0,255)" time=300 ]
[ wm ]
[ endmacro ]



★汎用カットイン表示・消去マクロ

[ macro name="cutin" ]
[ image storage=%sto layer=5 visible=true opacity=0 ]

; transの代わりにmoveを使用
[ move layer=5 path="(0,0,0)(0,0,255)" time=200 ]
[ wm ]
[ wait time=500 ]
[ move layer=5 path="(0,0,255)(0,0,0)" time=200 ]
[ wm ]
[ freeimage layer=5 ]
[ endmacro ]



★結果表示テキストマクロ

[ macro name="txt_result" ]
; メッセージレイヤ1の設定
[ position layer=message1 top=0 left=0 height=360 width=480
marginb=0 marginl=0 marginr=0 margint=0 visible=true ]

;カレントをメッセージレイヤ1に
[ current layer=message1 ]
; テキストの位置指定
[ locate x=15 y=180 ]
[ nowait ]
[ font size=18 color=0xFFC744 ]
[ ch text="PLAYER:" ]
[ font color=0xFFFFFF ]

; 自分のあんぱん増減数を表示します
[ ch text="&mp.player" ]
[ font color=0x02FFFF ]
[ ch text="ENEMY:" ]
[ font color=0xFFFFFF ]

; 相手のあんぱん増減数を表示します
[ ch text="&mp.enemy" ]
[ resetfont ]
[ endnowait ]
[ endmacro ]



★結果表示カットインマクロ

[ macro name="cut_result" ]
[ image storage=result layer=6 visible=true opacity=0 ]

; transの代わりにうんぬん
[ move layer=6 path="(0,0,0)(0,0,255)" time=200 ]
[ wm ]
[ wait time=350 ]


; マクロ「txt_result」の中身を渡します
[ txt_result * ]
; クリック待ち
[ waitclick ]
; transの代わり
[ move layer=6 path="(0,0,255)(0,0,0)" time=200 ]
; メッセージレイヤ1をクリア
[ er ]
[ wm ]
[ freeimage layer=6 ]
[ endmacro ]



★カード選択用マクロ

[ macro name="selbtn" ]
; タグの直後に「*」をつけておくと、後から属性を追加できます
[ button * recthit=true storage=%sto target=%tarl graphic=%gra ]
[ endmacro ]


今回はここまでー。次回からゲーム本編に入ります。


関連記事

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://kopacurve.blog33.fc2.com/tb.php/197-e1bba654
この記事にトラックバックする(FC2ブログユーザー)

Author

Recent

Category

Link

Comment

Mailform

Twitter