正文
用户输入- Unity3D游戏开发培训
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
用户输入- Unity3D游戏开发培训
作者:Jesai
时间:2018-02-12 14:28:45
用户输入Input
鼠标按键:
-方法:GetMouseButton();
-方法:GetMouseButtonDown()
-方法:GetMouseButtonUp()
-参数为int,0表示左键,1表示右键,2表示滚轮
键盘输入
-方法:GetKey()
-方法:GetKeyDown()
-方法:GetKeyUp()
-参数为KeyCode枚举,表示按的某个键
控制对象
控制对象的位置、旋转、缩放
位置:属性position,方法Translate()
旋转:方法Rotate() ,方法RotateAround()
缩放:属性localScale
类Vector3:表示三维向量,可以理解为三维空间中的点
-成员up、down、left、fight、forward、back、zero、one
Entity3D API
点击Help->Unity Manual
图 3-1
会在浏览器打开API文档.
图 3-2
图 3-3
新建两个场景.File->new Sence
图 3-4
新建一个空对象create->create Empty,命名script,reset一下Tranform
新建一个C#脚本,双击打开脚本
图 3-5
脚本原始的样子是这样的,什么也没有,只有两个方法:
using UnityEngine; using System.Collections; /// 作者:邓家海 /// 用户:DengJiaHai /// 创建日期:2017-01-10 22:50:52 /// 修改: /// 版本:V 1.0.0.0 //添加菜单名字 [AddComponentMenu("Demo2/InputTest1")] public class InputTest : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { if (Input.GetButton("Fire1")) { print("button"); } if (Input.GetButtonDown("Fire1")) { print("down"); } if (Input.GetButtonUp("Fire1")) { print("up"); } } }
选中新建的script场景,然后Edit->Project Settings ->input,然后设置input的属性。
图 3-6
图 3-7
Window->Console 打开控制台,控制台一般用于打印错误消息或者调试。
调试一下
图 3-8
vector3
图 3-9
图 3-10
图 3-11
using UnityEngine;
using System.Collections; public class ExampleClass : MonoBehaviour {
void Slide(Transform target, Vector3 railDirection) {
Vector3 heading = target.position - transform.position;
Vector3 force = Vector3.Project(heading, railDirection);
GetComponent<Rigidbody>().AddForce(force);
}
}
图 3-12
using UnityEngine;
using System.Collections; public class ExampleClass : MonoBehaviour {
public Transform startMarker;
public Transform endMarker;
public float speed = 1.0F;
private float startTime;
private float journeyLength;
void Start() {
startTime = Time.time;
journeyLength = Vector3.Distance(startMarker.position, endMarker.position);
}
void Update() {
float distCovered = (Time.time - startTime) * speed;
float fracJourney = distCovered / journeyLength;
transform.position = Vector3.Lerp(startMarker.position, endMarker.position, fracJourney);
}
}