您现在的位置是:首页 >技术教程 >《创死小草》Unity制作(代码版)网站首页技术教程
《创死小草》Unity制作(代码版)
简介《创死小草》Unity制作(代码版)
本文章只提供代码,资源请自行到资源商店挑选自己喜欢的模型,音乐,图片
主菜单
using UnityEngine;
using UnityEngine.SceneManagement;
///<summary>
///
///</summary>
public class changesc : MonoBehaviour
{
public void cnm()//play按钮绑定的函数
{
Time.timeScale = 1;
SceneManager.LoadScene("SampleScene");
}
}
人物代码
using UnityEngine;
using UnityEngine.SceneManagement;
///<summary>
///
///</summary>
public class move : MonoBehaviour
{
public float speed;
public GameObject button;
public void Update()//玩家移动
{
if(Input.GetKey(KeyCode.A))
{
this.transform.Translate(-speed*Time.deltaTime,0,0);
}
if(Input.GetKey(KeyCode.S)) { this.transform.Translate(0,0,-speed*Time.deltaTime); }
if( Input.GetKey(KeyCode.D)) { this.transform.Translate(speed * Time.deltaTime, 0, 0); }
if(Input.GetKey(KeyCode.W)) { this.transform.Translate(0,0,speed *Time.deltaTime);}
}
public void OnCollisionEnter(Collision collision)
{
if(collision.gameObject.tag=="enemy")//碰到敌人 就激活按钮
{
Destroy(gameObject,2);
Time.timeScale = 0;
button.SetActive(true);
}
}
public void jk()//按钮绑定函数
{
Time.timeScale = 1;
SceneManager.LoadScene("SampleScene");
}
public void cnm()//按钮绑定函数
{
Time.timeScale = 1;
SceneManager.LoadScene("play2");
}
}
敌人移动代码
using UnityEngine;
///<summary>
///
///</summary>
public class follow : MonoBehaviour
{
public float speed;
public GameObject GameObject;
public void Update()
{
if (GameObject != null)
{
transform.LookAt(GameObject.transform.position);//朝着玩家沿着X轴移动
transform.Translate(speed * Time.deltaTime, 0, 0);
}
}
}
using UnityEngine;
///<summary>
///
///</summary>
public class follow2 : MonoBehaviour
{
public float speed;
public GameObject GameObject;
public void Update()
{
transform.LookAt(GameObject.transform.position);//敌人沿着玩家Y轴移动
transform.Translate(0,0,speed * Time.deltaTime);
}
}
第二关的UI
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
///<summary>
///
///</summary>
public class ui : MonoBehaviour
{
public Text Text;
public int sum;
public float time;
public Text nm;
public float timeup;
public static bool jk=true;
public void Update()
{
time = time + Time.deltaTime;
if (time>1)
{
sum++;
time = 0;
}
Text.text = "存活时间:" + sum.ToString()+" 预期得分20分";
if(sum>20)
{
Text.gameObject.SetActive(false);
nm.gameObject.SetActive(true);
timeup=timeup+Time.deltaTime;
if(timeup>2) {
SceneManager.LoadScene("play2");//两秒后切换场景
}
}
}
}
第三关随机生成敌人代码
using UnityEngine;
///<summary>
///
///</summary>
public class create : MonoBehaviour
{
public GameObject GameObject;
public Vector3 jk;
public float time;
private GameObject jkl;
public GameObject player;
public float speed;
public void Update()
{
time += Time.deltaTime;
if (time > 4f)//每四秒生成敌人
{
double op = Random.Range(-3.86f, 4.05f);
double nm = Random.Range(-3.08f, 3.31f);
jk = new Vector3((float)op, this.transform.position.y,(float)nm);
jkl= Instantiate(GameObject, jk, Quaternion.identity);
time = 0;
}
jkl.transform.LookAt(player.transform.position);//生成的敌人跟随玩家
jkl. transform.Translate(0, 0, speed * Time.deltaTime);
}
}
第三关的UI页面
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
///<summary>
///
///</summary>
public class endui : MonoBehaviour
{
public Text Text;
public int sum;
public float time;
public GameObject button;
public float timeup;
public void Update()
{
time = time + Time.deltaTime;
if (time > 1)
{
sum++;
time = 0;
}
Text.text = "存活时间:" + sum.ToString() + " 预期得分20分";
if (sum > 20)
{
button.SetActive(true);
Time.timeScale = 0;
}
}
public void nm()
{
Time.timeScale = 1;
SceneManager.LoadScene("menu");//回到第一场景
}
}
本人小白,若有错误或者可以完善的地方都能私聊我哟!
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。