问题标签 [cclayer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5189 浏览

iphone - 以后如何移除孩子?(cocos2d)

我在 CCLayer 中添加了一个像这样的孩子:

稍后我想从孩子们那里移除那个对象。嗯,那我该怎么做?谢谢。

0 投票
1 回答
798 浏览

cocos2d-iphone - iPhone-Cocos2d:如何制作反映另一个CCLayer的CCLayer

我如何创建一个新图层,它代表我在屏幕上已有的另一个图层,只是在不同的位置和比例?

把它想象成一个小地图,代表玩家所在的当前地图,只是它更小,并且出现在屏幕边缘并且小得多。

0 投票
1 回答
3444 浏览

function - Cocos2d:从另一个(父级?)CCLayer 中的一个 CCLayer 调用函数

你好真棒开发社区。几天来我一直在寻找这个问题的答案,但似乎找不到句柄,所以决定自己发布 Q。

我有一个游戏,其中包含用于选择项目的菜单。菜单可以有 2 -> 30 多个项目,因此它们需要滚动。还有类别菜单,当单击一个项目时,会出现一个包含该类别项目的新菜单。

我认为最有效的方法是在专用层上创建菜单所需的所有元素。问题是我不知道如何从包含菜单的 CCLayer 调用主游戏场景中定义的 addNewItems:itemsArray 函数。

或者,我应该只使用一层吗?将多个项目一起移动有点混乱和困难。

非常感谢您提供的任何帮助 - 或者为我指出一个清晰的教程或如何做到这一点的示例,因为我真的找不到任何帮助。

下面是我要创建的流程图。

谢谢!!

哈南

替代文字

0 投票
5 回答
3032 浏览

cocos2d-iphone - cocos2d中如何移动CCLayer

谁能告诉我如何移动CClayer。就像 DoodleJump 一样,当对象向上移动时,背景也会向上移动。请用一些示例代码向我解释一下。

0 投票
1 回答
717 浏览

iphone - 为什么全屏透明按钮在 cocos2d-iphone 上将 fps 从 60 降至 30,我该如何解决?

我有一个带有不可见按钮的 cclayer 类,它是 iphone 320x480 屏幕的大小。

我已将其设置为具有可见属性,以便当用户点击屏幕的任何部分时,它会将自身设置为不可见并将我的其余 ccmenuitems 设置为可见。

我注意到当透明按钮“可见”时,我的 fps 下降到 30。当它切换为不可见并调出其他“可见”ccmenuitems 时,我的 fps 回到 60fps。

当有一个全屏透明按钮时,为什么我的应用程序会这样做,我如何解决这个问题以保持 60 fps?

0 投票
1 回答
578 浏览

cocos2d-iphone - Cocos2d 显示图层问题

我正在尝试从 applicationDidEnterBackground: 方法显示暂停游戏层,并且由于某种原因它确实调用了该方法,但没有任何反应。

代表

暂停方法

暂停层

谢谢!

0 投票
2 回答
1860 浏览

iphone - Cocos2D:将精灵和动画子类化为 CCLayer 给我带来了麻烦

我开始尝试使用 Tiled 的 Cocos2D,并将玩家精灵和动作与其他所有内容一起编码在 CCLayer 中。在继续之前,我想将播放器子类化为 CCLayer,我希望这是正确的。

我的标题和主要代码如下:

英雄类.h

英雄类.m

我认为我想要实现的想法是我可以访问此类中的内容作为其他文件中的属性。上面的代码在我构建它时没有给出错误,但也许我没有做对。我在迁移时遇到的问题是我的 CCLayer 类 DebugZoneLayer 现在正在发生的事情,它创建了地图并应该添加我的玩家精灵,但给了我错误。

在 DebugZoneLayer.h 中,我导入了 HeroClass.h 并从英雄精灵的 HeroClass 中创建了一个指针,并为其赋予了一个属性。这里没有错误,但这可能是我出错的开始:

在 DebugZoneLayer.m 中,当我合成 hero 时,它给出了错误“属性类型 'hero' 与 ivar 'hero' 的类型不匹配

文件的其余部分给了我更多与任何引用 hero 相关的错误,但至少这是它开始的地方。

编辑(更新)

只是想提一下,自从解决了这个问题后,我清除了 HeroClass.m 中导致崩溃的一些主要问题:

0 投票
2 回答
373 浏览

iphone - CCSprite 不再动画,因为手指不在顶部 UIView 上移动

这是问题所在:我正在使用 cocos2D 和 CCLayers,并且我使用 UIView 来捕捉 UIScrollMenu 的手势识别器的动作。在我的图层上,有动画精灵可以永远运行动画;当我用手指拖动 scrollMenu 并停止按住手指时,背景中的 CCLayer 不再更新,精灵也不会移动。一旦我再次移动手指,精灵就会更新。问题不应该来自精灵,因为当我停止并再次移动时,精灵不会播放下一帧,而是继续正常移动时应该显示的帧。我认为仍然计算帧,但图层不再更新其视图。

有人会想办法避免这种情况吗?

我没有做任何事情来更新 CCSprites,我只是在它们上启动一个 CCRepeatForever 动作,然后让它们的父 CCLayer 关心它们。我试图安排这个 CCLayer,但是当我用手指拖动一个项目时,不再调用更新函数......

`CCAction *hitAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:hitAnim restoreOriginalFrame:NO]];

[精灵 runAction:hitAction];`

当我再次移动手指时调用的函数(显然允许 CCLayer 更新)是- (void)scrollViewDidScroll:(UIScrollView *)scrollView

0 投票
1 回答
872 浏览

uiscrollview - 当我的 ccLayer 具有 loadNibNamed 时,我如何识别 ccTouches 事件

我的问题是我没有找到通过 UIScrollView “穿透”的解决方案,因此 ccLayer 可以识别 ccTouch 事件

...

任何想法如何创建代表或其他解决方案来绕过 UI 并与 cc 交谈?

0 投票
1 回答
2039 浏览

cocos2d-iphone - 如何将 CCSprite 从一个父级转移到另一个父级?

我有一个CCSprite被调用sprite,它是被CCLayer调用的子级movingLayer,它本身就是当前CCLayer运行我的游戏逻辑的子级,所以self在这种情况下。 movingLayer在屏幕上来回移动,以一种永远重复的动作,并sprite沿着它骑行。我想sprite“下车”movingLayer和“上车”到self它可以自己做一些动作的地方。

当我尝试这样做时,我需要告诉movingLayer删除spriteself添加sprite. 这就是我所做的......

我认为stopAllActions是多余的,但这不是问题。sprite如果我在movingLayer添加之前删除它,我会self因为访问僵尸而崩溃,如果我尝试先添加它self,我会因为尝试添加已经添加的东西而崩溃。