
cocos2d-x 判断node是不是精灵
1个回答
展开全部
因为我的主角(sprite)的父类是地图(map),而不是直接加到游戏场景中(scence)。所以,我通过getPosition获得到的坐标,是相对地图的。无法直接和屏幕做比较。
于是乎,我又计算出地图相对于场景的坐标,再进行换算,得到精灵相对与场景的坐标,再判断是否在可见范围....
折腾了半天,虽然达到了要求,但是。很麻烦!
后来百度了一下.. 发现了世界坐标系这个概念。
仅仅两行代码,就解决了,而且十分准确,方便。
CCPoint worldSpace = getGameMap()->convertToWorldSpace(getCurrentRolePoint());
if (worldSpace.x <= 0)
{
//修改图片,改为受伤状态
mSprite->stopAllActions();
mSprite->setTexture(picHurt);
return;
}
转载,仅供参考。
于是乎,我又计算出地图相对于场景的坐标,再进行换算,得到精灵相对与场景的坐标,再判断是否在可见范围....
折腾了半天,虽然达到了要求,但是。很麻烦!
后来百度了一下.. 发现了世界坐标系这个概念。
仅仅两行代码,就解决了,而且十分准确,方便。
CCPoint worldSpace = getGameMap()->convertToWorldSpace(getCurrentRolePoint());
if (worldSpace.x <= 0)
{
//修改图片,改为受伤状态
mSprite->stopAllActions();
mSprite->setTexture(picHurt);
return;
}
转载,仅供参考。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询