用CocosCreator3.6开发一款拼图游戏(四)

244 阅读2分钟

上一次,我们说到了两个节点相互切换的功能的实现,今天我们继续推进这个拼图小游戏。废话少说,赶紧开始。

1.在jigsaw节点下新建一个SpriteSplash(单色)精灵。并且命名为bg image.png

2.为了方便操作,先隐藏下nodeRedy这个节点,只需在右边取消这个激活状态的钩。 image.png

3. 调整下刚才创建的bg的颜色。 image.png

4. 虽然可以在界面上调整bg节点的大小,但是这样不方便。下面说下如何在脚本上设置bg的大小。

(1)打开game.ts脚本。添加一个初始化的bg节点大小的函数initjigsaw

image.png

(2)声明一个node类型的属性装饰器

    @property({type:Node})

    bg=null

(3)将节点bg关联到我们之前声明的属性装饰器上

image.png

(4) 在函数initjigsaw上设置bg的大小

    initjigsaw(){

        this.bg.width=600

        this.bg.height=600 

    }

(5)在点击函数上调用initjigsaw函数

image.png  

(6)效果如下,调用成功

image.png

5.在Canvas下新建一个SpriteSplash(单色)精灵。并且命名为item

image.png

6.设置item的颜色,大小默认100

image.png

7.在item节点下再新建一个Label(文本),并且命名为num

image.png

8. 设置num的String为0,调整字体的大小为50

image.png

9. 接下来,我们制作预制资源,这个很简单。

(1)在assets下新建一个文件夹prefab,用来存放预制资源,如果前面已经建了这个文件夹,那么这次就不用建了。

image.png

  (2)将item拖动到prefab文件夹里,这样就可以制作成一个预制资源了,是不是很简单,这时就可以将Canvas下的item节点删掉了

image.png

  10. 接下来说说预制资源的使用。

(1)打开game.ts脚本,引入Prefab

image.png

(2)声明一个预制资源。跟之前声明节点一样。

    @property({type:Prefab})

    item=null

  (3) 关联预制资源

image.png

(4)引入instantiate

image.png

(5)在initjigsaw函数里实例化item,并且挂到bg节点下。

        let node_item=instantiate(this.item)

        node_item.parent=bg

(6)效果如下。

image.png

今天就到这里了,主要说了预制资源的制作和调用。下次我们继续。可能写的过程中还有很多不好的地方,希望大家能指出来,在此,谢谢大家