详细代码如下:
using UnityEngine;
using System.Collections;
public class Fire : MonoBehaviour {
float speed = 5.0f;
public GameObject newObject;
float firetima = 0.2f;
float nexttime = 0.0f;
void Update()
{
float a = -25 * Time.deltaTime;
float x = Input.GetAxis("Horizontal") * Time.deltaTime * speed;
float z = Input.GetAxis("Vertical") * Time.deltaTime * speed;
transform.Translate(x, 0, z);
if (Input.GetKey(KeyCode.Z))
{
transform.Rotate(Vector3.up * a, Space.Self);
}
if (Input.GetKey(KeyCode.X))
{
transform.Rotate(Vector3.down * a, Space.Self);
}
if (Input.GetButton("Fire1") && nexttime < Time.time)
{
nexttime = firetima + Time.time;
GameObject go = Instantiate(newObject, transform.position, transform.rotation) as GameObject;
go.rigidbody.AddForce(0, 0, 1231);
Destroy(go,2.0f);
}
}
}
接下来,我们要做一个太空大战的小游戏
具体实现效果是:
1、我方点击鼠标左键或按空格键发射子弹,我方子弹连续发射
2、敌方飞机和子弹自动运行,子弹每隔0.5秒向我方发射一颗
3、我方飞机移动时,敌方子弹跟随我方飞机移动
目前实现第一步代码部分
代码如下:
using UnityEngine;
using System.Collections;
public class Player : MonoBehaviour {
float speed = -50.0f;
public GameObject Myplayer;
void Update()
{
float a = Time.deltaTime;
float x = Input.GetAxis("Horizontal") * Time.deltaTime * -speed;
float z = Input.GetAxis("Vertical") * Time.deltaTime * -speed;
transform.Translate(x, 0, z);
if (Input.GetButton("Fire1") )
{
//nexttime = firetima + Time.time;
GameObject go = Instantiate(Myplayer, transform.position, transform.rotation) as GameObject;
go.rigidbody.AddForce(0, 0, 1231);
Destroy(go,2.0f);
}
}
}
更多精彩请关注:http://unity.gopedu.com/