cocos2d-x js移植安卓 —— 填坑3 runAction方法报错 Invalid Native Object

  这次遇到的问题是,调用runAction方法报错 debug info: Invalid Native Object,同样的,浏览器正常,安卓就不能。

先介绍一下游戏里的相关代码


这里的意思是游戏结束了,创建一个action出来,这个action是用来调用superFailDownFinsh方法的,我们把这个action交给superMen, 然后调用superMen的fail方法。下面是superMen出问题的方法:


先说一下,superMen.fail()的主要功能就是把superMen的state改成SuperMen.State.fail,于是每一桢就执行上面这段代码了,当条件达到时就会执行this.runAction方法, 这个this.afterFailAction就是第一段代码中的action,那为什么会报这个错呢?


纠结了半天,最后在网上看了别人的提问,从回答中找到答案,地址是: http://discuss.cocos2d-x.org/t/cccallfunc-js-cocos2dx-animate-create-invalid-native-object/18972,看第一个回答,一些新建了又不是即时用到的对象,一定要retain一下,html里可以不加,因为h5的运行机制和c++的不同,毕竟c++是更底层的语言,不会像h5这样随意,我们将第一段代码改成这样就好了:


再运行一下,成功了!


题外话说句,最近是有抽时间去学英语才看得懂人家说什么,这是一门很重要的外语,学好了就能掌握一手学习资料,也能参考老外解决问题的方法!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值