例如我在按钮按下时切换到开始场景:
using System.Collections;
public class BeginGame : MonoBehaviour {
public StateRun m_RunState;
public Main_Script m_MainScript;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnMouseEnter()
{
print("enter");
}
void OnMouseUp()
{
m_MainScript.ChangeState(m_RunState);
}
void OnMouseExit()
{
print("exit");
}
}
这个脚本是挂在一个板上面的,点击它时就进入游戏的主场景了。下回说一下飞机的移动。
现在开始真正的游戏元素的编写了。
第一步,让飞机动起来。
首先是飞机的前进,通常2D中的做就是背景的循环滚动。
在3D中我们可以让摄像机移动,背景我们可以做超一个大地形。。在地形上摆一些固定的东西。
// Update is called once per frame
void Update () {
TurnLeft = false;
TurnRight = false;
if (Input.GetKey(KeyCode.W))
{
Vector3 screenPos = Camera.mainCamera.WorldToScreenPoint(this.transform.position);
//print(screenPos.y);
if (Screen.height > screenPos.y)
this.transform.Translate(Vector3.forward * Time.deltaTime * m_nMoveSpeed);
}
if (Input.GetKey(KeyCode.S))
{
Vector3 screenPos = Camera.mainCamera.WorldToScreenPoint(this.transform.position);
if (0 < screenPos.y)
this.transform.Translate(Vector3.forward * Time.deltaTime * -m_nMoveSpeed);
}