このページは、2005年8月後半から2010年12月までのアーカイブです。
2005年8月後半から2010年12月までのアーカイブトップへ
現在のトップページへ

ゲームの進行具合1

Nagi
   2006.01.10 20:30

ここ3日ばかりゲームのスクリプトばかり考えていました。
まず、キャラクターを斜めに動かしたとき、移動速度が他のときより早くなる問題が持ち上がる。これは

if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN)) {
this._x += speed / Math.SQRT2;
this._y += speed / Math.SQRT2;
}

という形で解決。

キャラクターの名前を覚えさせたいなあと思いだし、SharedObjectの使い方を研究。
ついでにパスワードもつけて、入力が正しく行われているかの判定方法を考える。

function checkPW() {
//入力が正しかったとき
if ((pass_txt.length > 0) && (pass_txt.length <= 10)) {
//名前とパスワードでセーブするディレクトリ名を決める
savedata = SharedObject.getLocal(namebox + pass_txt);
savedata.flush();
//ゲーム開始画面へ移動
this.gotoAndPlay("game");
} else if(pass_txt.length > 10){
//文字数オーバー
messages = "パスワードは10文字以内です";
} else {
//空欄だったとき
messages = "パスワードがありません";
}
}

んで、データの呼び出しなんですが、名前とパスワードがあってる場合は問題ないんですが、間違っている判定をつけようとすると・・・。

savedata = SharedObject.getLocal(savename + savepass);
loaddata = savedata.getSize();

//名前とパスワードのチェック
function checkNAMEPW() {
//入力が正しかったとき(データがあるかどうか)
if (loaddata > 0) {
messages = "OK!";
} else {
//入力が正しくないとき
messages = "データがありません";
}
}

savedata = SharedObject.getLocal(savename + savepass);を使うと、
書き込みされなくてもデータとして存在してしまうらしく、間違ったパスワードをいれてもデータがあると判定されちゃうんです~;;
あ~、もう思いつかない~。