脱出ゲーム作成講座 番外編 ロック装置 3.5 その1

コメントでリクエストを頂いた
ロック装置の作成方法を書いてみます。
たぶんこの方式の作り方で合ってると思うんですが…。
違ったらまたコメント頂ければ。
長くなるので閉めます。

とりあえず練習としてボタンが少なくて済む
左右ボタンのロック装置の作り方を解説していきます。
あくまでウチはこうやってる…という方法なので
数あるやり方の一つとして参考にしていただければ…と思います。

その1では左右にボタンが一つずつと真中に決定ボタンがあり
決まった順序で左右ボタンを押した後に決定ボタンを押すと
ロックが解除される…という装置を作る所までやります。

サンプル2

まず使用する素材を用意します。
今回は簡単にテキストをボタンとして使用することにしました。
「左ボタン」「右ボタン」「決定」「正解!」を作成して
↓画像のような感じでイベントリストを組んでください。
ロックが解除されると[seikai]ラベルに飛ぶようにします。

サンプル1

1行目のスクリプトに入力記録を保存する変数を作ります。

lock="";

[lock]と名付けました。中身は空で作成します。
次にテキストをボタン化してそれぞれにスクリプトを書きます。

左ボタンのスクリプト
on(press){
  lock=lock+"l";
  trace(lock);
}

右ボタンのスクリプト
on(press){
  lock=lock+"r";
  trace(lock);
}

決定ボタンのスクリプト
on(press){
  if(lock=="lllr"){
    gotoAndPlay("seikai");
  }else{
    lock="";
  }
}

左右ボタンのスクリプトについて
押すたびに左ボタンなら「l」、右ボタンなら「r」の文字を
変数[lock]の最後尾に付け加えていきます。
文字は何でもOKです。
慣れるまではアルファベット1文字がわかりやすいと思います。

trace(lock);で変数[lock]を監視できるようにしています。
トレースウィンドウを表示させて動作を確認してください。

決定ボタンのスクリプトについて。
押すと[lock]の中身が「lllr」になっているかを判定します。
左ボタンだと[l]、右ボタンだと「r」が追加されていくので
このスクリプトだと「左、左、左、右、決定」と押せば正解となります。
「l」と「r」を用いて桁数や順序を自由に設定することができます。

正解の場合は[seikai]ラベルにジャンプします。
不正解の場合は[lock]の中をクリアします。

入力画面に来た時や離れた時などに
[lock]をクリアする処理を入れておくことで
「合ってるハズなのに!」という事態を防げると思います。

ここまででその1は終了です。
これが基本の仕組みとなります。
実際に作って設定をいじってみてください。
自由にボタンを増やせるようになれば完璧です。

大丈夫そうならその2へ!
スポンサーサイト

コメントの投稿

非公開コメント

androidアプリ