上一次,我们说到了两个节点相互切换的功能的实现,今天我们继续推进这个拼图小游戏。废话少说,赶紧开始。
1.在jigsaw节点下新建一个SpriteSplash(单色)精灵。并且命名为bg
2.为了方便操作,先隐藏下nodeRedy这个节点,只需在右边取消这个激活状态的钩。
3. 调整下刚才创建的bg的颜色。
4. 虽然可以在界面上调整bg节点的大小,但是这样不方便。下面说下如何在脚本上设置bg的大小。
(1)打开game.ts脚本。添加一个初始化的bg节点大小的函数initjigsaw
(2)声明一个node类型的属性装饰器
@property({type:Node})
bg=null
(3)将节点bg关联到我们之前声明的属性装饰器上
(4) 在函数initjigsaw上设置bg的大小
initjigsaw(){
this.bg.width=600
this.bg.height=600
}
(5)在点击函数上调用initjigsaw函数
(6)效果如下,调用成功
5.在Canvas下新建一个SpriteSplash(单色)精灵。并且命名为item
6.设置item的颜色,大小默认100
7.在item节点下再新建一个Label(文本),并且命名为num
8. 设置num的String为0,调整字体的大小为50
9. 接下来,我们制作预制资源,这个很简单。
(1)在assets下新建一个文件夹prefab,用来存放预制资源,如果前面已经建了这个文件夹,那么这次就不用建了。
(2)将item拖动到prefab文件夹里,这样就可以制作成一个预制资源了,是不是很简单,这时就可以将Canvas下的item节点删掉了
10. 接下来说说预制资源的使用。
(1)打开game.ts脚本,引入Prefab
(2)声明一个预制资源。跟之前声明节点一样。
@property({type:Prefab})
item=null
(3) 关联预制资源
(4)引入instantiate
(5)在initjigsaw函数里实例化item,并且挂到bg节点下。
let node_item=instantiate(this.item)
node_item.parent=bg
(6)效果如下。
今天就到这里了,主要说了预制资源的制作和调用。下次我们继续。可能写的过程中还有很多不好的地方,希望大家能指出来,在此,谢谢大家