旧SEによる日曜プログラミング日記

趣味は作曲、自分で一から作りたがりのユーザIT子会社の旧SE(かつてはプログラマー)によるリハビリのための日曜プログラミング日記です。

Phaser3+typescriptでSRPGを開発してみる #012 ユニットの移動(2)

前回はTweenを利用してユニット(sprite)を動かすことをやりましたが、今回は、ユニットを選択して移動できる範囲(可動領域と呼称しましょうか)を出すところをやってみたいと思います。

ユニットの移動(2)

  • ユニットの移動(2)
    • 可動領域の出し方
    • 可動領域の洗い出し
      • ユニットタイプごとの最大移動力の定義
      • ユニットタイプごとの地形による移動力の定義
      • 移動可能なセルの洗い出し
      • 【ご参考】移動可能なセル洗い出しの汎用アルゴリズム
    • まとめ
    • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #011 ユニットの移動(1)

今回は、ユニットを動かしてみます。カーソルでユニットを選択して動ける場所を表示し、実際に動かす、といったことと、敵ユニットの場合は勝手に動いてもらう、とやらなければいけないことが山積してます。

ということで何回かに分けて進めたいと思います。

ユニットの移動(1)

  • ユニットの移動(1)
    • #009の反省
    • Tweenの利用
      • ポイント
    • まとめ
      • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #010 各メソッドのコールと状態遷移

今回は、ちょいとブレイクタイムして、今まで調査してきたものを踏まえて、Phaser3のSceneクラスの振る舞いと状態遷移を整理したいと思います。(ネタの調査・試行が追いつかなくなってきたのが、バレますね。。)

あまりにデバッグがやりづらかったので、デバッグモードも作ってみましたので、ご紹介させていただきます。

各メソッドのコールと状態遷移

  • 各メソッドのコールと状態遷移
    • 各メソッドのコール
    • updateの実装パターン
    • 【応用】デバッグモード
    • まとめ
      • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #009 カーソルの移動

今日は、SRPGだとお馴染みのカーソルの移動です。RPGでも使えますが、RPGは常に主人公を動かすと思います。SRPGの場合はカーソル動かして、動かしたいユニットを選ぶUIが多いように思います。

カーソルの移動

  • カーソルの移動
    • キーボード入力方法
      • (1) 上下左右
      • (2) それ以外
    • カーソルの宣言
    • まとめ
      • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #008 データモデル(ユニット編)

今日はユニットのデータモデル設計を進めようかと思います。

ユニットのデータモデル設計

  • ユニットのデータモデル設計
    • SRPGで必要な要素
    • typescriptでの実装
    • まとめ
      • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #007 ファイルの中身のキャッシュ

今日はファイルのキャッシュということで、こちらもPhaser3だと簡単に実現できますが、それを使いやすい形でtypescriptで実現するには、多少工夫が必要になるかと思います。

ファイルの中身のキャッシュ

  • ファイルの中身のキャッシュ
    • 本日のプログラムソース構成
    • キャッシュの必要性
    • Phaser3におけるキャッシュ
    • 一般的なJSONの場合
    • Singleton(シングルトン)パターン
    • SRPGに使うと
      • 今回のポイント
    • まとめ
      • 過去の日記
続きを読む

Phaser3+typescriptでSRPGを開発してみる #006 JSONファイルの読込

本日はJSONの読み込みです。

Phaser3でのJSONファイルの読み込み方は簡単なのですが、それをtypescriptとしてどう扱うとバグが少ないコーディングができるのか、というところをお伝えしたいです。

これから暫くはメインはtypescriptです。

と言いながら、書いているうちにPhaser3におけるテキスト・画像の表示も書きたくなってしまいました。今度適当に分割するかもです。

JSONファイルの読込

  • JSONファイルの読込
    • 本日のファイル構成
    • Phaser3での読み込み方
      • 余談ですが
    • typescriptでのJSONの読み込み方
    • インターフェース(interface)とは
      • JSONをinterfaceを使って読み込む
      • preload()メソッドの動き(非同期?)
    • まとめ
      • 過去の日記
続きを読む