Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
《Dark Wonder》33集.巨魔的行走优化后,巨魔变成原地走路了。Unity5.3.5版本
张同学斯基发起了问答2016-10-26
1
回复
794
浏览
using UnityEngine;
using System.Collections;

public class troll : MonoBehaviour {
    public bool idle = true;
    private  float timer = 2.0f;
   // [Range(0.0f,10.0f)]
    public int speed =5;
    private Animator anim;
    private CharacterController controller;
    // Use this for initialization
    void Start () {
        this.transform.position = new Vector3(55, 100, 110);
        anim = GetComponent<Animator>();
        controller = GetComponent<CharacterController>();
    }
    // Update is called once per frame
	void Update () {
        timer -= Time.deltaTime;
        if (timer<=0)
        {
            if (idle )
            {
                //transform to move
                idle = false;
                timer = 5.0f;
                int temp = Random.Range(-90, 90);
                transform.Rotate(new Vector3(0, temp, 0));
                trollWalk();
            }
            else
            {
                //transoform to idle
                idle = true;
                timer = 2.0f;
                trollidle();
            }
        }
        if (!idle)
        {
            //how to move forward
            // transform.position += transform.forward * Time.deltaTime * speed;
            controller.SimpleMove(new Vector3(0,0,speed));
        }
    }
    public void trollWalk()
    {
        anim.SetFloat("run", 0.0F);
        anim.SetFloat("idle", 0F);
        anim.SetFloat("walk", 1.0F);
    }
    public  void trollidle()
    {
        anim.SetFloat("idle", 1F);
        anim.SetFloat("walk", 0.0F);
        anim.SetFloat("run", 0F);
    }
}

 

所有回复
  • siki 2016-10-29

    在巨魔的animator组件面板上,把apply root motion取消勾选,这个意思是移动由动画控制

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!