■Step01 ~とにかく実装編~
ソース.
まずは後先考えずに直感的に動きそうな感じに実装.
登場するのは
プレーヤー _root.mario_mc コントローラー _root.buttonA_mc([controller]グラフィックシンボル内) ジャンプカウンター _root.count_txt
スクリプトは
[_root.buttonA_mc]
/**
* 押された際にキャラクターをジャンプさせる.
*/
this.onPress = function() {
// キャラクターがノーマルの場合のみ処理する
if (_root.mario_mc.status == 'normal') {
// キャラクターをジャンプさせる
_root.mario_mc.gotoAndPlay('jump');
// ジャンプの回数を増やす
_root.count_txt.text = Number(_root.count_txt.text) + 1;
// キャラクターの状態を変更する.
_root.mario_mc.status = 'jump';
}
};
// ボタンの状態のデフォルト状態に飛ばす
this.gotoAndPlay('_up');
ボタンはボタンシンボルではなくムービークリップシンボルです.
ボタンシンボルはちょっと特別な存在になっているのでMXあたりから使えるMovieClipのボタン機能を使用.んで,その初期化フレームで上記スクリプトを記述.
プレーヤーがジャンプ中にジャンプを再度できないように
[_root.mario_mc]にはstatusという変数を使って
値をnormal/jumpと切り替えている.
他は見てのとおりコントローラからプレーヤーのフレームを飛ばして
カウンターの値を1つ増やしている.
確認してみると仕様どおり実装がされていてなんら問題はない.
一番初めにスクリプトを書くとこれに近い感じになる人が多いかなと思う.
ただ,これだとどこに何が書かれているのかが分かりづらい.
それを回避するためによくOOPの説明で書かれている
「自分のことは自分でやる」を考えて修正してみよう.
リスト
■Step00 ~序章~
■Step01 ~とにかく実装編~ (ソース)
■Step02 ~自分のことは自分で編~ (ソース)
■Step03 ~クラス定義とObject.registerClass()~ (ソース)
■Step04 ~MVCを意識して~ (ソース)
■Step05 ~Mediatorパターンを取り入れる~ (ソース)
■Step06 ~AS2.0に書き換える~ (ソース)
trackback for this entry URL:
http://blog.graffiti-web.org/mt/mt-tb.cgi/320