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");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值