我写了一个脚本,继承cc.ActionInterval,模拟数字滚动效果的,这个action在web办上跑的时候没问题,但是用模拟器跑或者编译打包到手机上,这个action就无法使用,连构造函数都进不去。。。。求助。。有没有哪位来看下的?
之前也试过这个,的确是不会运行的。因为ActionManager 调用Action的两个关键函数startWithTarget和update的时候不会调用到js对象相应的函数,只会进到它基类的C++函数里面
楼上正解,目前不支持继承 cc.ActionInterval,因为这个类在 C++ 是抽象类,无法实例化,建议用组件的 update 来实现类似的效果
明白~已经用其他方法实现了
使用cocos2d-x js版本也一样不能继承ActionInterval, 而且源码查看发现它并不是抽象类,不知道你所说的在C++里是抽象类什么意思? 而且C++版本的引擎是可以继承自ActionInterval的, MoveBy什么的都是继承自ActionInterval的吧?
C++ 的 ActionInterval 中包含纯虚函数。。。这种类无法实例化
从 JS 层继承 C++ 类,实际上在 C++ 层是不可知的,这样的子类实例化的时候,还是需要实例化 C++ 层的父类,并将父类 C++ 对象和实际的 JS 对象绑定在一起。
现在你们知道为什么不行了吧?因为 ActionInterval 在 C++ 层不能实例化,所以你在 JS 层继承的类也无法实例化。。。