阅读 83

21.5.25 制作人物移动脚本

花了点时间整了下VS和UNITY 终于开始学了

这是个算法的博客啊。。想过把这些东西记在这会不会不好
但是 人有点懒不想再去搞一个了 目前又不知道能学到哪一步 大概率也精细不起来不用急着分类
就先记在这吧

搞了下了给图片加入移动脚本
目前只有八个方向可以动
优化了下给出的C#代码 把斜着方向的速度也弄成了 1

C# 其实没咋学,脚本语言也接触的少 但目前还算看得懂, 需要精进我再往深了看吧
创建的脚本里 update 应该是每一帧都会循环一次

Input.GetAxisRaw("Horizontal") 函数: 参数填水平或竖直, 返回 -1 0 1, 对应上下键或ws键
同时按反方向键好像也是返回0

移动脚本就是先获取当前的坐标, 依据键盘输入,计算坐标再更新原色的坐标
Time.deltaTime 八成是返回两帧之间间隔时间,于是就用这个计算坐标改变量

更新坐标函数为 transform.position ,以后应该会学到改变其他的属性也是用这个函数

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// 
/// 控制角色移动 生命 动画
/// 

public class PlayerController : MonoBehaviour{
    // Start is called before the first frame update

    public float ConstSpeed = 5f;//移动速度

    void Start()
    {
        
    }

    // Update is called once per frame
    void Update(){
        float moveX = Input.GetAxisRaw("Horizontal");
        float moveY = Input.GetAxisRaw("Vertical");

        float speed = ConstSpeed / (float)1.4142;

        if(moveX * moveY == 0) speed = ConstSpeed;

        Vector2 position = transform.position;
        position.x += moveX * speed * Time.deltaTime;
        position.y += moveY * speed * Time.deltaTime;
        transform.position = position;
    }
}

原文:https://www.cnblogs.com/Tony-Double-Sky/p/14808999.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