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