在 Unity3D 中抛出 GameObject 差异 C# & JavaScript
Throw GameObject diferences C# & JavaScript at Unity3D
我正在使用 C# 开发 Unity 游戏。我需要从主摄像头扔出一个物体。尝试使用 Javascript 似乎可行,但我需要使用 C# 来完成,并且模拟相同的脚本行为它不起作用。这些是我为此使用的代码:
Javascript(有效)
var vel : int = 2;
var objeto : Transform;
function Start () {
}
function Update () {
if (Input.GetKeyDown("mouse 1")){
var generar = Instantiate (objeto, transform.position, Quaternion.identity);
generar.GetComponent.<Rigidbody>().AddForce(transform.forward * 2000 * vel);
}
}
C#(创建对象,但不施加力)
using UnityEngine;
using System.Collections;
public class LanzarCX : MonoBehaviour {
public Transform objeto;
public int vel= 2;
void Start () {
}
void Update () {
if (Input.GetKeyDown("mouse 1")){
GameObject generar = Instantiate (objeto, transform.position, Quaternion.identity) as GameObject;
generar.GetComponent<Rigidbody>().AddForce(transform.forward * 2000 * vel);
}
}
}
我在两种情况下都使用 2 作为 vel 值和相同的预制件。我做错了什么?谢谢
您检查过您的刚体是否处于活动状态吗?根据 Unity API:
"Force can be applied only to an active rigidbody. If a GameObject is inactive, AddForce has no effect." 此外,在您的 javascript 代码中您没有乘以 vel
我正在使用 C# 开发 Unity 游戏。我需要从主摄像头扔出一个物体。尝试使用 Javascript 似乎可行,但我需要使用 C# 来完成,并且模拟相同的脚本行为它不起作用。这些是我为此使用的代码:
Javascript(有效)
var vel : int = 2;
var objeto : Transform;
function Start () {
}
function Update () {
if (Input.GetKeyDown("mouse 1")){
var generar = Instantiate (objeto, transform.position, Quaternion.identity);
generar.GetComponent.<Rigidbody>().AddForce(transform.forward * 2000 * vel);
}
}
C#(创建对象,但不施加力)
using UnityEngine;
using System.Collections;
public class LanzarCX : MonoBehaviour {
public Transform objeto;
public int vel= 2;
void Start () {
}
void Update () {
if (Input.GetKeyDown("mouse 1")){
GameObject generar = Instantiate (objeto, transform.position, Quaternion.identity) as GameObject;
generar.GetComponent<Rigidbody>().AddForce(transform.forward * 2000 * vel);
}
}
}
我在两种情况下都使用 2 作为 vel 值和相同的预制件。我做错了什么?谢谢
您检查过您的刚体是否处于活动状态吗?根据 Unity API: "Force can be applied only to an active rigidbody. If a GameObject is inactive, AddForce has no effect." 此外,在您的 javascript 代码中您没有乘以 vel