在Unity3D上抛出GameObject差异C#和JavaScript
本文关键字:差异 JavaScript GameObject Unity3D | 更新日期: 2023-09-27 18:36:11
我正在使用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 值,并且在两种情况下都使用相同的预制件。我做错了什么?谢谢
您是否检查过您的刚体是否处于活动状态?根据Unity API: "力只能施加到主动刚体上。如果游戏对象处于非活动状态,则 AddForce 不起作用。此外,在你的javascript代码中,你没有乘以vel