【问题标题】:Issues adding force to a newly instantiated GameObject in Unity 5.3在 Unity 5.3 中向新实例化的游戏对象添加力的问题
【发布时间】:2016-01-17 02:29:19
【问题描述】:

我正在 Unity 5.3 中制作 2D 游戏,但在我刚刚从预制件实例化的游戏对象上使用 AddForce() 时遇到问题。我还在第 12 行的分号上收到了一个语法错误。除了这个语法错误之外,Unity 还抱怨这一行的最后三个字符。 (不包括评论)javascript代码如下:

#pragma strict

var Toast : GameObject;
var ToastSpawner : GameObject;

function Start() {
    InvokeRepeating("spawnToast", 3, 1);
}

function spawnToast() {
    var toastClone = Instantiate(Toast, Vector3 (0,-2,0), Quaternion.identity) as GameObject;
    var rb = toastClone.GetComponent<Rigidbody2D>(); //Line 13
    rb.AddForce(Vector3.up * 1000);
}

感谢任何帮助! :)

【问题讨论】:

    标签: javascript unity3d-2dtools


    【解决方案1】:

    我通过将一个新脚本附加到处理AddForce() 函数的预制件上解决了我的问题。代码如下。

    生成 toast 的脚本:

    #pragma strict
    
    var Toast : GameObject;
    var ToastSpawner : GameObject;
    
    function Start() {
        InvokeRepeating("spawnToast", 0, 1);
    }
    
    function spawnToast() {
        var toastClone = Instantiate(Toast, ToastSpawner.transform.position, Quaternion.identity);
    }
    

    移动 toast 的脚本:

    #pragma strict
    
    var rb : Rigidbody2D;
    
    function Start () {
        Invoke("moveToast", .5);
    }
    
    function moveToast () {
        rb.AddForce(Vector2 (0,5), ForceMode2D.Impulse);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 2016-06-11
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多