このページは
- プレイヤーの4方向移動を1から作ってみるの続きのページです。
既にある前のページの同じような操作はこのページではかなり省略しています。
前回までのサンプル
↓↓↓ 現在編集中につき未完成 ↓↓↓ 2014/8/16
1、さまざまな方向入力に対応させる。(続き)
上キーと左キーに絞って入力と動作を見ていくと、
上を押したまま(画像①)左を押すと左に動きますが、(画像②)
上を押したまま左を放した時は止まってしまいます。(画像③)
画像①②③は連続操作
今度はこの時に止まらず、上に移動させる動作を作ります。
なぜ停止してしまうのかは、
1つのキーを入力すると他のキーのフラグが全てOFFになるイベントを組んだ為です。
上を押してそのまま左を押した時点で上フラグがOFFになっています。
2、やりたい事と必要な条件を考えていきます。
上キーが押されている + 左キーを放した時 に 上フラグをONにしたい
画像の②と③の間に新しい条件を実行させ、③の時に上フラグをONにする。
実際にイベントで組もうとするとどうなるかイメージします。
条件の数と実行内容を把握します。
1) 左移動中(最後に押されたキーが左の時)の状態を判断する (条件)
2) 左キーが放された状態を判断する (条件)
3) 上キーが押されている状態を判断する (条件)
4) その状態が揃った時に上移動を実行する(実行内容)
3、1)の準備をします。
変数を用意して、どの方向キーが最後に押されていたかを変数に記憶させておきます。
プレイヤーに新しく変数を作ります。
名前は[方向ボタンを記憶]とします。
ここで、作成した変数[方向ボタンを記憶]の中身がいくつの時、この状態である
というルール付けを自分で決めていきます。
今回は変数[方向ボタンを記憶]の中身が
0 の時 方向キーが何も押されていない
1 の時 最後に押したキーが上である
2 の時 最後に押したキーが下である
3 の時 最後に押したキーが左である
4 の時 最後に押したキーが右である
と勝手に決めてしまいます。自分で自由に決める事ができます。
イベント上では、
プレイヤーの変数[方向ボタン記憶]が 1 の時 → 何か実行させる
と番号のみの条件になります。
あれ?1の時ってなんだったっけ?上?下?左?と混乱する事によくなるので、
自分流のルールが決まったらメモしておき、再度イベントを見たときに混乱するのを防ぎましょう。
4、方向キーが押された時に変数[方向ボタン記憶]の中身が変わる、というイベントを組んでいきます。
6行目(方向上を押す)とプレイヤーが交差するマスを右クリックして実行内容を作ります。
5、表示されたメニューから 変数 ⇒ 変更 をクリックします。
6、数式エディタの値を選択にて、変数[方向ボタンを記憶]を選びます。
7、数式を入力に 1 を入力しOKで決定します。
このようになります。
8、同じ操作で、条件:方向左を押す の行も作ります。
プレイヤーの変数[方向ボタンを記憶]が3になるように組んでみましょう。
方向左を押した時の行がこのようになるはずです。
上、左キーを押した時に変数[方向ボタンを記憶]に、自分で決めたルールの数字が入るようになりました。
キーを押した時に1度だけ実行されます。
1)の準備が整いました。
9、次は、イベントグループを作成します。「移動 右」の下に作成しましょう。
行番号を右クリックし、 挿入 ⇒ イベントグループ をクリックします。
イベントグループの名前は「キー入力と動作の補正(2キー同時押し中、片方放し)」とします。
このようになります。
10、コメントを作ります。
今作成したイベントグループの中の新しい条件の行番号を右クリックし、
挿入 ⇒ コメント をクリックします。
コメントに変数の中身に対する動作をメモしておくと便利です。
背景色や文字の色も変えられるので、自分なりに見やすく工夫できます。
このようになります。
11、コメントの下の新しい条件の行に、イベントグループを作成します。
行番号を右クリックしてイベントグループを作成しましょう。
名前は「方向キー放す 組み合わせ 上 左」とします。
このようになります。
12、今作成したイベントグループの中に更にイベントグループを作成します。
名前は「左移動中 上左押し 左放す 上移動させる」とします。
このようになります。
13、次は1)~4)までの内容を盛り込んでいきます。
まずは 1) 左移動中(最後に押されたキーが左の時)の状態を判断する(条件)を作成します。
29行目の新しい条件をクリックします。
14、新規条件から プレイヤーをクリックします。
表示されたメニューから 変数 ⇒ 変数の1つと比較 をクリックします。
15、数式エディタの値を選択にて、変数[方向ボタンを記憶]を選びます。
16、比較方法を選択が 等しい になっている事を確認して、
入力欄に 3 を入力しOKで決定します。
これで[方向ボタンを記憶]が3の時 という条件が出来ました。
このようになります。
最後に押されていた方向キーが左キーだった場合 という条件です。
1) 左移動中(最後に押されたキーが左の時)の状態を判断する (条件) が完成しました。
17、今度は左キーが放された時の条件も追加します。
2) 左キーが放された状態を判断する (条件) です。
内部フラグで判断させます。
先ほどの条件を右クリックし、表示されたメニューから挿入をクリックします。
18、新規条件から、方向制御をクリックし、表示されたメニューから
変数 ⇒ フラグ ⇒ フラグが無効 をクリックします。
19、数式エディタが表示されるので、方向制御をクリックし、表示されたメニューから
値 ⇒ 値AからM ⇒ 左 を読み出し をクリックし、OKを押します。
このようになります。
20、同じ行に更に条件を追加します。
今度はその時に上キーがまだ押され続けているか とういう条件です。
3) 上キーが押されている状態を判断する (条件) を作成します。
先ほどの条件を右クリックし、表示されたメニューから挿入をクリックします。
21、新規条件から、ジョイスティックをクリックし、表示されたメニューから
ジョイスティック ⇒ ボタンや方向キーを押している間繰り返す をクリックします。
ジョイスティックアクションは上に設定します。
このようになります。
22、実行内容を作成します。
4) その状態が揃った時に上移動を実行する(実行内容) を作成していきます。
29行目の条件とプレイヤーが交差するマスで右クリックし、表示されたメニューから
変数 ⇒ 変更 をクリックします。
23、値を選択から、[方向ボタンを記憶]を選び、数式入力の欄に1を入力し、OKを押します。
24、次に今作成した実行内容の右隣のマス(方向制御)を右クリックし、表示されたメニューから
フラグ ⇒ 有効に設定 をクリックします。
25、数式エディタが表示されるので、方向制御をクリックし、表示されたメニューから
値 ⇒ 値AからM ⇒ 上 を読み出し をクリックします。
26、アプリケーションを実行して動作を確認します。
上を押しながら左をポン、ポンと押すと止まらずに上移動してくれるはずです。
後は同様に他の組み合わせも作るのですが、あと11個同じようなイベントが必要です。
黄色ので塗られた所が今回作成した部分です。
イベントフォルダも後16個必要になります。
慣れていないととても大変だと思いますので、サンプルを用意しました。
今回作成したイベント(上の画像の黄色の部分)の内容です。
続きはまた今度!