zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    
    
  • 相关阅读:
    浅谈for与for in的不同点
    mysql数据类型
    json和数组的区别
    关于html中的设置body宽高的理解
    10 件在 PHP 7 中不要做的事情
    PHP程序员的能力水平层次
    php7了解一下
    html基础
    jenkins 整合maven,svn(配置钩子程序实现提交代码自动构建),tomcat实现热部署(windows+linux分别实现)
    maven打包时包含本地jar
  • 原文地址:https://www.cnblogs.com/Tony-Double-Sky/p/14808999.html
Copyright © 2011-2022 走看看