忍者ブログ

カレンダー

12 2025/01 02
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

最新コメント

[07/13 ♀はっか]
[07/13 ♀はっか]
[07/11 ♀はっか]
[07/11 ♀はっか]
[03/16 空竜]

最新トラックバック

プロフィール

HN:
空竜
性別:
女性

バーコード

ブログ内検索

アクセス解析

忍者アナライズ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

進め進め。


はい。昨日に引き続きDirectX奮闘中。
で。
昨日のサイズ変だよ事件は解決。
簡易設定で描画するメソッドと、詳細設定で描画するメソッドがあって、
詳細設定の方でちゃんと画像のサイズ指定してやったらできた。
よかったよかった。

次。
いかに元のゲームのソースと上手く繋げられるか。

実験その1。
描画部分だけを別のクラスにできないか実験。
・・・失敗。
ウインドウの管理と描画は切っても切り離せないというか、
離すのが難しいらしく、よく分からんところで
『D3DX :アクセスエラー』(??)とかなんとかなんとか・・・

実験その2。
サンプルでは1つしか画像が表示できないから、それをリスト化できないか実験。
とりあえず実験1でのクラスは没。新しいプロジェクトを作成してトライ。
std::list・・・あ、別に画像の登録さえしたら、
そんなに頻繁にnewやらdeleteしないから
std::vectorでいっか。ま、あんまり変わらんけど。

ここで事件。
ブレークポイント付けてみたら、なんだかとっても無限ループ。
なんでだ?変だな?どうなってんだ?と、思ったら。

for (std::vector::iterator it = gImgs.begin(); it != end;)
{
...

・・・ってオイ!!?
『it++』抜けてんじゃねぇか!!

for (std::vector::iterator it = gImgs.begin(); it != end; it++)
{
...

うん。解決。さてどうなった?
・・・お、上手くいった。表示されてる。
が。メモリ解放し忘れ報告が。
うあぁ。
あれだ。画像自体のリリース処理はしてるんだけど、
リストに入ってるそれそのものをdeleteしてない・・・
ということでdelete。
・・・OK。ばっちり。


さて、実験その3。
表示する画像、縦横の拡大縮小率、アルファ値、表示位置、を
指定して、描画する部分をメソッド化できないか実験。
・・・現在ここ。まだ手つかず。
現状、1つのファイル(main.cpp)だけで完結してるから、
このファイルの外部からの命令で、画面のクリアと
敵やらプレイヤーやらの画像の描画をしないといけない。
つまり、クリアと画像表示を分離しなきゃいけないわけで。
いや、分離だけなら簡単なんだけど、
問題は表示する画像の詳細設定っすな・・・
画像の指定をどうやってやるのか。
拡大縮小率をどう指定するのか。
アルファ値は・・・まぁまだどうにでもなりそう。
表示位置に至っては、まず指定に使ってる型が違うから・・・

あ、あとあれだ。忘れてた。画像の切り取り作業。
1枚の画像から画像を切り取って使うことがあるから、
それも指定できなきゃいけない。
指定サイズは画像ファイルを読み込んだ時点でやっとかなきゃマズいから・・・
今あるstructのimgにメンバを追加かな・・・おぉ・・・めんどい。

さて。
明日中には表示準備を終わらせたい。
まだ入力の認識と効果音を鳴らす作業が残ってるし、そもそも移植できてない。
ソース持って来て、動かしてみないと。
ややこしそうだから、先にMac側で設定の必要がありそうな部分を
抽出した状態で実行できるようにしておこうかな・・・
で、移植時には、抽出した部分だけを書き換えればOK、と。
便利便利。
よし。Winでの作業も飽きて来たから、今からMacでそれやろう。
いってきまーす。

拍手

PR

Trackbacks

TRACKBACK URL :

Comments

Comment Form