场景搭建:
构建场景:用于场景的调转
场景渲染:用于重新开始游戏后,场景亮度不均衡问题:
先取消对Auto Generate的勾选 然后点击Generate Lighting
标签的设置:
部分代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour {
Rigidbody r;
public float speed;//移动速度与发射速度
public GameObject bullets;
public Transform bullctPos;//子弹发射位置
void Start() {
r = GetComponent<Rigidbody>();//获取刚体
}
void Update() {
Fire();
Fire2();
float h = Input.GetAxis("Horizontal") * Time.deltaTime * speed;//物体在水平轴方向移动
float v = Input.GetAxis("Vertical") * Time.deltaTime * speed;//物体在竖直方向移动
Vector3 pos = new Vector3(h, 0, v);
r.velocity = pos;//刚体的移动
}
void Fire() {
if (Input.GetButtonDown("Fire1"))
{
Instantiate(bullets,bullctPos.position,Quaternion.identity);//克隆子弹
}
}
void Fire2()
{
if (Input.GetKeyDown(KeyCode.F))
{
if (GameObject.FindWithTag("Enemy1"))//找到带有Enemy1标签的对象
{
GameObject a= GameObject.FindWithTag("Enemy1");
Destroy(a.gameObject);//销毁带有Enemy1标签的的对象 按一下F销毁一个
}
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletsMove : MonoBehaviour {
Rigidbody r;
public float speed;
public GameObject bullet;
void Start () {
r = GetComponent<Rigidbody>();
StartCoroutine("Span");
}
void Update () {
r.velocity = Vector3.forward * speed * 3;
}
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Enemy"))
{
Destroy(other.gameObject);
}
else
{
Span();
}
}
IEnumerator Span()
{
yield return new WaitForSeconds(5f);
Destroy(bullet);
}
}