您的位置:首页 > 其它

convertToWorldSpace转换为世界坐标系用法

2014-07-31 21:07 519 查看
先假想一个场景,场景里有一个主角,主角身上有一个物品。假如物品是以主角为父节点的.

现在问题来了,物品现在的坐标系,现在我想判断用户是否点击在该物品上,

那么我怎么得出物品在相对与屏幕的坐标呢?

cocos2dx提供了一个方法:

sprite->getParent()->convertToWorldSpace(sprite->getPosition()),其中sprite为物品精灵的指针,getParent()为获取物品的父结点,convertToWorldSpace()为转换坐标到以此结点为基准的屏幕坐标。



实例:

其中pSprite是一个以另一个精灵为父节点的精灵,需要转换为世界坐标系.

CCPoint m_sprite=pSprite->getParent()->convertToWorldSpace(pSprite->getPosition());

touchbegin获取的点pTouch是世界坐标系.

m_Pos = pTouch->getLocation();

检测是否触摸是否在精灵上:

if(m_Pos.x<m_sprite.x&&m_Pos.x>m_sprite.x-pSprite->getContentSize().width
  &&m_Pos.y<m_sprite.y+pSprite->getContentSize().height&&m_Pos.y>m_sprite.y)
 {
  CCLOG("touchin pSprite!\n");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: