精灵不显示:
不要在空节点下直接添加组件
正确的做法是:在空节点(Node)上右键创建一个精灵才会给看到 或者直接拖曳一个图片放到场景编辑器中也可
cocos creator 3.x图片加载
我是没想到这个玩意和2.4版本完全不同的 我踩了整整3个小时的坑
代码如下
import { _decorator, Component, Node,resources,SpriteFrame,Sprite,ImageAsset, Texture2D, sp } from 'cc';
const { ccclass, property } = _decorator;
/**
* Predefined variables
* Name = NewComponent
* DateTime = Thu Jan 13 2022 20:43:55 GMT+0800 (中国标准时间)
* Author = sxtsxts
* FileBasename = NewComponent.ts
* FileBasenameNoExtension = NewComponent
* URL = db://assets/NewComponent.ts
* ManualUrl = https://docs.cocos.com/creator/3.3/manual/zh/
*
*/
@ccclass('NewComponent')
export class NewComponent extends Component {
// [1]
// dummy = '';
// [2]
// @property
// serializableDummy = 0;
start () {
let self = this
resources.load("test/ddd",function(err,imageAsset:ImageAsset){
console.log(self.getComponent(Sprite).spriteFrame);
let spriteFrame = new SpriteFrame();
let texture = new Texture2D();
console.log(imageAsset)
texture.image = imageAsset;
spriteFrame.texture = texture;
// console.log(spriteFrame);
self.node.getChildByName("Sprite").getComponent(Sprite).spriteFrame = spriteFrame
// console.log(self.getComponent(Sprite).spriteFrame);
// (self.getComponent(Sprite)as Sprite).spriteFrame = spriteFrame;
// console.log(self.getComponent(Sprite).spriteFrame);
});
}
// update (deltaTime: number) {
// // [4]
// }
}
/**
* [1] Class member could be defined like this.
* [2] Use `property` decorator if your want the member to be serializable.
* [3] Your initialization goes here.
* [4] Your update function goes here.
*
* Learn more about scripting: https://docs.cocos.com/creator/3.3/manual/zh/scripting/
* Learn more about CCClass: https://docs.cocos.com/creator/3.3/manual/zh/scripting/ccclass.html
* Learn more about life-cycle callbacks: https://docs.cocos.com/creator/3.3/manual/zh/scripting/life-cycle-callbacks.html
*/