【问题标题】:Is calling a script in unityscript slow?在unityscript中调用脚本很慢吗?
【发布时间】:2014-10-29 05:57:47
【问题描述】:

我的敌人脚本链接到一个预制件并由我的主脚本实例化。

它以随机的顺序杀死敌人(我跳到他们身上,有些人没有死,这不是我想要的)。 (我想要实现的是当我跳到它的头上并播放死亡动画时死去的敌人。 因此,从这个敌人脚本中,我调用另一个脚本 jump

谁能帮我找到更好的方法?

有人可以帮我找出玩家 y => 改变敌人跳跃变量的数量

刚刚完美运行,这有什么问题它的工作然后不是然后它部分工作

如果我添加音频,它就不起作用。

#pragma strict
var enemy : GameObject;
var speed : float = 1.0;
var enemanim : Animator;
var isdying : boolean = false;
private var other : main;
var playerhit: boolean = false;


function Start () {
    other = GameObject.FindWithTag("Player").GetComponent("main");
    this.transform.position.x = 8.325;
    this.transform.position.y = -1.3;
    enemanim = GetComponent(Animator);
    enemanim.SetFloat("isdead",0);
}

function OnCollisionEnter2D(coll: Collision2D) {
    if(coll.gameObject.CompareTag("distroy")){
        Destroy(enemy.gameObject);
    }
    if(coll.gameObject.CompareTag("Player")){
        playerhit=true;
    }
}
function Update () {
    if(other.jumped === true && playerhit==true){ *****the jumped i need
        enemanim.SetFloat("isdead",1);
    }
}
function FixedUpdate(){
    this.transform.Translate(Vector3(Input.GetAxis("Horizontal") * speed * Time.deltaTime, 0, 0));
    this.rigidbody2D.velocity = Vector2(-5,0);
}

【问题讨论】:

  • 请用问题摘要而不是代码块来打开您的问题。您将在帮助中心找到更多关于如何编写更好问题的提示,这将提高您获得(好的)答案的机会。

标签: android unity3d unityscript unity3d-2dtools


【解决方案1】:
if(other.jumped === true && playerhit==true)

错了。

应该是:

if(other.jumped == true && playerhit==true)

Unity 使用的所有 3 种语言,C#、UnityScript 和 Boo,最后都被编译成相同的 IL 字节码。但是,在某些情况下,UnityScript 在后台执行操作时会产生一些开销。其中之一是它确实包装了对内置结构属性成员的访问,例如transform.position

我更喜欢 C#,我觉得它更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 2013-10-19
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 2012-02-24
    相关资源
    最近更新 更多