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 回答