ページ 11

敵のアイコンが重なってる

Posted: 2010年7月31日(土) 19:30
by 画像
龍神録プログラミングの館の12章まで進みましたのでエクセルの敵の種類を0と1をつけて何体かずつ別々の絵で敵が出てくる、とやろうとしました。ですが敵のアイコンが重なって表示されるか、或いはどちらかしか表示されない、という状況になってしまい…


GV.h
GLOBAL int img_enemy[2][1];//画像1枚分を2キャラ分

load.cpp
LoadDivGraph( "../dat/img/enemy/0.png" , 1 , 1 , 1 , 32 , 32 , img_enemy[0] ) ;
LoadDivGraph( "../dat/img/enemy/1.png" , 1 , 1 , 1 , 32 , 32 , img_enemy[1] ) ;

graph.cpp
DrawRotaGraphF(enemy.x+FIELD_X,enemy.y+FIELD_Y,1.0f,0.0f,img_enemy[0][enemy.img],TRUE);

この状態では0.pngの絵しか出ず、graph.cppに
DrawRotaGraphF(enemy.x+FIELD_X,enemy.y+FIELD_Y,1.0f,0.0f,img_enemy[1][enemy.img],TRUE);
を加えると0.pngと1.pngの絵が重なってしまいます。

他にいじれそうなところもなく、見本60章のソースも覗きましたがこの部分に関しては12章のままのようでどうすればいいかわかりません。
どこをいじれば別々の絵として認識されるのでしょうか?

Re:敵のアイコンが重なってる

Posted: 2010年7月31日(土) 20:03
by jay
ではこんな感じでどうでしょうか?

DrawRotaGraphF(enemy.x+FIELD_X,enemy.y+FIELD_Y,1.0f,0.0f,img_enemy[enemy.img],TRUE);


これでちゃんと動作してくれると思いますが、今の僕には確認する術がないので確証は全くないです。


DrawRotaGraphF(enemy.x+FIELD_X,enemy.y+FIELD_Y,1.0f,0.0f,img_enemy[0][enemy.img],TRUE);
DrawRotaGraphF(enemy.x+FIELD_X,enemy.y+FIELD_Y,1.0f,0.0f,img_enemy[1][enemy.img],TRUE);

この二つは消して下さいね。

Re:敵のアイコンが重なってる

Posted: 2010年7月31日(土) 20:32
by 画像
jayさんのプログラムを試したところ、別々の絵で表示はされましたがその2体分しか敵が出ないようになってしまいました。
一度動かした後キャラデータで敵数を増やしても2体のままで…

Re:敵のアイコンが重なってる

Posted: 2010年7月31日(土) 23:28
by Tatu
>>エクセルの敵の種類を0と1をつけて何体かずつ別々の絵で敵が出てくる、とやろうとしました。

敵の種類を扱う変数はenemy.kndだから
DrawRotaGraphF(enemy.x+FIELD_X,enemy.y+FIELD_Y,1.0f,0.0f,img_enemy[enemy.knd][enemy.img],TRUE);
とすればうまく表示されるはずです。



jayさんのプログラムではいくら敵を増やしても二体までしか表示されません。
img_enemy[2][enemy.img]などの画像は読み込んでいないからです。

Re:敵のアイコンが重なってる

Posted: 2010年8月01日(日) 11:20
by jay
あー、やはり何かで確認しないと駄目ですね。
今後は気をつけます。

失礼しましたー。