【发布时间】:2016-02-26 11:14:18
【问题描述】:
我正在使用 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#(它创建 de 对象,但不施加力)
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 值和相同的预制件。我做错了什么?谢谢
【问题讨论】:
-
看不到变量 vel 的初始化,请确保 vel 大于 0。
-
我同意,vel i C# 脚本似乎是 0
-
你好 Chad,我在这两种情况下都使用 2 作为 vel 值,并且使用相同的 prefab 作为 objeto。谢谢
-
看到它是一个公共变量,请确保在检查器中更改
vel的值,而不仅仅是在脚本中。 -
JD
标签: c# unity3d unityscript