新手求助 触屏ccsprite问题

屏幕中有很多移动精灵,如何选定想要的精灵,并让其执行一个action。新手求助,那位高手能帮忙详解解答一下?

和我一样新手,这个在教程里好像有,看看基础的教程

那么你实现了么,我看网上的教程看的有点迷糊了。

在覆写的方法比如ccTouchEnded方法里边通过getChildByTag获取对象在执行action就好了啊

— Begin quote from ____

chenhong53 发表于 2012-8-3 11:16 url

像CCNode* s = getChildByTag(kTagSprite)这样,然后给s执行一个action到想要的地方,是这样吗,这样做也 …

— End quote

能不能用schedule给每个sprite挂起监听一下,在方法里校验point

将sprite放到一个layer里管理,重写ccTouchEnded,在里面遍历查看touchpoint是否在sprite里

检查touchpoint是否在点内用CCRect::CCRectContainsPoint (sprite的大小矩形,sprite->convertTouchToNodeSpaceAR(touchpoint))

— Begin quote from ____

wp11181214 发表于 2012-8-3 09:53 url

在覆写的方法比如ccTouchEnded方法里边通过getChildByTag获取对象在执行action就好了啊 …

— End quote

像CCNode* s = getChildByTag(kTagSprite)这样,然后给s执行一个action到想要的地方,是这样吗,这样做也行,但是没有触屏效果啊。我想要得是点击屏幕,获得点击的位置坐标。然后和正在运动的所有精灵的位置坐标进行比较,如果有精灵正好在点击的位置,那么就把这个精灵移动到我想要的位置。这样要怎么实现呢?还有如何把精灵添加到一个数组,怎么样获得移动的精灵的坐标呢?

— Begin quote from ____

wp11181214 发表于 2012-8-3 09:53 url

在覆写的方法比如ccTouchEnded方法里边通过getChildByTag获取对象在执行action就好了啊 …

— End quote

像CCNode* s = getChildByTag(kTagSprite)这样,然后给s执行一个action到想要的地方,是这样吗,这样做也行,但是没有触屏效果啊。我想要得是点击屏幕,获得点击的位置坐标。然后和正在运动的所有精灵的位置坐标进行比较,如果有精灵正好在点击的位置,那么就把这个精灵移动到我想要的位置。这样要怎么实现呢?还有如何把精灵添加到一个数组,怎么样获得移动的精灵的坐标呢?

好了,已经解决,谢谢诸位。