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;
/// <summary>
/// 控制角色移动 生命 动画
/// </summary>

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;
    }
}

posted @ 2021-05-25 15:28  Tony_Double_Sky  阅读(150)  评论(0编辑  收藏  举报