问题标签 [cocos2d-swift]

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 投票
0 回答
162 浏览

cocos2d-iphone - Cocos2d 中的 CCEffectGlass

我在 Cocos2d 3.2 中使用了 CCEffectGlass,它工作得很好,但我看到了双层或最后没有层,就像图像中一样。是否可以仅在圆圈内隐藏双层?

在此处输入图像描述

代码:

完整的 Xcode 来源https ://github.com/Gururajtallur/CCEffectGlassSample

0 投票
0 回答
1053 浏览

ios - 在 Cocos2d V3 中使用 CCScrollView

我想知道是否有人可以帮助我解决这个问题。我想在 CCNode 上添加 4 个 CCScrollView,它们将水平滚动。CCNode 以纵向模式定位并保持在设备上,将使用标准化的 contentSize 设置来填充整个屏幕以覆盖整个屏幕。

因此,本质上,滚动视图将堆叠在一起,第 4 个位于屏幕底部,第 1 个位于顶部。现在,我设法添加了 4 个 CCScrollView,但只有一个响应触摸。其他的都是平的,不动的。就好像最后一个添加到节点的 CCScrollView 覆盖了其他三个,并且它是唯一响应触摸请求的东西。所有 4 个 CCScrollView 都将其委托属性设置为 self。

我是来 Cocos2d 的,有相当多的 UIKit 经验。所以,我正在尝试将我的 UIScrollView 思维模式应用于所有这些。有一个很好的谷歌并提出了一点点,我想知道是否可以提供帮助。我什至一直在考虑将 UIScrollView 缠绕到 Cocos2d 中。

我想我的主要问题有两个。一,我有触摸响应的问题。第二,我对分页方面和内容大小的控制有疑问。通过反复试验,我有点相处,但如果有人可能会写一些关于 CCScrollView 实现的最佳实践指南,特别是没有设置添加到更大 contentView 的 CCNode 或 CCspriteFrame 的 contentSize 的地方不填满屏幕的整个宽度。

提前致谢。

0 投票
1 回答
432 浏览

swift - Swift 语法错误:类型“AnyObject”不能被隐式向下转换

我使用下面的代码快速创建精灵。

请检查图像,第一行给出错误。在此处输入图像描述

错误:“AnyObject”类型不能被隐式向下转换为“CCNode”:您的意思是使用“as”强制向下转换吗?

网上有 Cocos2d-Swift 文档吗?

0 投票
0 回答
391 浏览

opengl - GPUImage 一旦使用任何 GPUImage 类就会给出多个 GL_INVALID_ 错误

我正在尝试将 GPUImage 集成到 cocos2d-swift (SpriteBuilder) 项目中,以便我可以在我的应用程序中使用视频过滤器。我让 GPUImage 在示例中正常工作,所以我继续添加框架并按照 README 将 GPUImage 放入我导出的 SpriteBuilder 项目中,该项目加载 MainScene。但是,一旦我尝试使用 GPUImage 中的任何内容,我就会收到一堆 OpenGL 错误并且应用程序崩溃。

我已经注释掉了所有内容并尝试逐行取消注释以查看导致崩溃的原因,并且每当实例化任何 GPUImage 类时都会发生这种情况。在这种情况下,简单地创建一个 GPUImageMovie 对象就会导致崩溃:

创建 GPUImageGrayscaleFilter 或 GPUImageView 也会导致它。我需要在我的应用程序中做的就是显示视频或相机并对其应用过滤器,它本身非常简单;但是一旦引入 cocos2d-swft,就会出现很多问题。

我看到有些人提到关于共享组和 gl 上下文的事情,并且 GPUImage 和 cocos2d 相互冲突,但我还没有找到有人解释如何真正让它工作。

整个 MainScene.swift 文件如下(场景中有一个按钮调用 playVideo 函数,就是这样)。

0 投票
1 回答
392 浏览

android - Android上的CCClppingNode无法正常工作

我最近开始了一个新的 iOS 项目。我也想支持 Android,所以我选择了最新的 cocos2d-iphone (cocos2d-swift) 的 SpriteBuilder。

我使用 CCClippingNode 来剪辑内容。它需要 24 位深度缓冲区和 8 位模板缓冲区,所以我需要将以下行添加到 AppDelegate.m 到application:didFinishLaunchingWithOptions:

当然,这仅适用于 iOS。根据日志,它应该可以在没有任何额外代码的情况下适用于 Android,因为它在启动时会记录以下行:

后来当我在代码中创建 CCClippingNode 时,它​​会记录:

发生这种情况是因为 CCClippingNode.m 中的以下行返回 0:

在 iOS 上,GL_STENCIL_BITS 为 8(在将 CCSetupDepthFormat 设置为 GL_DEPTH24_STENCIL8_OES 之后)。在 Android 上为 0。

我应该怎么做才能让它在 Android 上也能正常工作?

我使用 SpriteBuilder 1.4.0-beta.3 和 Cocos2D-Swift 版本 3.4.1-develop

0 投票
1 回答
57 浏览

spritebuilder - CCScrollView 不显示 ContentNode

我成功地在从 SpriteBuilder 发布的滚动视图上显示了一个 contentNode。但无法在以编程方式制作的滚动视图上显示它。

我只是将这些代码放在 didLordFromCCB MainScene.m 上。我对 SpriteBuilder 项目什么也没做。

0 投票
2 回答
98 浏览

spritebuilder - CCActionMoveTo 精灵向错误的方向移动

嗨,我目前正在开发一款游戏,我的玩家在其中收集硬币等等。我已经为硬币实现了碰撞检测,并且正在工作,但是当我与硬币碰撞时,我想将硬币移动到分数标签上。分数标签位于我屏幕的右上角。我用于碰撞的代码如下所示。游戏正在使用 sprite builder 开发,这就是碰撞看起来不同的原因。

_scoreLabels 位置是 177,我记录了 20 以检查其正确性。问题是当硬币移动时,它会向左和向下移动,而不是移动到指定的点。感谢您的任何帮助和建议。

0 投票
1 回答
126 浏览

swift - Cocos2d Swift 中的 CCActionCallBlock 使用

我使用下面的 cocos2d-swift 代码,给出 1 个错误。见下图。

在此处输入图像描述

如何在 Cocos2d Swift 中使用 CCActionCallBlock?

0 投票
2 回答
120 浏览

ios - Cocos2d Swift 版本代码:sprite1.colorRGBA

我使用下面的cocos2d代码并工作:

现在尝试将其移植到 Swift,但colorRGBA最后一行出现错误。帮助我获得正确的代码。

0 投票
1 回答
187 浏览

cocos2d-iphone - Cocos2d-Swift:播放声音崩溃

我使用下面的代码在 Cocos2d-Swift 中播放声音,它崩溃了。

如何解决快速代码(不是 ObjC)中的崩溃?

或者

有没有其他方法可以使用 SimpleAudio 引擎在 cocos2d-swift 中播放声音?

崩溃日志:

OAL 错误:-[OALSimpleAudio initWithSources:]: : 无法创建 OpenAL 设备致命错误:在展开可选值时意外发现 nil