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上设置退出时间作为条件