2015-09-27 46 views
1

我試圖創建一個2D空間射擊類型的遊戲使用團結,但我似乎無法使產生的敵人從屏幕的頂部移動到底部,我實際上是新的統一和C#,並且我無法弄清楚我的代碼有什麼問題。我如何讓敵人從屏幕的上下移動到統一的c#中?

這裏是我的代碼:

using UnityEngine; 
using System.Collections; 

public class EnemyControl : MonoBehaviour { 

float speed; 
// Use this for initialization 
void Start() { 
    speed = 2f; 
} 

// Update is called once per frame 
void Update() { 
    Vector2 position = new transform.position; 

    position = new Vector2(position.x, position.y - speed * Time.deltaTime); 

    transform.position = position; 

    Vector2 min = Camera.main.ViewportToWorldPoint(new Vector2(0, 0)); 

    if(transform.position.y < min.y) { 
    Destroy(gameObject); 
    } 
} 
+0

讓我知道如果你有任何問題。我發佈了答案 –

+0

我遇到了DestroyCubes腳本的問題,墜落的物體在與驅逐艦物體碰撞後沒有被破壞 – ryzen1226

+0

在物體,墜落物體和新物體上都添加了2d collider。 –

回答

4

這是你應該如何將對象從頂部移動到下

using UnityEngine; 
using System.Collections; 

public class EnemyControl : MonoBehaviour { 
    float speed; 

    void Start() { 
     speed = 2.0f; 
} 

// Update is called once per frame 
void FixedUpdate() { 

    godown(); 

} 

void godown() { 
    transform.position += Vector3.down *speed* Time.deltaTime; 
} 

現在在你的遊戲世界中添加其他對象,你可以把它稱爲驅逐艦。將新對象放置在場景的底部。爲一個落下的對象標記名稱「fallingObject」。並添加這個腳本與新的對象。

using UnityEngine; 
using System.Collections; 

public class DestroyCubes : MonoBehaviour 
{ 
void OnCollisionEnter2D(Collision2D col) 
{ 
    if(col.gameObject.name == "fallingObject") 
    { 
     Destroy(col.gameObject); 
    } 
} 
} 

新的腳本名稱應爲「DestroyCubes」

+0

順利的遊戲的好主意... –

相關問題