主题
Cocos
下载
https://www.cocos.com/creator-download
学习资料
项目目录
library、temp 是自动生成的,遇到缓存问题可尝试删除。
核心概念
- 一个游戏是由多个场景组成的,一个场景是由多个节点组成的,一个节点是由多个组件组成的。
- 子节点会随着父节点变动,但父节点不会随着子节点变动
层级管理器
用于管理节点(查看、新增、删除)
默认节点:
- Main Light(光源)
- Main Camera(摄像机)
场景编辑器
查看当前场景内所有节点(红线x轴左右方向,蓝线z轴前后方向,绿线y轴上下方向)。
提示
- 选中节点后,按
F键可重置视角到该节点。 - 按住鼠标右键,左下角会出现提示,可移动视角。
属性检查器
查看和编辑场景内所有的组件。
资源检查器
存储和查看资源文件。
- assets:存储自定义文件。
- internal:存储官方自带资源。
资源预览
查看文件、路径等信息。
控制台
查看输出信息。
动画编辑器/动画图
用于编辑游戏动画。
生命周期
onLoad:加载函数。脚本第一个执行的函数,一般用于开启监听事件。onDestroy:销毁函数。当组件或者节点被销毁时,执行这个函数,般用于关闭监听事件。start:开始函数:脚本启动执行该函数。update:每帧(1秒 = 60帧)都会执行的循环函数。lateUpdate:延迟函数。update 函数执行后,执行这个函数自动执行函数onDisable:节点被禁用/隐藏时自动执行函数onEnable:节点被启用/显示时自动执行函数
ts
class NewClass extends Component {
onLoad() {
// 监听事件
}
start() {
// 脚本启动
}
/**
* daltaTime 每帧时间
*/
update(deltaTime: number) {
// 每帧执行
}
lateUpdate(deltaTime: number) {
// 延迟执行
}
onEnable() {
// 节点启用
}
onDisable() {
// 节点禁用
}
onDestroy() {
// 关闭监听事件
}
}常见注解
@ccclass:声明一个 Cocos Creator 组件类@property:声明组件的属性,使其可以在编辑器中进行配置和修改
@property
ts
// 脚本中绑定节点/组件
// @property(类型) 对象名:类型 = 默认值
@property(Node)
CNode: Node = null常见 api
获取位置
getPosition:获取节点位置setPosition:设置节点位置- 帧时间补偿:防止设备帧数忽高忽低导致速度不对等,为了防止这种情况的一种处理方式。
ts
update(deltaTime: number) {
let pos = this.node.getPosition() // 获取节点位置
const cPos = this.CNode.getPosition() // 获取另一个节点位置
}碰撞物体
onCollisionEnter:开始触发碰撞时调用onCollisionStay:持续触发碰撞时调用onCollisionExit:结束触发碰撞时调用
ts
class Player extends Component {
PlayerCollider: Collider = null // 赛车自身节点的碰撞组件
onLoad() {
this.PlayerCollider = this.getComponent(Collider) // 获取赛车节点的碰撞组件
this.PlayerCollider.on('onCollisionEnter', this.onCollisionEnter, this) // 监听开始触发
}
onDestroy() {
this.PlayerCollider.off('onCollisionEnter', this.onCollisionEnter, this) // 取消监听开始触发
}
}监听事件
监听事件写法:
ts
input.on(监听类型, 回调函数, this)
input.off(监听类型, 回调函数, this)鼠标事件:
Input.EventType.MOUSE_DOWN:鼠标按下事件Input.EventType.MOUSE_MOVE:鼠标移动事件Input.EventType.MOUSE_UP:鼠标抬起事件Input.EventType.MOUSE_WHEEL:鼠标滚轮事件
触摸事件:
Input.EventType.TOUCH_START:触摸开始事件Input.EventType.TOUCH_MOVE:触摸移动事件Input.EventType.TOUCH_END:触摸结束事件Input.EventType.TOUCH_CANCEL:触摸取消事件
键盘事件:
Input.EventType.KEY_DOWN:键盘按下事件Input.EventType.KEY_PRESSING:键盘持续按下事件Input.EventType.KEY_UP:键盘抬起事件
