プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:三国志軍記開発
ネームプレート02
開発中のメイン画面
城のネームプレートを線で繋げた。最終的な表示方法は後日改めて検討する予定。



◎移動関連パラメータ整備

前回の残課題の1つに「槍騎兵の移動プログラムを部隊クラスに移植」がありますが、その前に移動関連のパラメータを整備しましょう。

まず、個々のモデルクラスに以下のパラメータを追加します。

・移動タイプ
・移動速度(最大)

次に、部隊クラスに以下のパラメータを追加します。

・移動タイプ
・移動速度(最大)
・移動速度(現在)

最後に、部隊内の編成状況に応じて部隊のパラメータを更新するメソッドを作成します。(一番遅いモデルを基準とする)

これで、騎兵オンリーの部隊は、騎兵&歩兵混成部隊よりも早く移動するようになりました。(数値は後日調整)



◎C#のクラスと構造体

部隊移動の準備が整ったので、槍騎兵クラスの移動プログラムを部隊クラスに移植しました。

…しかし、部隊は足踏みするばかりで移動しません。調べてみると、個々のモデルクラスから部隊の新座標が正しく取得できず、旧座標で計算してました。ということは、参照渡しではなく値渡しになっているのでしょうか?

でも、他のクラスの座標は同じ方法で新座標が取得出来ています。どうにも納得できないのでネットで確認すると、こちらに「class で定義した型は参照型になり、 struct で定義した型は値型になる」との記述がありました。
そうだったのか…これを知らずに結構悩んだ気がするなぁ。

その後、構造体をやめてクラスのプロパティとして座標を渡すと、部隊が動きました。狙い通り、騎兵は歩兵よりも早く移動しています。



◎XNAで線を描く

城にネームプレートを付けます。以前と同じものを復活させるだけでは面白くないので、線を使って表記を改めようと思います。

XNAには線を表示する関数が無いので、こちらを参考とさせて頂きました。

実装に先立ち、スプライトバッチクラスを継承したカスタムスプライトバッチクラスを作成し、これにラインメソッドを追加しました。こうしておけば、今後の拡張も容易でしょう。

ネームプレート01

一応線は実装できましたね。しかしこれでは不自然すぎます。線を短くしましょう。

ネームプレート02

まぁ、とりあえずこんなものでしょうか。最終的にどうするかは後日検討します。



◎次回予告

作業は次の段階に進んでますが、話の切りが悪くなるので次回とします。

次回は「槍兵歩行モーションの作成/表示」です。

しばらくぶりにSoftimageと格闘中です(^_^;

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。