ページ 1 / 1
大量のマップチップの管理の仕方
Posted: 2016年1月13日(水) 19:43
by もるも
お世話になっております。
今回マップチップの描画について聞きたいことがあります。
本やサイトを見て下のコードように書いているのですが、
マップチップの量が多く、オブジェクトチップも含めるととても長くなってしまいます(チップの数が200くらい)。
もうちょっとスマートな書き方があれば教えていただけないでしょうか?
コード:
for(int i=FirstChipY;i<LastChipY;i++){
for(int j=FirstChipX;j<LastChipX;j++){
switch(MapData[i][j]){
case 1:
DrawGraph(j*32+m_offsetX,i*32+m_offsetY,mapgh[0],true);
break;
case 2:
DrawGraph(j*32+m_offsetX,i*32+m_offsetY,mapgh[1],true);
break;
}
}
}
よろしくお願いします。
Re: 大量のマップチップの管理の仕方
Posted: 2016年1月13日(水) 19:50
by usao
いまいち意味がわかりませんが,提示コードでは
case 1 の場合と case 2 の場合との差が,mapgh[]の[]の中の値しか無いように見えます.
「MapData[j]の値と,この[]内の値との対応付けを switch 文で行うとcaseを200個くらい書く必要がある」
という事を問題にしていますか?
少なくともこの提示コードの範囲内ではswitchを使わずに
mapgh[ MapData[j]-1 ]
とすればそれで済みそうにも見えますが,実際にはそう単純には書けないということでしょうか?
Re: 大量のマップチップの管理の仕方
Posted: 2016年1月13日(水) 20:16
by もるも
usaoさん
まさにそれです!
switch文で長々と書かなくてもいい方法を聞きたかったんです。
ありがとうございました。