Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d unity 2d动画通过主脚本调用敌方动画师_Unity3d_Unityscript - Fatal编程技术网

Unity3d unity 2d动画通过主脚本调用敌方动画师

Unity3d unity 2d动画通过主脚本调用敌方动画师,unity3d,unityscript,Unity3d,Unityscript,我已经添加了一个动画师到敌人的预制,我想使动画改变,当我击中它 在这次碰撞中,有人能帮我一下吗 我试着做一个新角色:动画师。。。。并在开始时调用它。。。但是不要让我把我的动画师拖进槽里 请问我该怎么修 概述我想做什么,我想与敌人对话,让我击中的敌人变成死亡动画 var Player : GameObject; var Gravity:float = 2; var speed:float = 2; var enemytrans : Transform; var enemy: GameObject;

我已经添加了一个动画师到敌人的预制,我想使动画改变,当我击中它 在这次碰撞中,有人能帮我一下吗

我试着做一个新角色:动画师。。。。并在开始时调用它。。。但是不要让我把我的动画师拖进槽里

请问我该怎么修

概述我想做什么,我想与敌人对话,让我击中的敌人变成死亡动画

var Player : GameObject;
var Gravity:float = 2;
var speed:float = 2;
var enemytrans : Transform;
var enemy: GameObject;
public var jumped = false;
var anim : Animator;

function Start () {
 while (true) {
     yield WaitForSeconds (Random.Range(3, 0));
     enemy = Instantiate(enemytrans).gameObject;
 }
anim = GetComponent(Animator);
}

function Update () {


Player.transform.position.x = -4.325;

if (jumped == false){
anim.SetFloat("hf",0.0);
}
if (Input.GetButtonDown("Fire1") && jumped==false){
fire();
jumped = true;
}
if(jumped==true){
anim.SetFloat("hf",1);
}
}
function OnCollisionEnter2D(coll: Collision2D) {
if(coll.gameObject.CompareTag("ground")){
anim.SetFloat("hf",0.0);
jumped=false;
}
*********if(coll.gameObject.CompareTag("enemy") && jumped==true){   **
fire(); 
jumped=true;
anim.SetTrigger("isdead");                  <<<<<<<<<<<<<----- this is what i need help with ------
}
if(coll.gameObject.CompareTag("enemy") && jumped==false){
Destroy(Player);
}
}


function fire(){
Player.transform.Translate(Vector3(Input.GetAxis("Vertical") * speed * Time.deltaTime, 0, 0));
Player.rigidbody2D.velocity = Vector2(0,10);
}

如果你做动画,设置触发器。。在unity中,您还需要在Animator窗口中为相应的游戏对象设置动画

因此,选择你的游戏对象,进入窗口->动画,在你的案例中添加一个名为isdead的触发器参数,并设置不同状态的转换。例如,我创建一个空状态并将其设置为默认状态,然后在该状态和动画状态之间拖动以获得过渡

在转换中,您只需在条件下设置default->anim state以使用isdead参数。在anim state->default上设置退出时间作为条件