问题标签 [cocos2d-iphone-3]

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 投票
1 回答
107 浏览

cocoa - Cocos2d V3 使用 UIImagePickerController 类后无法切换场景

我在 CCscene UserLevelCreation 上切换场景(甚至显示精灵)时遇到了一点问题,但它只发生在我使用 UIImagePickerController 拍摄/接受图片之后,然后当我尝试切换场景时,它会因错误而崩溃:

这是我用来拍照的代码:

和 WriteImageToPath 函数:

-更新 - - - - - - - - - - - - - - - - - - - - - - - - ---------------------------------- 刚才试过在代码中不同地方切换场景,可以切换场景自由直到功能:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

我认为该功能可能是问题所在。

到目前为止,我已经尝试过:

1.拍照前切换场景,效果很好

2.我读到这可能是因为我正在调整图像的大小,但评论出来并没有什么不同。

3.我在场景切换前也加了断点,场景不为零

4.Finally我tred解散了uip UIImagePickerController,但这也没有什么区别。

很抱歉,很长的帖子/:如果有人知道发生了什么,任何帮助都会非常棒。

0 投票
2 回答
155 浏览

ios - -[__NSCFNumber value1]:发送到实例的无法识别的选择器

这里 readyToRemove 是 NSMutableArray,balVal 是 int,FileGame 是 CCNode。当我运行这个时,我得到 -[__NSCFNumber value1]: unrecognized selector sent to instance 错误帮助我。

0 投票
1 回答
431 浏览

ios - Cocos2d CCActionSequence 顺序和延迟搞砸了

我正在研究 cocos2d V3.x 项目(SpriteBuilder V1.2.1)。当前尝试在 CCSprite 上延迟运行此动作序列。我不确定是否有问题,或者我只是不明白 CCActionSequence 是如何工作的。

我希望动作“a”开始,完成后(2 秒后)延迟(5 秒),然后调用两个函数(动作“c”和“d”)。但是在模拟器中,顺序是错误的(在“c”之前调用了“d”),并且在“a”开始旋转后大约 1 秒调用了它们。

我做错什么了吗?如果这是 CCActionSquence 的实际工作方式,我该怎么做才能使其按照我在上一段中解释的方式工作?

谢谢!

0 投票
1 回答
77 浏览

iphone - CCSprite(播放器)在移动设备左侧时从平台上掉下来

在我的游戏中,我放置了不断移动的平台和一个玩家。玩家向上跳跃通过每个平台,但平台从左到右移动,当玩家坐在移动平台上时,它也会随着平台滑动。

但是问题是当平台与屏幕的左边缘碰撞并开始向右移动时,我的播放器会不断地向左侧移动,而不是与平台停止并掉落。如何停止播放器的后移动?这就像当我们打破汽车时,我们跳过了玻璃。:(

Init我创建播放器的方法中。CCSprite *_player在头文件中声明。

_foreground是添加平台的 CCNode,因此它们可以在玩家向上移动时向下滚动以产生玩家向上移动的效果。

createPlatform...方法被实现来放置一个精灵和物理体。请参阅编写的方法的代码PlatformNode.m

为了使平台从左到右连续移动,实现以下逻辑。

CGPoint actPoint = platform3.position; CGPoint extPoint = ccp([CCDirector sharedDirector].viewSize.width - platform3.contentSize.width*2, platform3.position.y); CGPoint zrPoint = ccp(0, platform3.position.y);

有人能帮我一下吗?

0 投票
0 回答
94 浏览

ios - CCSprite 上的 applyImpulse 没有做出逼真的动作,需要加快精灵动作

我正在开发一个跳跃游戏,当点击屏幕时,我需要让玩家跳起来。所以,我使用了以下代码。

[_player.physicsBody applyImpulse: ccp(0, player.physicsBody.mass * 155)];

在 touchBegan 方法中。

CCSprite *_player 的代码是

这段代码解释了玩家设置了物理体并添加到了一些 _foreground 视图中。问题在于用 touchBegan 编写的 applyImpulse 方法。当它让玩家跳的时候,玩家跳的很慢,我想让它快一些,比如,跳跃的绿巨人,快开始,慢结束。我们如何在不使用动画的情况下管理它?因为 applyImpulse 不允许使用动画,我想。

请就这个话题帮助我,任何建议,提示,我可以使用的任何东西?

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

cocos2d-iphone - Cocos2d iPhone 的不透明度问题

从 Cocos2D 2.1 升级到 Cocos2D 3.1.1 后,我在 Spine 中的几个动画上遇到不透明度问题

为了更好地说明我在说什么,这里有两个视频显示了动画之间的区别:

YouTube 视频:Cocos2D 2.1(见视频 6 秒左右的“爆炸动画”)

YouTube 视频:Cocos2D 3.1.1(见视频 7 秒左右的“爆炸动画”)

我已经尝试过以下方法:

  • 让我的设计师在非预乘和预乘 alpha 值上导出 Spine Animation。
  • 尝试以编程方式(通过 [SkeletonAnimation setBlendMode] )将 blendMode 设置为以下之一:
    • [CCBlendMode alphaMode]
    • [CCBlendMode 预乘AlphaMode]
    • [CCBlendMode 添加模式]
    • [CCBlendMode multiplyMode]。

有任何想法吗?

提前感谢您的帮助!

0 投票
1 回答
112 浏览

ios - 如何以编程方式使用 CCTextField 调出键盘?

我有一个CCTextField隐藏的,直到用户点击一个对象,然后将它添加到节点树并且它是可见的。

目前,用户必须点击CCTextField来激活 iOS 键盘并开始输入文本。

有没有办法以编程方式启动键盘出现?

becomeFirstResponder不工作。

0 投票
1 回答
32 浏览

cocos2d-iphone - cocos2d-objc-ext 的 CCSpine 不工作

我在我的cocos2d-swift V3.3项目中尝试使用CCSpine,有一个问题:找不到CCDictionary.h CCDictionary.h在哪里?在低版本的 coco2d-iphone 中剂量它?但我没有找到它。

0 投票
1 回答
48 浏览

ios - CCActionSequence/CCActionDelay 不延迟每个动作?

我有一个创建 CCSprite 并将其在屏幕上移动的函数:

我试图通过在移动动作中依次运行 removeFromParentAndCleanup() 来清理精灵完成移动动作。但是,每个动作都会在序列中立即触发,没有延迟。创建后立即清理精灵。为什么延迟不起作用?我已经尝试过使用和不使用 CCDelay 动作,我得到了相同的结果。