请问如何在点击sprite的时候判断取得点击的sprite

想从项目入手,边做边学,刚开始试着做一个记忆翻牌游戏,在界面上放置了六个sprite,两行三列,可是不知道如何判断点击的是哪个sprite,请指教,谢谢!!{:soso__8961432591078930798_3:}

分享到: *

QQ空间 *

*腾讯微博 *

腾讯朋友
http://www.ityran.com/home.php?mod=spacecp&ac=favorite&type=thread&id=3248


*收藏0 *

评分 http://www.ityran.com/misc.php?mod=invite&action=thread&id=3248

*邀请

http://www.ityran.com/forum.php?mod=post&action=reply&fid=60&tid=3248&reppost=12457&extra=page%3D1&page=1回复 http://www.ityran.com/forum.php?mod=post&action=edit&fid=60&tid=3248&pid=12457&page=1编辑 使用道具

*]http://www.ityran.com/home.php?mod=magic&mid=stick&idtype=tid&id=3248

置顶卡
*]http://www.ityran.com/home.php?mod=magic&mid=highlight&idtype=tid&id=3248

变色卡
*]http://www.ityran.com/home.php?mod=magic&mid=sofa&idtype=tid&id=3248

抢沙发
*]http://www.ityran.com/home.php?mod=magic&mid=jack&idtype=tid&id=3248

千斤顶

如果两个精灵有重叠,该怎么判断

获得点击时的point,然后取得精灵的boundingBox,然后用CCRectContainsPoint来判断。取得touch点时,可以用CCPoint pt = self->convertTouchToNodeSpace(touch)来得到。
ps:函数名凭记忆输入。

— Begin quote from ____

子龙山人 发表于 2012-6-26 09:43 url

获得点击时的point,然后取得精灵的boundingBox,然后用CCRectContainsPoint来判断。取得touch点时,可以用C …

— End quote

感谢子山大哥的回复

— Begin quote from ____

子龙山人 发表于 2012-6-26 09:43 url

获得点击时的point,然后取得精灵的boundingBox,然后用CCRectContainsPoint来判断。取得touch点时,可以用C …

— End quote

:Psorry,是子龙山人大哥。。,请原谅,“然后取得精灵的boundingBox,然后用CCRectContainsPoint来判断”这句话不是很理解呢,取得精灵的boundingBox之前需知道是哪个精灵吧?或者说我想知道的是,点击精灵的时候,该如何取得点击到的是那个精灵sprite,然后执行sprite->setTexture(texture);再次麻烦您了,谢谢

— Begin quote from ____

sola040515 发表于 2012-6-26 23:27 url

sorry,是子龙山人大哥。。,请原谅,“然后取得精灵的boundingBox,然后用CCRectContainsPoint来判断” …

— End quote

你把精灵存在一个数组里,或者把6个精灵的boundingBox存在数组里,然后循环去判断。得到的索引是第几个,对应的就是第几个精灵呀。

— Begin quote from ____

子龙山人 发表于 2012-6-27 07:59 url

你把精灵存在一个数组里,或者把6个精灵的boundingBox存在数组里,然后循环去判断。得到的索引是第几个, …

— End quote

:)thanks,我明白了

Mark Mark!

— Begin quote from ____

月神天 发表于 2012-6-28 10:40 url

如果两个精灵有重叠,该怎么判断

— End quote

每个精灵都有唯一的深度吧, 循环从深度最小的 sprite开始检测, 如果检测到碰撞则检测结束,这样就没有问题吧

如果两个精灵有重叠,该怎么判断

获得点击时的point,然后取得精灵的boundingBox,然后用CCRectContainsPoint来判断。取得touch点时,可以用CCPoint pt = self->convertTouchToNodeSpace(touch)来得到。
ps:函数名凭记忆输入。

— Begin quote from ____

sola040515 发表于 2012-6-26 23:27 url

sorry,是子龙山人大哥。。,请原谅,“然后取得精灵的boundingBox,然后用CCRectContainsPoint来判断” …

— End quote

你把精灵存在一个数组里,或者把6个精灵的boundingBox存在数组里,然后循环去判断。得到的索引是第几个,对应的就是第几个精灵呀。

— Begin quote from ____

月神天 发表于 2012-6-28 10:40 url

如果两个精灵有重叠,该怎么判断

— End quote

每个精灵都有唯一的深度吧, 循环从深度最小的 sprite开始检测, 如果检测到碰撞则检测结束,这样就没有问题吧