在我的代碼中,我製作了一個飛行物,拍了子彈。剛體連接到子彈3d對象,Cube變量連接到空遊戲對象。代碼的問題是子彈在起始位置產生在立方體的位置(0,0,0)而不是「飛行物體」的當前位置。順便說一句,這都是用Unity C#編寫的。我已經查了幾次這個問題,但大多數建議都是代碼的變化,這些代碼不起作用,或者需要更多關於每個事物連接的信息。腳本連接到飛行物體。對不起,變量名稱。代碼如下:我的空對象不被我的項目識別爲移動
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SHooting : MonoBehaviour {
public Rigidbody Sphere;
public Transform Cube;
void Update() {
if (Input.GetKey(KeyCode.Q))
{
Rigidbody a;
a = Instantiate(Sphere, Cube.forward, Cube.rotation) as Rigidbody;
a.AddForce(Cube.forward * 200);
}
}
}
使用重載的'Instantiate(...)'方法,它需要參數的位置。 –
@ m.rogalski他已經在使用它,唯一的問題是他在那個地方使用了一個方向向量'Cube.forward'。 – Iggy
@Iggy好吧,對不起,我的壞。剛剛弄清楚了他的錯誤。 –