【アクツクMV】カメラスクロールの一時停止
目標
横スクロールゲーム中に中ボスとか出現した時に、スクロールを停止させたい
その後、目的を達成したらスクロールを再開したい
流れ
- カメラ追従用のオブジェクトを用意
- このオブジェクトをプレイヤー側で接続
- スクロールを停止したい場所に、判定用のタイルをシーンに配置
- 判定用のタイルに触れるとスイッチをFalseにして、プレイヤーの「オブジェクトの接続」を無効
- カメラ追従用のオブジェクトがシーンに残されることで、スクロールが停止
- ボスを倒したタイミングで、カメラ追従用のオブジェクトをプレイヤーに移動
- カメラ追従用のオブジェクトがプレイヤーに接触したタイミングでスイッチをTrueに戻し、プレイヤーの「オブジェクトの接続」を有効
- スクロール再開
プレイヤー
スイッチ管理
isCameraRemoveを追加。初期設定はON

オブジェクトの接続
後で作るplayer_cameraオブジェクトを接続
スイッチisCameraRemoveで有効/無効を制御
子オブジェクトにしない

カメラ追従用のオブジェクト
アニメーション
アニメーションは1つ、画像は不要、「壁判定」必要

↑このスクショでは挙動を確認したいので画像を設定していますが、最後に消す予定
判定用のタイル
なにかわかりやすいタイルを任意で用意
最後にタイルを配置したレイヤーは最背面設定にして見えなくするので何でも良い
タイルの設定は↓のような感じ

シーンに配置。
場所はイロイロ試しながら設定してみてね

【アクツクMV】10_ランダムに敵を複数地点から生成したい
方針
- ランダム値を共通変数に代入
- 変数によって、スポーンポイントを判定
ランダムの取得
ランダムを入れる変数用意
素材→変数で共通変数を用意
これであれば、どこからでもランダム値にアククセス可能になる

画像もモーションもない空のオブジェクトを用意
重力は無効にするのを忘れないように

random(0-4)アクション

ランダム値を共通変数に代入する
今回は0~4のランダムで

random(0-4) → wait
一定時間経過で遷移
この時間がスポーン間隔になる
あとあと変数にして可変できるようにするのも良さそう
waitアクション
wait → random(0-4)
とくに設定は無し
シーンに配置
画面の隅っこに配置
これでランダム値が発生する

スポーンポイントを作る
ここから、ランダム変数で判定して敵を生成する
敵生成時の敵の向きは、スポーンポイントの向きと同じにするよ想定
アニメーションを用意
左右の向きが欲しいだけなので、アニメ自体は1フレームで当たり判定等は無し

オブジェクトを用意
今回は右向きの用意。左向きはモーションの向きをleftにするだけ

flagを用意
毎回1体だけ生成したいのでflagを用意

stand_byアクション
特に設定なし。重力は無効にしておく
モーションの向きの設定が大事(他のアクションも同じにしておく)

stand_by → spawn
ランダム値とこのスポーンポイント番号が同じかどうか判定
今回は↓のように設定してみた
- 右向きスポーンポイント…1
- 左向きスポーンポイント…2
同時に、1回だけ処理flagがoffかどうか判定

詳細は


spawnアクション
敵を生成。生成時の向きはスポーンポイントと同じ向き
そして、1回だけ処理flagをonにする

詳細は


spawn → stand_by
wait → stand_by
一定時間経過で戻ります
waitアクション
これは、ランダム値がスポーンポイント番号と異なった場合の処理
敵生成はしないけど、処理を回すためflagを制御

詳細は

stand_by → wait
ランダム値とこのスポーンポイント番号が異なるかどうか判定
同時に、1回だけ処理flagがonかどうか判定
ということは…もしランダムで同じ数字が連続しても、敵は連続で生成されないのか…まっ、いっかw

詳細は


【アクツクMV】09_敵を作る
方針
playerが一定距離に接近したら前進して攻撃をする敵を作る
この内容ができれば、イロイロなパターンに展開できそうだから
敵を作る
アクションプログラム

wait
特に設定無し
重力は効くようにする
wait → MoveForward
playerが一定距離接近したら判定

詳細設定は

MoveForward
敵の向いている方向に移動
今回は前進あるのみ

MoveForward → shot
playerが一定距離接近したら判定
あってもなくても良さそう
shot
設定した弾を発射
この画像は、イロイロな攻撃をテスト中で、使用しない実行アクションは無効化している

詳細設定は

shot_wait
空のアクション
一定間隔で攻撃させたかったのでため、リンクを繋げるためだけに存在
この方法だけしか思いつかなかった
shot → shot_wait
shot_wait → shot
一定時間が経過を設定
ここの往復する時間 = 敵の攻撃間隔みたいな

アニメーション
弾を発射用の接続点を左右の向きに追加しとく

