GameSalad入門『GameSaladでシューティングゲームを作ろう(1)』の続きです。
前回は自機を上下に動かすところまでやりました。上下に動くことは動くのですが、このままだと画面の外にまで動けてしまいます。それはそれで面白いゲームのアイデアが出そうなのですが、今回はオーソドックスなシューティングということで、画面の外には出れないような制約を付けてみましょう。
前回、上下に動かすために使ったRuleに条件を追加することで制約を付けることができます。前回のルールの「+」ボタン(赤丸の部分)を押すと、ルールが発動する条件を追加できます。
さて、Ruleに、When [All] conditions are valid: と書いてあります。この状態だと、全ての条件を満たしていないとルールが発動しません。[All]を[Any]に変えると、いずれかの条件で発動するようになります。今回はAllですね。
まず上に移動できる条件は、自機(Player)のY座標が画面の一番上の座標(今回はiPhoneの画面の大きさなので、320)を超えていないとき、となります。ただ、自機にはY方向への厚みがあるので、320ではなく310くらいにしておきましょうか(自機の大きさによります)。なのでこんな条件になります。
[Atrribute] [self.Position.Y] [<] [310]
このとき、[self.Position.Y] というのは自分で入力する必要はなく、入力欄の脇の[...]ボタンをクリックして、そこから選択することができます。先ほどの画面キャプチャの下半分で、[Player > Position > Y]を選択している状態が見れますので参考にしてください。
同じように、下に移動できる条件は、自機のY座標が0以上の時になりますが、これも自機の厚みを考えて、10以上という条件にしました。
これでPreviewすると、自機の移動が制限されるはずですのでお試しください。
このように、Ruleをどんどん変えることによって、複雑な動きを作っていくことができます。Ruleの発動条件、発動した時の動き、発動後の後処理を組み合わせてゲームを仕上げていくのがGameSaladの基本的な考え方です。
(追記)
横シューで上下にしか動けないというのもアレなので、同じように前後にも動けるようにしましょう。条件は画面のようにしました。また、RuleはOption+ドラッグで複製できます。名前の部分をクリックすると名称の変更もできます。結果、こんな風にしました。
スポンサーリンク
コメント
[…] GameSaladでシューティングゲームを作ろう(2)の続きです。自機を動かして、画面の外に出ないように制限をつけました。さて、シューティングと言えば弾を発射できなければいけませ […]