戦うぞ!64xその40(アイテム・所持品の実装その2)





アイテムをマップに置けるようにした
処理はごり押しでやや非効率ではある。
ニコニコのローグ好き兄ちゃんの助言通り影も実装している。
アイコン画像を黒塗りにして半透明にして影にしている。そこまで重くない。

アイテムデータにアイコン属性追加
ドロップ時や一覧時に使用する。

アイコンデータ追加
32x32のアイコンデータ追加。
64x64だとマップに配置した際、隣接マスに表示が上書きされやすかったので小さめの32x32にしている。

移動をジグザグ優先に
ジグザグしながら対象に近づくようになった。
真っ直ぐな経路が最短の場合は真っ直ぐ。
予測経路が正しく働くようになった。仕組みはシンプル。詳しくは前回記事に。



やる事

・主人公に対しての行動予約
現在、移動目標は座標でのみ保持している。
そのためNPCなどに対してターゲットする事は出来ない。NPCが移動してしまうと追従せず話しかけられない。
そこで主人公のみ

「対象タイプ」
「対象番号」
「行動番号」

の三つの要素を持ち対処する事。
「対象タイプ」は座標なのかキャラ番号なのかイベントオブジェクト番号なのかの振り分け。
「対象番号」は上の対象の番号。キャラクターならキャラ番号。
「行動番号」は到着時に行う行動。この要素は不要かも。

主人公のターンになった際、対象タイプ・対象番号に合わせて従来のターゲット(座標)変数に目標を代入する事で追尾が可能になるはず。



自分への細かいバグ報告や注意喚起

・扉・宝箱の設定は移動不可のみになっているので遠隔攻撃が通る。
・影のレイヤーがキャラクターやオブジェクトイベントより後になっている
・NPCやイベントへの衝突判定で高低差の判定がされていない
・マップの反転表示でオブジェクトが反転されていない
・タイトル画面で×を押すと正常に終了できない
・オブジェクトイベントの削除が正常に行われていない(要検証)
・オブジェクトイベント。観音開き的な配置を行うと、表示レイヤー的に主人公が扉で隠れるor扉が主人公で隠れる。表示レイヤーがもう一枚欲しいが・・・中々むずかしいねんな。

・経験値加算と能力値上昇は仮実装。
・ダメージを受けると受けた側、与えた側に経験値が固定で入るから範囲攻撃だとめっちゃ稼げる・・・はず。
・オブジェクトをエディタかっら配置・撤去したときに移動判定が反映されていない

・TurnActivityで処理中のキャラを構造体ポインタで保持すれば軽くなりそう。
・同じくターゲットもポインタでやってみる事
・オブジェクトイベントのロックピックの犯罪判定。鍵(フラグ)の有無での施錠などは今の所未実装。

・Dxライブラリ文字列の処理は繰り返し行うと重たい
・画像の縮小拡大処理はあんまり負担が無い
・ヘッダ内にヘッダを読み込むのはおk(配列用定数やら構造体内のstringとか使うときに)

この記事へのコメント

この記事へのトラックバック