【问题标题】:Get tile position on which dragged sprite present获取拖动精灵所在的平铺位置
【发布时间】:2013-02-14 07:48:46
【问题描述】:

请帮助我,我被困在:

我正在通过 - (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event 移动一个精灵

在 40X30 瓷砖大小的瓷砖地图上,我想获取我的精灵当前停止的瓷砖位置并将该精灵设置在该瓷砖上,就像文字史密斯游戏一样。

提前致谢

【问题讨论】:

    标签: ios cocos2d-iphone


    【解决方案1】:

    如果 TILES_XTILES_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];
    

    【讨论】:

    • 我正在添加此代码,但我无法将精灵放置在确切的平铺位置
    • 请帮帮我,我被困住了。
    • 我的瓦数是水平15,垂直15,意味着我的地图尺寸是15X15
    • 发生了什么?这段代码也应该在 touches end 事件中。
    • 你有没有看到史密斯游戏的游戏文字...,我正在开发同样的游戏,我必须在瓷砖地图上移动一个精灵,并且应该修复它所在的确切瓷砖..
    猜你喜欢
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多