Quantcast
Channel: Cocos中文社区 - 最新主题
Viewing all articles
Browse latest Browse all 88737

求教--tiledMap 坐标转换问题

$
0
0

@dsc1025 写道:

最近在测做一个45度交错tiledMap的地图

监听鼠标事件

Layer->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listenerMouse, Layer);

方法

void Map::onMouseMove(EventMouse* event){

属性里只有当前场景坐标
我想得到 tile 坐标怎么做

这是网上找得方法

Vec2 point = Map::staggeredCoordForPosition(event->getLocationInView());
CCLOG("%f, %f", point.x, point.y);

};

这是网上找的方法,貌似不对

Vec2 Map::staggeredCoordForPosition(cocos2d::Vec2 position)
{
int y = layerSize.height - 2 - ((2 * (int)position.y) / (int)mapTileSize.height);
float x = position.x / mapTileSize.width - (y % 2) / 2.0f;
return Vec2((int)x, (int)y);
}



而用方法转换出来的坐标(0,13),而tiled内是(0,14),而且有些菱形的坐标也不对

帖子: 1

参与者: 1

阅读整个主题


Viewing all articles
Browse latest Browse all 88737

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>