【cocos creator 系列教程之三】prefab讲解&cc项目多开&分享

本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/cocos-creator/1985.html

还有几天就要过年了,今天Himi就要坐车回老家了,这里提前祝福各位新年快乐、家庭和睦、万事如意。

进入主题,今天讲解下的小伙伴比较在意的几点问题:(当前使用的版本 0.7.1)

     1. 关于Prefab的使用与概述

     2. Cocos Creator 如何同时打开多个项目

     3. 如何把自己的Cocos Creator的项目分享给别人

一. 关于Prefab的使用与讲解(CC版Prefab的方式说明)

Prefab:大家习惯喊它“预制体”,其实通俗的讲大家可以理解成是个“被打包的集合”,Prefab可以是由一个或多个节点(Node)、组件(Sprite、Label、Js脚本等)组合,当然其中也会包括组件之间的关系等一同保存。

   a)  什么时候用Prefab?(Himi就说下从接触U3d到现在对Prefab的理解吧)

   当你想制作一个有通用性强、或想重复使用的且个体之间存异较少时…你都应该第一时间想到Prefab:

   例1:背包中每个物品,如下图:

像上图中可以明显看到,每个物品都包括:一个底图、一个物品icon、一个label数量、一个文本name,不同的是每个元素内容的不同而已。因此可以我们可以设计一个Prefab 结构 如下:

KnapItem(Node)

        itemBG      (Sprite)

        itemIcon   (Sprite)

        itemCount(Label)

        itemName (Label)

例2: 排行榜每一条目(基本都是相同的,可能每一条底图有区分)

上图中我们可以将每个条目设计Prefab 其结构如下:

RankList(Node)

        rankBG(Sprite)

        rankOderNo(Label)

        rankIcon (Sprite)

        rankNick(Label)

        rankEquIcon1(Sprite)

        rankEquIcon2(Sprite)

        rankEquIcon3(Sprite)

创建好Prefab后,利用脚本for循环实例化Prefab,并对其进行设置各自应该显示的内容、图片等即可。

 b) 如何创建Prefab:

  那么下面我们来通过如下图 ( 点击图片查看动态Gif效果 )   来演示创建Prefab的过程:

其实创建Prefab很简单,只要你在层级管理器视图创建的任意节点->拖动到->资源管理器视图即可完成创建。

c) 如何在脚本中进行实例使用:


2
3
4
5
6
7
8
t_prefab:{
    default:null,
    type:cc.Prefab
},
 
var tPrefab = cc.instantiate(this.t_prefab);
tPrefab.parent = this.node;
tPrefab.setPosition(-210,100);

d)已创建好的Prefab的修改操作

      当前版本无法支持选中做好的Prefab进行直接修改操作。所以我们步骤进行:

将制作好的Prefab拖到层级管理器
选中进行修改Prefab,然后查看属性检查器,可看到如下图:

以看到有个“prefab”标签,其中按钮的作用如下:

     “回退”:当你当前Prefab如果有任意一处与原型Prefab不同时,可点击进行还原。

     “保存”:当你当前Prefab如果有任意一处与原型Prefab不同时,可点击进行保存并修改原型Prefab

   【注意】修改Prefab(原型Prefab有改动)那么所有的Prefab示例都会改变!

二. 如何打开多个不同的Cocos Creator项目

 Windows: 双击图标即可

 Mac:打开终端,使用 open -n PATH,  (PATH是你CC的路径)如下:

 open -n /Applications/CocosCreator.app/

三. 如何将自己的Cocos Creator 整个项目分享给别人

    1. 当前的版本由于还没有与cc的.fire文件关联,所以如果想把项目分享给别人,只需要将项目根目录下,除“temp”与“library” ,剩余所有文件发给别人即可。



2. 对方将所有文件替换一个新创建的空项目即可

那么本篇就先到这里,下一篇Himi将利用当前的版本制作一个PageView。

1赞

这不就是传说中的组件化么。。。。。

你做好了我来用,他做好了我也来用,你们都做好了,我来拼起来,自己再做个主要玩法,游戏就上线了。。。。。。:5:

1赞

顶!
:2::2:

1赞

为什么实例化后修改prefab里的label的string,不显示,但是用cc.log就能打印出。

1赞

一个 Prefab 做好以后,能分享给别人使用吗?似乎不行