Assertion failure: thing, at...gc/Marking.cpp:112

 

 

遇到个jsb的bug,全公司的人整整折腾了2天!!

描述:

下面代码,在GC后,程序崩溃,错误log输出如下:

Assertion failure: thing, at /Users/james/Project/Spidermonkey/js/src/gc/Marking.cpp:112

代码:

var FightActionAttack = cc.Class.extend({
    init: function (attacker) {
        var self = this;
        attacker.getAnimation().play("normalAttack");
        attacker.getAnimation().setMovementEventCallFunc(this._movementAttackEvent, this);
    },

    _movementAttackEvent: function (armature, movementType, movementID) {

    },

    _frameAttackEvent: function (bone, evt, originFrameIndex, currentFrameIndex) {

    }
});

原因:

cocos2d-x 2.x版本的jsb中,不能使用继承只cc.Class的对象做CallbackFunc的回调target,

因为这种直接集成自cc.Class的对象做callback回调的target,会把gc搞崩溃。 

解决办法是,集成cc.Node

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值