这世上只有一种成功,就是能够用自己喜欢的方式度过自己的一生!
1. 项目基本结构
+assets (项目资源的根目录名)
-Texture (存放其他资源)
-Script (存放脚本文件) ccc中脚本名就是组件名,大小写敏感!
-Scene (存放游戏场景)
2. 脚本文件的结构
cc.Class({ extends: cc.Component, properties: { label: { default: null, type: cc.Label }, // defaults, set visually when attaching this script to the Canvas text: 'Hello, World!' }, // 用于初始化 onLoad: function () { this.label.string = this.text; }, // called every frame update: function (dt) { }, });
properties :组件(挂载到场景中的节点上,提供控制节点的各种功能;这些properties可以直接在属性检查器中设置)
onload :页面一加载完就执行里面的函数代码
update : 根据时间实时更新,更新回调
3. Prefab(预制资源)
需要重复生成的节点,我们可以将他保存成Prefab(预制)资源,作为我们动态生成节点时使用的模板
比如将Texture文件夹下的一张图片,拖到层级管理器系统即是场景的canvas里面,再从层级管理器拖到Texture文件夹中就是预制资源(预制资源的图标是个灰色正方形)啦(我也觉得这操作有点奇怪)
4. 学习ccc需要对JavaScript非常熟悉
5. 常见基础 API
cc.moveBy("几秒",cc.p("横坐标","纵坐标")) 移动指定的距离
cc.moveTo("几秒",cc.p("横坐标","纵坐标")) 移动到目标位置
cc.easeCubicActionOut() 创建 easeCubicActionOut 缓动对象 ,就是缓慢减速的一种效果
cc.repeatForever("一个序列") 永远地重复一个动作
node.runAction("动作序列名") 执行并返回该执行的动作。该节点将会变成动作的目标。
this.node.addChild("节点名","层级数字"); 添加子节点
"节点名".setPosition(); 设置节点在父节点坐标系中的位置
cc.callFunc 执行回调函数
"节点名".removeFromParent 从父节点中删除该节点
cc.sequence(); 顺序执行动作,创建的动作将按顺序依次运行
6. Scene介绍和基本操作
Scene 每个游戏都会用到场景切换!Director类 游戏导航仪,控制 初始化,场景切换,游戏暂停继续等等
cc.director.loadScene("场景名"); 加载一个场景
cc.director.preloadScene("场景名"); 预加载场景(比如图片资源比较大就可以用它预先加载)
this.node.on("事件名","函数"); 事件(事件名,function)
this.schedule(function(){},1); 类似js的setTimeout
改变一个标签上面的文字居然是这样的 this.timeLabel.string=4; (说好的和js差不多呢)
模拟手机游戏的场景的canvas要改成 W:640 H: 960
7. 玩家输入事件语法
EventTarget 事件目标是事件触发时,分派的事件对象,Node 是最常见的事件目标, 但是其他对象也可以是事件目标
8. 关闭左下角的fps面板,在场景脚本的文件中 onLoad 的函数中写以下:
cc.director.setDisplayStats(false);9.