一个很初级的加载问题

import { _decorator, Component, log, resources, Sprite, SpriteFrame} from ‘cc’;

const { ccclass } = _decorator;

@ccclass(‘Main’)
export class Main extends Component {
start() {
resources.load(“img/HelloWorld”, (error: Error, sp: SpriteFrame) => {
if(sp)
{
let a:Sprite = this.node.getComponent(Sprite)
a.spriteFrame = sp;
}
})
}
}

就写了这么个简单的加载代码,愣是不能把图显示出来
图片路径
/assets/resources/img/HelloWorld.png

也设成了 spriteFrame
给报错
[Preview] Cannot read property ‘0’ of undefined

这是啥问题

https://docs.cocos.com/creator/manual/zh/release-notes/upgrade-guide-v3.0.html
文档写的很清楚
在 v3.0 中使用 bundle.loadresources.load 动态加载 sprite-frametexture 时,需要将路径指定到具体的子资源:

  // 加载 texture

  // v2.x
  resources.load('background', cc.Texture2D, () => {});
  // v3.0
  resources.load('background/texture', Texture2D, () => {});
  // 加载 sprite frame

  // v2.x
  resources.load('background', cc.SpriteFrame, () => {});
  // v3.0
  resources.load('background/spriteFrame', SpriteFrame, () => {});
3赞

我加载是写 了路径

结尾要加 /spriteFrame