1.5.1还是有Scale9SpriteV2错误么?

使用Creator 1.5.1-beta.3 场景设置中没有勾选“自动释放资源”和“延迟加载资源”,在iOS真机环境下出现如下异常,屏幕黑屏
jsb: ERROR: File /Users/nantas/fireball-x/cocos2d-x-prebuilt/cocos/scripting/js-bindings/auto/jsb_creator_auto.cpp: Line: 245, Function: js_creator_Scale9SpriteV2_setInsetTop
js_creator_Scale9SpriteV2_setInsetTop : Error processing arguments

而且令人奇怪的是,只有这一个场景会报上面的错,其他场景,即使勾选了“自动释放资源”(但没勾选“延迟加载资源”),却一切正常,实在不知道是怎么回事了。。。。。。

算了,感觉1.5的坑简直深不可测,我还是回退到上一个版本吧。。。。。。。

能否提供一个 可以重现问题的 demo,我可以帮忙看一下。

PS:别回退啊,1.5 优化大大滴,昨有问题可以解决。

我记得这个问题很早就修复了,楼主提交个 demo 上来吧,但愿我能重现。

额,找了几天,终于找到引起问题的代码是什么了:

squareItem.getComponent(cc.Sprite).spriteFrame = frame;

问题出现在上面代码中frame的生成方式:
frame = this._dinosaur.clone();
frame.setRect(cc.rect(splitWidth * j, splitHeight * i, splitWidth, splitHeight));

_dinosaur这个是通过拖拽设置到组件上的SpriteFrame

如果通过clone的方式,在1.5.1beta1、beta3、beta4版本中都会报我上面的异常,如果直接改成

squareItem.getComponent(cc.Sprite).spriteFrame = this._dinosaur;

那么世界就安静了~~~

但是clone的写法在1.4.2中却是正常的,这是为啥子NIE?????

说实话,我也不想回退的,本人是从强类型语言转到JS的,对JS的原型写法是一点都不!!!感!!!冒!!!
Prototype是什么鬼,完全理解不能好吗??
而且IDE没有代码提示,简直让人捉急啊,要调用个方法还得几个文件来回切换,很累的~~~
但是出现上面的问题,我完全解决不能啊~~~~~:6::6::6::6::6::8::8::8::8:

Jsfriendapi.h里面的这个ProtoKeyToClass 方法,经常报崩溃,却不知道该怎么去找问题

谢谢反馈!已修复了 https://github.com/cocos-creator/engine/pull/1714

看看这两段话吧,够透彻不? https://www.zhihu.com/question/26881145/answer/35489674

这么快?我还准备弄个简单的demo上来,免得描述上出现疏漏,影响你们查问题呢~
那我要怎么打这个补丁呢?还是说只能等beta5?

等 beta 5 吧

我的spriteFrame是从骨骼动画的slot通过display.getSpriteFrame()里面获取的,在原生平台赋值给Sprite Component的spriteFrame也会报这个错啊:sweat: 我用的是1.5.1

var armature = armatureD.armature();
var slots = CC_JSB ? armature.getArmatureData().slots : armature.getSlots();

for (var z in slots) {
    var display = CC_JSB ? armature.getSlot(z).display : slots[z].display;
    var spriteFrame = null;

    if (CC_JSB) {
        spriteFrame = display.getSpriteFrame();
    } else {
        spriteFrame = display._spriteFrame;
    }

    this._spriteFrames[key] = spriteFrame;
}
...
sprComponent.spriteFrame = this._spriteFrames[...];

麻烦提交一个 demo 给我谢谢

你需要一个webstrom