都是高手。 牛逼。 希望cocos2d-x能火起来

  • 本帖最后由 David 于 2013-5-28 16:30 编辑 *

{:soso_e179:}

不懂啥叫“一手牌”,不过貌似你需要的是一个由sprite构成的数组?CCArray?

谢谢回复! 我可能表达的不太好,“一手牌”这个的意思其实是游戏中,发到玩家手上的一组牌,CCArray自然是可以实现插入,删除等管理。现在呢我其实是想让它可能做为一个整体来进行处理,例如作为一个整体来响应touch事件,以便实现点击单选或拖动多选,插入或删除的时候作为一个整体重新布局,根据规则来重新设置每张牌的Z值(因为是一张叠一张排列)。
也就是想要这么一个容器,它可以放许多sprite,管理它们的属性,在容器上响应输入,容器根据里面sprite存放动态改变大小,容器可以移动位置,然后这些spirte也随之整体移动。
有点像cclayer,只不过它应该放到层上。CCLayer可以吗?

谢谢大家的回复,我后来从继承CCLayer实现了.也许还有更好的方法吧。

所有牌作为一个整体来处理touch后,牌的重叠区域怎么判断?
当某一张牌的位置发生变化后,其他牌的有效区域都重新计算(这样是可以,但是太繁琐了)?
求指教实现思路,谢谢.

既然是做为整体,你当然知道区域内的各张牌是如何排列的。根据touch点的坐标,计算出事件发生在哪些牌上,重叠部分,一般是让最上面那张牌进行响应。如果其中某些牌发生变化(移除,弹起等)那么整体要重新刷新布局。总之,作为整体中的每张牌的位置及Z序,都是你设计及计算的,有了这些信息,你如何响应都不是问题。至于说是繁琐,嗯,期待你提出更好的理法。

:P,谢谢按你说的加了Z值判断后,完美解决.感谢