第二回 人物脚本及动画学习 22/1/2018

根据1.1的教学,我跟着写了一堆character里面的代码,可是不知道有什么用。

 我个人认为,character是将player中的移动方式提取,保留上下左右而去除按键控制,通过连接player达到按键控制的方式。而且character中不单只有移动,还有动画的脚本,人物的上下左右面都有显示。我认为这个character的方式可以被引用在之后的ai怪物中。是一个母项。

 代码将会在下面放出。

重点:

1.将骨骼动画全选,并且拖到上边,储存后会得出动画和控制器

2.把上面的idledown删除,不需要。四个面的动作,四个都要储存,但取其中一个做控制器即可。

3.将控制器放到player-component-animator-controller中

4.接下来是controller的animator,parameters set x和Y轴


  剔除两项:exit time&fixed duration


condition的调整:

down-right :

x G 0

Y G -0.1

right-down:

y less 0

x less 0.1

down-up:

y g 0

up-down:

y less 0

down-left:

Y G -0.1

X LESS 0

left-down:

X G -0.1

y less 0

left-up:

x g -0.1

y g 0 

up-left:

x less 0

y less 0.1

up-right

x g 0

y  less 0.1

right-up

x less 0.1

y g 0 


代码:

using System.Collections;

using System.Collections.Generic;
using UnityEngine;


public abstract class character : MonoBehaviour {
    [SerializeField]
    private float speed;


    private Animator animator;
    // Use this for initialization
    protected Vector2 direction;
   protected virtual void Start() {
        animator = GetComponent<Animator>();
}

// Update is called once per frame
protected virtual void Update () {
        Move();
    }
        public void Move()
        {
            transform.Translate(direction * speed * Time.deltaTime);


        AnimateMovement(direction);
        }
   public void AnimateMovement(Vector2 direction)
    {
        animator.SetFloat("x", direction.x);
        animator.SetFloat("y", direction.y);
    }


}

走路的动画其实已经做出来了,但是还没能把四个面结合在一起,而且是昨天做的了,现在已忘了七七八八,大概要下一次再一起写出来。

ERROR:null乜乜character and player,反正就系红色三角形

character和player脚本中均有void start(),需要在player中写一个public overriding void start(){ base start() }

在character中写private virtual void start()

才能防止由于一个已经start左,另一个start唔到。

0:16 食条香蕉当宵夜T T,系时候训了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值