【发布时间】:2013-02-14 07:48:46
【问题描述】:
请帮助我,我被困在:
我正在通过 - (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event 移动一个精灵
在 40X30 瓷砖大小的瓷砖地图上,我想获取我的精灵当前停止的瓷砖位置并将该精灵设置在该瓷砖上,就像文字史密斯游戏一样。
提前致谢
【问题讨论】:
标签: ios cocos2d-iphone
请帮助我,我被困在:
我正在通过 - (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event 移动一个精灵
在 40X30 瓷砖大小的瓷砖地图上,我想获取我的精灵当前停止的瓷砖位置并将该精灵设置在该瓷砖上,就像文字史密斯游戏一样。
提前致谢
【问题讨论】:
标签: ios cocos2d-iphone
如果 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];
【讨论】: