Creator 3.0.0正式版 远程加载的texture赋值给spriteFrame报错

代码是这样写的:
assetManager.loadRemote(data.image, function (err, texture) {
if (err) {
log(“LoadHeadErr:”, err)
}
else {
self.spriteHead.node.active = true;
let spriteFrame = new SpriteFrame()
spriteFrame.texture = texture
self.spriteHead.spriteFrame = spriteFrame;
}
});

报错内容:this._texture.getGFXTexture is not a function

没有以前那种
let sFrame = new spriteFrame(texture)
xxx.spriteFrame = sFrame
这样的方法了么
那现在应该怎么写呢

按照文档上来写也会报错
const spriteFrame = new SpriteFrame()
spriteFrame.texture = texture
self.spriteHead.spriteFrame = spriteFrame;

3.0版本也遇到问题,Sprite.spriteFrame 赋值报错

2赞

如果要加载.jpg格式得图片呢

如果要加载.jpg格式得图片呢

格式改成jpg,不可以? {ext:’.jpg’}

改成.jpg不行得


image
这是我的测试情况,如果你那边实在不行,可以提供个demo,这边帮你排查一下;
测试图片地址:
https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=3355464299,584008140&fm=26&gp=0.jpg

1赞

HI,你例子中这个.jpg可以加载。但是我后面还有参数的url,在电脑上可以加载出来,打包到OPPO上就失败了。比如:http://pfs.pinduoduo.com/phone_adx/535cbfda-0910-11eb-80ab-862803b7f562.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DoHMACf6FzEmrUMOe8Hman8EKSbi2WB3e%26q-sign-time%3D1621587389%3B1621932989%26q-key-time%3D1621587389%3B1621932989%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3D399a5027462d68be12dc45876a5d2819f85011c5

在OPPO上报错信息如下:err: Error: com.nearme.instant.loopj.android.http.HttpResponseException
at fail (/data/user/0/com.nearme.instant.platform/app_game/app/com.sunmosh.mxjyj.kyx.nearme.gamecenter/1202/runtime-adapter/jsb.min.js:141)

你好,引擎版本是?

3.0.0

我刚才尝试把我url的问题后面的部分删除掉,发现用浏览器也打不开,加载也不行。报错如下:{“status”:“Unauthorized”,“message”:“Authorized failed.”,“resource”:"//pfs.pinduoduo.com/phone_adx/535cbfda-0910-11eb-80ab-862803b7f562.jpg",“requestId”:"611124831b60a0388bc7dfa9a6b92999"}。这种奇怪的url在对接OPPO广告时,原生图片返回的

经过测试,2.3版本是可以的。3.0和3.1都不行

使用这个试试:


assetManager.downloader.downloadDomImage(url, { ext: ‘.png’ }, (err, res) => {})

1赞

可以用了,非常感谢

1赞

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。