温馨提醒:即刻转去Unity3d
精灵不显示:
不要在空节点下直接添加组件
正确的做法是:在空节点(Node)上右键创建一个精灵才会给看到 或者直接拖曳一个图片放到场景编辑器中也可
cocos creator 3.x图片动态加载
不知道是这文档抽象还是我阅读理解有问题 居然百度了三个小时没搜到哪里错了 后面在读了一遍才知道他是啥意思
这里是引用
加载 SpriteFrame 或 Texture2D
图片设置为 sprite-frame 或 texture 或其他图片类型后,将会在 资源管理器 中生成一个对应类型的资源。但如果直接加载 test assets/image,得到的类型将会是 ImageAsset。你必须指定路径到具体的子资源,才能加载到图片生成的 SpriteFrame:
// 加载 SpriteFrame,image 是 ImageAsset,spriteFrame 是 image/spriteFrame,texture 是 image/texture
resources.load("test assets/image/spriteFrame", SpriteFrame, (err, spriteFrame) => {
this.node.getComponent(Sprite).spriteFrame = spriteFrame;
});
// 加载 SpriteFrame,image 是 ImageAsset,spriteFrame 是 image/spriteFrame,texture 是 image/texture
他的意思是你在你读到图片路径的屁股后面加一句/spriteFrame 获得的就是SpriteFrame的类型
加一句/texture就是texture的类型
我一直以为你他那个“image”是文件夹的意思 给我整无语了
我的图片位置:
我的脚本挂在:
然后代码应该这么写
let self = this;
resources.load("test assets/image/ddd/spriteFrame", SpriteFrame, (err, spriteFrame) => {
self.node.getComponent(Sprite).spriteFrame = spriteFrame
});
物理碰撞
3.x版本和以前不同
物体产生物理碰撞之后,原有的物理碰撞回调没有了
从 v3.0 开始,碰撞体回调需要在开始的时候进行注册,与原先 v2.x 会直接产生回调不同。因此开发者需要在物理回调的脚本中增加对回调函数的注册。例如:
let collider = this.getComponent(Collider2D);<