ios - 获取拖动 Sprite 所在的图 block 位置

标签 ios cocos2d-iphone

请帮助我,我陷入困境:

我正在通过 - (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event 移动 Sprite

在40X30图 block 大小的图 block map 上,我想获取我的 Sprite 当前停止的图 block 位置,并将该 Sprite 设置在该图 block 上,就像单词史密斯游戏一样。

提前致谢

最佳答案

如果 TILES_XTILES_Y 是 map 上水平和垂直图 block 的数量,则类似以下内容应该可以解决问题:

编辑:添加了 TILE_WIDTHTILE_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];

关于ios - 获取拖动 Sprite 所在的图 block 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14870087/

相关文章:

fonts - 如何将位图字体添加到 SpriteBuilder

ios - 创建 Sprite 时无法在等距平铺 map 中找出正确的 vertexZ

iphone - 我如何在cocos2d中使用瓦片坐标而不是常规坐标

ios - 如何在 Swift 中设置返回按钮文本

ios - parse.com 'retweet' 模式太冗长

ios - set-key-partition-list codesign 之后还是提示key access

ios - 使用 distantFuture 的实际例子是什么?

ios - 如何创建带有 DPI 集的 UIImage?

iphone - 如何在cocos2d中显示pi字符

ios - ScrollView 滚动和触摸事件从不触发