とりあえず、これで動くようになった
youtu.be
弾の設定に関しては、また今度
というか、敵の弾が敵に当たったり…なんかうまく動いてない…
【アクツクMV】08_タイトル画面作る
タイトル画面からゲーム画面へ遷移したい
タイトル用の新規シーンを用意

意外に生のテキストを表示するのがめんどくさい…
画像だけ表示もアニメーション用意しないと表示されない?
こまったなー
↓
もう、画像をタイルとして設定して、シーンに配置するのが良さそう
とりあえず、画像を用意

タイルにする

タイトル用のシーンにタイルで並べる
これで、仮の画面は良しとしよう

画面遷移
遷移タブで設定するっぽい
とりあえず、Titleをスタートシーンに設定する

Titleからscene001(ゲーム画面)への遷移はキー入力にしたいので↓のような設定にしとく

これで、遷移できるようになった
youtu.be
【アクツクMV】07_ダッシュの制御
今のままだとダッシュ発動の条件が少なすぎるので使いやすくしたい
よくある作り方の場合、イロイロとフラグなんか駆使したりするけど…うまくいかなかった…
playerのアクションプログラム改造
dashアクション
stand byからdashに遷移
基本的な設定は、前回からそのまま

追加要素は、その他の実行アクションでフラグの管理
isDashをonにしている

air_dashアクション
空中ダッシュ用のアクション
jumpからair_dash発動するように設定
air_dash後は、air_dash_fallで落下して、接地すればstabd byに遷移
空中ダッシュは、1回しか発動させたくないので、こんな感じの判定にしてみた
air_dashアクションの中身は、dashと同じ

air_dash_fallアクション
ただ、自由落下をさせたいだけなので、特に設定はない

stand_byアクション
isDashをoffにして、再びdashが発動できるようにしておく

とりあえず、想像通りに動いたー
youtu.be
攻撃のできるタイミングも増やさないとならないし、まだwalkからdashできないので、改造は続く…
【アクツクMV】06_ダッシュを作る
まずはダッシュ用の素材を追加

アニメーションに画像(素材)を追加
[player]右クリックから[アニメーションの設定]を開いて素材を追加

とりあえず、ショットを複製して画像を変更
なにか問題があったら、後で調整

playerにダッシュ関係のデータを追加
アクションプログラム
こんな感じの挙動をしたいので↓のように設定

ダッシュ挙動の設定
[その他の実行アクション]の[表示方向と同じ方へ移動]で実現できそう
とりあえず、こんな感じで設定してみた

まずは待機からダッシュ発動させたいので、空いているボタンをアサイン

とりあえず出来た
youtu.be
ただ、これをジャンプ中とかに発動しようとすると、どうも動作が不安定…
接地判定とか、ちゃんとしないかもかなぁ…
【アクツクMV】05_近接攻撃で壊せるオブジェクトを作る
やりたい事
射撃攻撃では破壊できず、近接攻撃だけで破壊できる障害物(バリケード)を用意したい
破壊できる障害物ということは、敵として作れば良さそう
イロイロとテスト
無敵のon/offでなんとかならないかと思ったけど、うまくいかない
イロイロとサンプルっぽいのを見てみると…攻撃属性を利用するらしい
攻撃属性を設定
オブジェクトの変数に攻撃属性を設定できるっぽい
↓の表なように攻撃属性を設定したい
| 攻撃属性 | |
| player_bullet | 10 |
| player_melee | 11 |
設定する場所は↓


バリケードのモーション
動かない敵って感じで用意
動かないのでシンプル構成。player_bulletの攻撃判定が無い状態

バリケードのオブジェクト
各設定は
基本設定
[ダメージを受けた時一定時間無敵にする]はちゃんと設定。でないと1回のヒットに対して複数回ヒットしてしまうらしい
[無敵中オブジェクトが点滅]は無効に。ここの設定は[攻撃属性]に設定した方を使用したいので
[他のオブジェクトから押し戻せない]を有効に。配置場所に固定したいので

アクションプログラム
ここもシンプルでいけそう

wait
モーションの設定と重力無視にするぐらい

melee
[オブジェクトを消滅する]だけ設定

リンク
[体力が0]で遷移するぐらい

被ダメージ設定の追加
追加方法
歯車アイコンから[攻撃判定に触れた時の被ダメージ設定]にチェックを入れて追加
そうすると、タブが追加される

bullet被ダメージ
今回はbulletではダメージを与えたくないので、[被ダメージ率の係数]をゼロにする
これで、ダメージが発生しなくなる
[属性値で指定]にplayer_bulletの属性値10を設定
ダメージが発生しないので[演出中オブジェクトが点滅]を無効

melee被ダメージ
meleeではダメージを与えたいので、[被ダメージ率の係数]を100%にする
これで、ダメージ発生
[属性値で指定]にplayer_meleeの属性値11を設定
ダメージが発生するので[演出中オブジェクトが点滅]を有効。設定した間隔で点滅するはず
このために、オブジェクトの大本の設定を無効にしていた

こんな感じになりました
youtu.be

















