个人总结
脚本语言学习的窍门
尽可能多读、多写、多说脚本语言!
Link
游戏制作步骤
设计游戏时一般会遵循5个步骤:
- 罗列出画面上所有的对象。
- 确定游戏对象运行需要哪些控制器脚本。
- 确定自动生成游戏对象需要哪些生成器脚本。
- 准备好用于更新UI的调度器脚本。
- 思考脚本的编写流程(规划前三步脚本编写顺序,通常按原序即可)。
Link
移动对象的制作步骤
- 在场景视图中配置对象。
- 编写控制对象移动的脚本(控制器脚本)。
- 将创建好的脚本挂载到对象上。
Link
UI的制作方法
- 把UI组件配置到场景视图中。
- 编写用于切换UI的调度器脚本。
- 创建调度器(空)对象,
- 为调度器挂载编写好的脚本。
Link
访问非自身所在对象的组件
- 用Find方法找到该对象。
- 用GetComponent方法获取该对象挂载的组件。
- 访问该组件持有的数据。
例程:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // --->使用UI组件必须引入它<---public class GameDirector : MonoBehaviour {GameObject car;GameObject flag;GameObject distance;void Start() {//1.//类似js的document.getElementById()this.car = GameObject.Find("car");this.flag = GameObject.Find("flag");this.distance = GameObject.Find("Distance");}void Update() {float length = this.flag.transform.position.x - this.car.transform.position.x;//2. & 3.this.distance.GetComponent<Text>().text = "距离目标" + length.ToString("F2") + "m";}
}
Link
添加音效的方法
- 将AudioSource组件挂载到需要播放音效的对象上。
- 给AudioSource组件设置音效。
- 找准播放音效的时机,并在脚本中调用Play方法。
Link
对象工厂的创建方法
- 通过已经存在的对象来生成Prefab。
- 创建生成器脚本。
- 在空对象上挂载生成器脚本。
- 将Prefab传给生成器脚本。
Link
outlet连接:将Prefab传给生成器脚本
- 要在脚本中创建“插口”,就必须在变量钱添加public关键字。
- 添加了public关键字的变量都会显示在检视器窗口中。
- 通过检视器窗口中的“插口”将希望带入的对象“插入”(拖曳操作)。
Link
关于Physics的心得
-
Physics是非常有用的工具,但不使用它也能开发游戏。
-
建议在需要模拟物理规律运动的游戏或者需要进行碰撞检测的游戏中使用。
-
要将玩家的操作反映到游戏中,需要编写脚本来实现。
-
通过Physics使对象运动时,不能直接改变坐标,而应施加“力”。
Link
使用Physics完成碰撞检测的条件
- 参与碰撞检测的所有对象都必须挂载Collider组件。
- 在参与碰撞检测的对象中,至少有一方挂载了RigidBody组件。
Link