脱出ゲームでよくあるボタン入力式パスワード作り。
こんな奴。
正解を入力してまるボタンを押すと白いところ(ダイナミックテキストボックス)に
「OPEN」と表示され、不正解だとERRORと表示される。
バツボタンはリセット。
正解文字順はM→N→Z→K
まず正誤判定に使う変数宣言。
var ans:String="";
文字列を使うのでString。
answerのansに設定。
ansという入れ物を作ったと考える。
それぞれボタンを押したらダイナミックテキストボックス(インスタンス名:passW)に文字を表示して、
入れ物ansにこの文字が押されたよ!という情報を入れる。
「A」ボタン(インスタンス名:aB)の場合。
aB.addEventListener(MouseEvent.CLICK,cl_aB);
function cl_aB(evt:MouseEvent):void{
passW.appendText("A");
ans=ans+"A";
}
!注意点!
★テキスト表示について
一般にテキストボックスにスクリプトで文字入力する時は
passW.text="A"; が多いけどこの場合は使わない。
別のボタン押したら表示がまるっと入れ替わっちゃうから。
(「A」ボタン押して「A」を表示させても、次に「B」ボタンを押したら「A」の表示が消えて「B」だけになる)
passW.appendText("A"); を使うと続けて文字が入力できる。
他のボタンに対しても同じように記述。
バツボタンのスクリプト
noB.addEventListener(MouseEvent.CLICK,cl_noB);
function cl_noB(evt:MouseEvent):void{
passW.text="";
ans="";
}
全消しするので「””」の間には何も入れない。
テキストボックスはまるっと「何もない」状態に入れ替えるので
passW.text=""; の書き方をする。
まるボタンのスクリプト
yesB.addEventListener(MouseEvent.CLICK,cl_yesB);
function cl_yesB(evt:MouseEvent):void{
if(ans=="MNZK"){
passW.text="OPEN";
}else{
passW.text="ERROR";
}
}
もしansにMNZKという順番にボタンを押した!という情報が入っていたら
テキストボックスに「OPEN」と表示させる。
それ以外だったら「ERROR」と表示させる。
そんな感じ。
[0回]
PR