gpt4 book ai didi

ios - 在 CCPhysicsNode 上启用调试绘制会导致崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:31 24 4
gpt4 key购买 nike

版本:Cocos2D V3.4、Xcode 7.2.1、SpriteBuilder 1.4.9。

您可以下载我的项目here .它是用 SpriteBuilder 创建的。

在 CCPhysicsNode 上启用调试绘制会导致崩溃:

CCPhysicsNode *_physicsWorld;


_physicsWorld = [CCPhysicsNode node];
_physicsWorld.gravity = ccp(0,0);
_physicsWorld.debugDraw = YES;//if debugDraw set to NO, crash will not occur, it happens only when its set to YES
_physicsWorld.collisionDelegate = self;
[_scene addChild:_physicsWorld];

错误:

Assertion failure in -[CCRenderStateGL initWithBlendMode:shader:shaderUniforms:copyUniforms:]

我将物理体添加到 CCSprite 的代码:

  _PlayerSprite.physicsBody = [CCPhysicsBody bodyWithRect:(CGRect){CGPointZero, _PlayerSprite.contentSize} cornerRadius:0]; // 1 

_PlayerSprite.physicsBody.collisionGroup = @"playerGroup"; // 2

[_PhysicsWorld addChild:lobjPlayerSprite
z:Z_ORDER_PLAYERS];

然后代码在 CCRendererBasicTypes initWithBlendMode 处崩溃:

-(instancetype)initWithBlendMode:(CCBlendMode *)blendMode shader:(CCShader *)shader shaderUniforms:(NSDictionary *)shaderUniforms copyUniforms:(BOOL)copyUniforms

crashes here:-
NSAssert(shader, @"CCRenderState: Shader is nil");

最佳答案

您的项目是使用自 2015 年 4 月以来未更新的 SpriteBuilder 创建的。SpriteBuilder 附带的 Cocos2D 版本是在 Xcode 7 之前发布的,并且不包括一些针对 Xcode 7 和 iOS 9 的必要修复。您可以阅读更多关于这个here .

要解决此问题,您需要手动更新 Cocos2D。按照上一个链接中的步骤或使用 this作为引用(它更直观)。

关于ios - 在 CCPhysicsNode 上启用调试绘制会导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36003912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com