本文主要是介绍convertToWorldSpace转换为世界坐标系用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先假想一个场景,场景里有一个主角,主角身上有一个物品。假如物品是以主角为父节点的.
现在问题来了,物品现在的坐标系,现在我想判断用户是否点击在该物品上,
那么我怎么得出物品在相对与屏幕的坐标呢?
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");
}
这篇关于convertToWorldSpace转换为世界坐标系用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!