0

私が立ち往生している私を助けてください:

-(void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)eventによってスプライトを移動しています

40X30タイルサイズのタイルマップで、スプライトが現在停止しているタイルの位置を取得し、ワードスミスゲームのようにそのスプライトをそのタイルに設定したいと思います。

前もって感謝します

4

1 に答える 1

1

TILES_Xとがマップ上の水平および垂直タイルの数である場合TILES_Y、次のようなものがうまくいくはずです:

編集:位置計算を修正するためにTILE_WIDTH&を追加TILE_HEIGHT

CGPoint position = [sprite position];

// get x and y in tile coordinates
int xTile = position.x / TILES_X;
int yTile = position.y / TILES_Y;

// 'snap' position to tiles
position.x = xTile * TILE_WIDTH;
position.y = yTile * TILE_HEIGHT;
[sprite setPosition:position];
于 2013-02-14T07:56:05.227 に答える