download:
C#速成指南:从入门到进阶,实战WPF与Unity3D开发无密
备:https://www.sisuoit.com/2729.html
Cocos 合成大西瓜游戏
在4个月前,我曾经也折腾过一两个礼拜的游戏开发,做的是“合成大西瓜”的游戏:
使用的脚本语言是Typescript
,我发现Cocos的脚本结构和Unity的差不多一样,就比如说游戏对象的生命周期:
在Cocos脚本中
export default class Game extends cc.Component {
start() {}
update() {}
}
在Unity脚本中
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Game : MonoBehaviour
{
void Start(){}
void Update(){}
}
当然还有很多雷同的部分,游戏引擎应该都这样设计的吧。
什么是游戏脚本?
脚本是什么?对于游戏引擎来说脚本到底干了些什么?
首先要明白一点,脚本对于任何一个游戏引擎来说都是必不可少的部分。
它的主要用途是响应玩家的输入,安排游戏过程中就发生的事件,实例化图形效果,控制游戏对象的物理行为,还可以为角色自定义AI系统等等。
Unity中的脚本概念
Unity创建脚本
- Project 面板左上方的 Create 菜单新建脚本
- 选择 Assets > Create > C# Script 来新建脚本
Unity脚本文件剖析
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Wall : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
- MonoBehaviour内置类派生类,用于创建可附加到游戏对象的新组件类型。
- Update(),处理游戏对象的帧更新。
- Start(),脚本初始化的位置。
Unity中的Prefabs
Prefabs中文翻译过来是预制件,它一般用于想在运行时实例化复杂的游戏对象或游戏对象的集合时使用,它非常方便,与使用代码从头开始创建游戏对象相比,有以下优点:
- 一行代码实例化。
- 内置窗口修改prefab。
- 无需更改代码即可更改所实例化的prefab。
以下是Prefab的使用代码,它有一个公共变量“myPrefab”,这是对预制件的引用,在 Start() 方法中创建该预制件的实例。
using UnityEngine;
public class InstantiationExample : MonoBehaviour
{
// 引用预制件。在 Inspector 中,将预制件拖动到该字段中。
public GameObject myPrefab;
// 该脚本将在游戏开始时简单地实例化预制件。
void Start()
{
// 实例化为位置 (0, 0, 0) 和零旋转。
Instantiate(myPrefab, new Vector3(0, 0, 0), Quaternion.identity);
}
}