光谷网站建设公司,邯郸做紧固件网站,网站建设可以自学吗,西安单位网站建设脚本1 触发器脚本 这个脚本是主角身上的脚本#xff0c;用于检测是否碰到其他触发器#xff0c;并做出对应的行为 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ColliidisonTrigger : MonoBehaviour { //触发检测 …
脚本1 触发器脚本 这个脚本是主角身上的脚本用于检测是否碰到其他触发器并做出对应的行为 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ColliidisonTrigger : MonoBehaviour { //触发检测 1.碰到金币克隆区克隆金币 2.恐克隆怪物 3.碰撞金币 吃掉它 加分 4.碰到怪物掉血 5碰到加速带加速、减速 //该触发检测脚本挂到 主角身上 //PlayerCont onePlayer new PlayerCont(); GameObject BeiPengObj; public GameObject MosterMuban; public GameObject CloneStruFather; public GameObject JInbiMUban; public GameObject JinbiFather; private void OnTriggerEnter(Collider other) { BeiPengObj other.transform.gameObject; //如果碰到触发器执行一次 Debug.Log(碰到了别人); if (BeiPengObj.tag MonsterTrigger)//碰到了怪物克隆区触发器 { CloneMonster(); } if (BeiPengObj.tag rCoinTrigger)//碰到了金币克隆区触发器 { Debug.Log(kelongjinbi); CloneCoin(); } if (BeiPengObj.tag TriggerSpeedUp)//碰到了加速区触发器 { Debug.Log(开始加速); Speedup(); } if (BeiPengObj.tag Coin)//碰到了金币触发器 { Debug.Log(吃掉消失金币加分); Destroy(BeiPengObj); addScore(); } if (BeiPengObj.tag Monster)//碰到了怪物障碍物 { Debug.Log(掉血); ScoreManager.SubBlood(); //跨类访问并执行分数类里面的掉血函数 } } void CloneMonster() { for (int i 0; i 10; i) { Vector3 ONETEMPPOS new Vector3(156, 0, BeiPengObj.transform.position.z 50fi*3); Debug.Log(克隆怪物去); GameObject.Instantiate(MosterMuban, ONETEMPPOS, Quaternion.Euler(0, 0, 0), CloneStruFather.transform); } } void CloneCoin() { for (int i 0; i 10; i) { Vector3 ONETEMPPOS new Vector3(156, 0, BeiPengObj.transform.position.z 50f i * 3); Debug.Log(克隆怪物去); GameObject.Instantiate(JInbiMUban, ONETEMPPOS, Quaternion.Euler(0, 0, 0), JinbiFather.transform); } } void Speedup() { PlayerCont.RunSpeed 20f; } void addScore() { ScoreManager.ScoreAdd();//跨类访问并执行分数类里面的加分函数 } }//end class 脚本2 分数管理脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ScoreManager : MonoBehaviour { //分数管理 血量管理 // 如果撞击到金币就加分如果撞击到障碍物就掉血 public static int CurrentScore0; public static int CurrentBlood 10000; public static void ScoreAdd() { Debug.Log(加分函数开始执行); CurrentScore 10; Debug.Log(分:CurrentScore); } public static void SubBlood() { Debug.Log(掉血函数开始执行); CurrentBlood - 100; Debug.Log(血: CurrentBlood); } private void OnGUI() { Rect oneLableRec new Rect(100, 100, 50, 50); GUILayout.Box(CurrentBlood.ToString(), GUILayout.Width(200), GUILayout.Height(50), GUILayout.ExpandWidth(false)); // 创建另一个矩形框背景色为红色边框宽度为3像素 GUILayout.Box(CurrentScore.ToString(), GUILayout.Width(200), GUILayout.Height(70), GUILayout.ExpandWidth(false)); GUILayout.TextField(, GUILayout.Width(200), GUILayout.Height(50), GUILayout.ExpandWidth(false)); } } 脚本3 空物体移动的脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerCont : MonoBehaviour { //Horizontal //1.控制玩家移动,input.getaix //2.A、D控制向左、右移动 //3.W控制跳跃 public GameObject Player; public float LRSPEED 10F; public float JUMPSPEED 5; public static float RunSpeed; private void Start() { RunSpeed 10f; } private void Update() { UserInput(); } //* public void UserInput() { //Debug.Log(检测用户按下的键盘A D W); float MoveZuoY Input.GetAxis(Horizontal); ControlMove(MoveZuoY); if (Input.GetKey(KeyCode.W)) { Jump(); } } void ControlMove(float ZuoyouMove) { Player.transform.Translate(new Vector3(ZuoyouMove * LRSPEED * Time.deltaTime, 0, 0)); } void Jump() { Player.transform.Translate(new Vector3(0, JUMPSPEED * Time.deltaTime, 0)); //Debug.Log(角色开始移动了); } private void FixedUpdate() { AwalysRun(); } void AwalysRun() { Player.transform.Translate(new Vector3(0, 0, 1 * RunSpeed * Time.deltaTime)); } }