【发布时间】:2013-03-19 13:46:42
【问题描述】:
这是我目前的情况: 我创建了一个名为 StoreScene 的 CCScene。 在那个场景中,我初始化了一个 CCLayer 并将其命名为 Store 层。
现在,我想要一个包含用户可以触摸的内容的可滚动层。 为此,我创建了另一个名为 Store Container 的 CCLayer。 我创建了这个层的一个实例,并将它作为子层添加到 StoreScene。
在 StoreContainer 中,我添加了多个精灵,每个精灵都有一个唯一的标签。 滚动是在 StoreScene 中完成的,触摸会向上或向下移动整个 Storecontainer 层。
我在滚动层(存储容器)中添加了 4 个精灵 最初, 精灵 1 位于 0,10 精灵 2 位于 0,20 精灵 3 位于 0,30 精灵 4 位于 0,40
显然,随着整个 storecontainer 层的移动,精灵的位置也会移动。 然而, 当我在 TouchesEnded 方法中执行此操作时: if (CGRectContainsPoint(sprite1.boundingBox, touchpoint)){ NSLog(@"TouchedSprite1"); } ...等等每个精灵
每个精灵的触摸位置保持在同一个地方!!! 在视觉上,精灵很好地上下移动。 但是它们在接收触摸时的位置保持不变.. 是否有一个原因? 接近滚动层的任何其他方式? 我已经看过 UIKit 的滚动视图和 CCScrollLayer 了,但对我来说都不够好。 我的方式可能更简单,但它没有按计划工作。 提前致谢! ^_^
【问题讨论】:
-
请包含必要的代码
标签: ios objective-c cocos2d-iphone ccsprite ccscrolllayer