パスワードを忘れた? アカウント作成
14952092 journal
日記

yumeの日記: Unity制作 メデューサ・ゲーム #19 1

日記 by yume

●カメラ続き
カメラががたつく問題は、調べたところいろんなところで記事になっている。大雑把にまとめると、UpdateとFixedUpdateをごちゃまぜで使っていることが原因になるようだ。
たしかにちょっとごちゃまぜ気味であったので、この辺りを整頓しておく。

カメラがプレイヤー追従になった結果、一画面パズルが画面全体に収まらなくなってしまい都合が悪い。
BackGroundで定義した領域より外を写さないように調整する。これはCinemachine Confinerで領域をポリゴンで指定すればよい。

こんな感じ。

--

●サングラス兵士
目が見えない代わりに石化しない兵士。
この兵士は決まった道をパトロールする(大抵は単純な往復移動になる)。
通常の兵士と違ってミスティを狙って追いかけたりはしない。
サングラス兵士は、周囲にある人型のもの(ミスティ、兵士、太った兵士、サングラス兵士など)を捕獲する。
ミスティ以外を捕獲すると、その対象ごと無害になる。
この兵士のチュートリアル、Stage5-1を実装。

--

●シャイ兵士
目が合うとすぐに顔を覆い隠す、恥ずかしがりやな兵士
石化はしないが、邪眼を向けられている状態では、目を隠して立ち止まり無害になる。
邪眼から外れるとまた進み始める。
この兵士のチュートリアル、Stage4-1を実装。

ふたつの兵士はこんな感じで動作する。

--

●各兵士の処理の振り分け
キャラの種別ごとにboolを作っていたが、enumで管理するように直す。
enumでキャラクターごとに決まった定数CharaModeを与える。兵士はSoldier、太った兵士はFatSoldier、猫はCatという具合。
CharaModeに応じてswitchで処理を分ける。邪眼に見られた場合、兵士・太った兵士・猫は徐々に石化するが、シャイ兵士は目を瞑り、サングラス兵士は影響を受けない。

--

現在のステージ総数:10

  • by Anonymous Coward on 2020年10月12日 11時09分 (#3904964)

    「見られている」というメソッドを各キャラクターの型に作成して呼び出すのがオブジェクト指向的。
    switchで処理を分けると、キャラクターを増やしたときに処理漏れの発生する可能性が高くなる。
    仮想メソッドなら実装を強制すれば良いし修正箇所が近いから漏れも少なくなるしサングラス兵士やシャイ兵士といった特殊キャラも作りやすくなる。

    ここに返信
typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...