1

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

它以随机顺序杀死敌人(我跳到他们身上,有些人没有死,不是我想要的)。(我想要实现的是当我跳到它的头上并播放死亡动画时,一个敌人会死去。所以从这个敌人脚本中,我调用另一个脚本跳转 <--它链接到我的播放器脚本并获取跳转布尔值价值。跳跃的处理会变慢吗?我需要帮助我尝试了一切)它有效但只对某些敌人有任何想法为什么?感谢社区。

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

有人可以帮我找出玩家 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);
}
4

1 回答 1

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

是错的。

它应该是:

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

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

我更喜欢 C#,我认为它更好。

于 2014-10-29T19:03:40.967 回答