游戏设定:
这个应用程序实现了人类宇宙飞船和怪物宇宙飞船之间的太空战争,它们想要攻击地球。
所以游戏由一艘“人类”飞船组成,它与“怪物”太空船作战,必须尽可能多地摧毁怪物太空梭。
此游戏必须按以下说明工作:
1.载人飞船:可以左右移动,前后移动,发射火箭摧毁怪物的穿梭机。
2.怪物宇宙飞船:可以自上而下移动,当被某些人类火箭摧毁时,它必须出现在某个顶部位置。此外,还有两种类型的巨型宇宙飞船:
a、 怪物1号飞船不能发射火箭,被摧毁时你可以得到2分
b、 怪物2号飞船可以向人类飞船发射火箭,摧毁后你可以获得5分
3.收集点数:当你消灭一个敌人时,收集并显示总分。
4.人和怪物都有生命周期:例如人可以有3个生命周期,怪物可以有5个生命周期,当它与火箭相撞时会减少1个生命周期,当生命周期为零时,它将被摧毁。
任务需求:
1太空船向左/向右/向后移动
2.如何发射火箭
工程
场景
失败
攻击
using UnityEngine;
using System.Collections;
//[AddComponentMenu("MyGame/Player")]
public class Player : MonoBehaviour {
public float m_speed = 1;
public float m_life = 3;
// prefab
public Transform m_rocket;
protected Transform m_transform;
float m_rocketRate = 0;
public AudioClip m_shootClip;
protected AudioSource m_audio;
public Transform m_explosionFX;
protected Vector3 m_targetPos;
public LayerMask m_inputMask;
//float movev=0;
//float moveh=0;
// Use this for initialization
void Start () {
m_transform = this.transform;
m_audio = this.GetComponent<AudioSource>();
m_targetPos = this.m_transform.position;
}
// Update is called once per frame
void Update () {
if (Input.GetKey(KeyCode.UpArrow)) {
//movev -= m_speed * Time.deltaTime;
transform.Translate(Vector3.back * Time.deltaTime*m_speed);
}
if(Input.GetKey(KeyCode.DownArrow)){
// movev += m_speed * Time.deltaTime;
transform.Translate(Vector3.forward * Time.deltaTime*m_speed);
}
if(Input.GetKey(KeyCode.LeftArrow)){
transform.Translate(Vector3.right * Time.deltaTime*m_speed);
// moveh += m_speed * Time.deltaTime;
}
if ( Input.GetKey( KeyCode.RightArrow ) )
{
//moveh -= m_speed * Time.deltaTime;
transform.Translate(Vector3.left * Time.deltaTime*m_speed);
}
// this.m_transform.Translate( new Vector3( moveh, 0, movev ) );
m_rocketRate -= Time.deltaTime;
if ( m_rocketRate <= 0 )
{
m_rocketRate = 0.1f;
if ( Input.GetKey( KeyCode.Space ) || Input.GetMouseButton(0) )
{
Instantiate( m_rocket, m_transform.position, m_transform.rotation );
m_audio.PlayOneShot(m_shootClip);
}
}
}
void OnTriggerEnter(Collider other)
{
if (other.tag.CompareTo("PlayerRocket") != 0)
{
m_life -= 1;
if (m_life <= 0)
{
Instantiate(