第4回 ステートパターン初級〜中級編【UnityC# で学ぶデザインパターン】

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ม.ค. 2025

ความคิดเห็น • 8

  • @さあ-t4z
    @さあ-t4z ปีที่แล้ว +1

    わかりやすくて本当に助かりました

  • @sagat64
    @sagat64 2 ปีที่แล้ว +3

    「なぜ、ステートパターンを使わないとだめなのか」を
    丁寧に解説していただいているところがほんとに素敵です
    自分は enum での分岐をちょいちょいつかっていたくらいなので
    モダンな書き方の勉強になりました ありがとうございます!

  • @yusuke_8888
    @yusuke_8888 2 หลายเดือนก่อน +1

    ありがとうございます^^

  • @amagamina
    @amagamina  4 ปีที่แล้ว +11

    続きを作るのに時間かかりそうなので参考リンクを貼っておきます。ちょっと難しいかもしれませんが、今回の動画とジェネリック等の知識があれば大丈夫だと思います
    こちらのImtStateMachineが内容としては近いです。今回のコード例の時点では「有限オートマトンではない(自由に遷移できる)」というのがバグの元になる最大の問題点で、それを"遷移テーブル"の構築をすることで回避できます
    qiita.com/BelColo/items/a94c9ccc2d5174dc29a3

  • @monotone5402
    @monotone5402 3 ปีที่แล้ว +1

    非常にためになる動画をありがとうございます。
    質問なのですが、partialでPlayerクラスを分けていますが、全部統合させて書こうとした際、MonoBehaviorを継承したPlayerクラスのなかで new を使ったインスタンス化をすることになりますが、これは大丈夫なのでしょうか?

    • @amagamina
      @amagamina  3 ปีที่แล้ว +4

      ご視聴ありがとうございます!おそらくnewに対する誤解があるのではないでしょうか
      × MonoBehaviourを継承したクラスの"なかで"newを使ってはいけない
      ○ MonoBehaviourを継承したクラス"を"newしてはいけない
      void Start()
      {
      // PlayerはMonoBehaviourを継承しているのでnewしてはいけない
      Player player = new Player(); // これはエラー
      // AddComponentを使う
      Player player = gameObject.AddComponent();
      // State系のクラスはMonoBehaviourを継承していないのでnew可能
      StateStanding stateStanding = new StateStanding();
      }

    • @monotone5402
      @monotone5402 3 ปีที่แล้ว +2

      @@amagamina
      PlayerStateBaseクラスはMonoBehaviourを継承していないからnewとしていいんですね。
      ご指摘通りの誤解をしていました、ありがとうございます!
      まだまだ天神いなさんの動画で勉強させていただきます!

  • @plusrough5383
    @plusrough5383 4 ปีที่แล้ว +2

    いつも素晴らしい講座をありがとうございます。
    デザインパターン、学んでは忘れ学んでは忘れ・・を繰り返していてなかなか血肉とならないのが長年の悩みです😭
    反復して身につくまで書かないと、とは分かっているものの、プログラミングから離れる期間があると、あれ?なんだっけ・・・となってしまいます。
    (すみません、ただの愚痴です)
    これからの動画も期待しています!