空想曲線

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

吉里吉里/KAG:HIT&BLOW スクリプトサンプル  

2012-06-30[Sat]
cm5
tb0

説明するのがメンドくさくなったのでサンプルだけ配布して逃げる。

HIT&BLOWスクショ1 HIT&BLOWスクショ2


HIT&BLOWスクリプトサンプルをダウンロードする(662kb)


スクリプトについてはシナリオファイルを直接ご覧ください。
バグ等を発見された場合は、こっそり教えていただければ幸いです。

では!(´∀`*)ノシ


吉里吉里/KAG:じゃんけん作るよ! 番外編  

2012-06-29[Fri]
cm0
tb0

関数を作る練習の過程でなんかできたので、とりあえず置いていく(´・ω・)つ


ゲームの準備

[iscript]

/* じゃんけん判定用関数 */

function J (i,n,ans){

 i = tf.isono; // プレイヤーが出した手
 n = tf.nakajima; // 相手が出した手
 ans = ( i - n + 3) % 3; // 結果判定用の計算

 if(ans == 0){
  tf.result = 'DRAW';}

  else if(ans == 1){
   tf.result = 'YOU LOSE...';}

  else if(ans == 2){
   tf.result = 'YOU WIN !';}

  return tf.result;}


/* 変数の設定 */
tf.jun = []; // ぐーちーぱーの表示用
tf.jun = [' (`・ω・´)m ぐー',' (`・ω・´)v ちー',' (`・ω・´)w ぱー'];


/* プレイヤーと相手の名前 */
tf.player = ' イソノ';
tf.enemy = 'ナカジマ';


/* ベースレイヤ塗りつぶし */
kag.fore.base.fillRect(0,0,640,480,0x666699);

/* メッセージレイヤ0の枠の透明度を0に */
kag.fore.messages[0].FrameOpacity = 0;

[endscript]


ゲーム本体のスクリプト

*001
[delay speed=nowait]
[style align=center]
[locate y=150]

イソノ! じゃんけんしようぜ!(◯∀◯ )ノ[r][r]

;相手が出す手を決める
[eval exp="tf.nakajima = intrandom(0,2)"]

;プレイヤーが出す手を選ばせる
;ぐー
[link exp="tf.isono=0" target=*002][emb exp="tf.jun[0]"][endlink][r][r]
;ちょき
[link exp="tf.isono=1" target=*002][emb exp="tf.jun[1]"][endlink][r][r]
;ぱー
[link exp="tf.isono=2" target=*002][emb exp="tf.jun[2]"][endlink][r][s]

*002
[cm]
[style align=center]
[locate y=180]


;お互いが出した手を表示する
[emb exp="tf.player"]:[emb exp="tf.jun[tf.isono]"][r]
[emb exp="tf.enemy"]:[emb exp="tf.jun[tf.nakajima]"][r][r]


;関数を呼び出して、結果(tf.result)を表示する
[emb exp="J(tf.result)"]
[waitclick]
[cm]
[jump target=*001]
[s]

勝敗数や勝率を入れるのを忘れた。まぁいいか。
というか、ふたりとも野球しろ。じゃんけんは姉さんの役目だ。


※追記 

ans = (i - n + 3) % 3が分からんと言われたので解説。

グーなら0,チョキなら1、パーなら2。これが前提。
プレイヤーが出した手から相手の出した手を引き、そこへ3を足します。
で、その答を3で割った余りで勝ち負けの判定をしています。

【自分:ぐー、相手:ちー】ans = (0 - 1 + 3)%3 = 2
【自分:ちー、相手:ぐー】ans = (1 - 0 + 3)%3 = 1
【自分:ぱー、相手:ぱー】ans = (2 - 2 + 3)%3 = 0

というカンジです。

吉里吉里/KAG:ちょいネタ未満 その2  

2012-06-21[Thu]
cm0
tb0

今回は、記事にするにはちょっと短いネタをひとまとめにしました。
使えそうなものがあればコピペっていってください。



小数点以下の処理


小数点以下を切り上げ:Math.ceil
小数点以下を切り捨て:Math.floor
小数点以下を四捨五入:Math.round

f.ans = 0、f.hoge = 3としたとき
[eval exp="f.ans = f.hoge * 1.5"] → 答は4.5になる

[eval exp="f.ans = Math.ceil(f.hoge * 1.5)"] このとき、f.ans = 5 になる
[eval exp="f.ans = Math.floor(f.hoge * 1.5)"] このとき、f.ans = 4 になる
[eval exp="f.ans = Math.round(f.hoge * 1.5)"] このとき、f.ans = 5 になる

使い道は結構あるんじゃないかと思う。



ジャンプするラベルを変数で指定したい


エンティティの使いかたを覚えると、できることが格段に増えるよ。早めに習得しておこう。

[jump target="&('*' + f.hoge)"] ※f.hogeにはラベル名が入ります

linkタグでも同じように使えます。



効果音の一時停止と解除の仕方


実は効果音の一時停止タグは存在しません。あまり使う機会もないしね(´ε`;)

一時停止 [eval exp="kag.se[バッファ番号].paused = true"]
停止解除 [eval exp="kag.se[バッファ番号].paused = false"]


では、また次回(´∀`*)ノシ


現在のページ

Category

Link

Comment

Mailform

Author

Twitter