のく
Posted: 2012年9月22日(土) 18:40
int MapData[ 16 * 20 ] =
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
0, 1, 1, 0, 0, 0, 0, 0, 0, 0 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 ,
0, 0, 1, 1, 1, 0, 0, 0, 0, 0 , 1, 0, 0, 0, 0, 0, 0, 0, 1, 0 ,
0, 0, 1, 0, 1, 0, 0, 0, 0, 0 , 1, 1, 1, 1, 1, 1, 0, 0, 1, 0 ,
0, 1, 1, 0, 1, 0, 0, 1, 1, 0 , 0, 0, 0, 0, 0, 1, 0, 0, 1, 0 ,
0, 1, 0, 0, 1, 0, 0, 1, 1, 0 , 0, 0, 1, 1, 1, 1, 1, 0, 1, 0 ,
0, 1, 0, 0, 1, 0, 0, 1, 1, 0 , 0, 0, 1, 0, 0, 1, 1, 0, 1, 0 ,
0, 1, 0, 0, 1, 0, 0, 1, 1, 0 , 0, 0, 1, 0, 0, 1, 1, 0, 1, 0 ,
0, 1, 1, 1, 1, 1, 1, 1, 1, 0 , 0, 1, 1, 0, 0, 1, 1, 0, 1, 0 ,
0, 0, 0, 0, 1, 0, 0, 1, 0, 0 , 0, 1, 1, 0, 0, 1, 1, 0, 1, 0 ,
0, 0, 0, 0, 1, 0, 0, 1, 0, 0 , 0, 1, 1, 0, 0, 1, 1, 0, 1, 0 ,
0, 0, 0, 1, 1, 0, 0, 1, 0, 0 , 0, 1, 1, 0, 0, 1, 1, 0, 1, 0 ,
0, 1, 1, 1, 1, 0, 0, 1, 1, 1 , 1, 1, 1, 0, 0, 1, 1, 0, 1, 0 ,
0, 1, 1, 1, 1, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ,
0, 1, 1, 1, 1, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
} ;
GraphDraw( PlayerX, PlayerY, MapData, x, y);
}
void GraphDraw( int PlayerX, int PlayerY, int MapData[] ,int x ,int y)
{
int Map1[55];
LoadDivGraph( "map01.png" , 55 , 11 , 5 , 32 , 32 , Mapa1 ) ;
for( int i = 0 ; i <= y ; i++ )
for( int j = 0 ; j <= x ; j++ ){
DrawGraph( j*32 , i*32 , Map1[MapData[j+i*y]] , TRUE ) ;
}
ScreenFlip() ;
WaitKey() ;
}
のところでエラーが出てしまいます。Map1[MapData[j+i*y]]という書き方では駄目なようで
MapDataの値をに対応したMap1にある画像を書きたいところなのですが、どのように書けばよいのでしょうか?
よろしくおねがいします