上下左右 键控制人移动
来源:互联网 发布:萧然问政网络平台 编辑:程序博客网 时间:2024/06/15 11:24
出自Unity3D开发一书,
这个脚本式只是简单的控制人物移动,不是很理想,但是可以学习 通过 上 、下、左、右 按键怎么实现任务的移动
- using UnityEngine;
- using System.Collections;
- public class MoveByADSW : MonoBehaviour {
- public const int HERO_UP = 0;
- public const int HERO_RIGHT = 1;
- public const int HERO_DOWN = 2;
- public const int HERO_LEFT = 3;
- //人物当前行走的方向状态
- public int state = 0;
- //人物移动速度
- public int moveSpeed = 2;
- //初始化人物位置
- public void Awake()
- {
- state = HERO_UP;
- }
- // Use this for initialization
- void Start () {
- }
- // Update is called once per frame
- void Update () {
- //获取控制的方向, 上下左右,
- float KeyVertical = Input.GetAxis("Vertical");
- float KeyHorizontal = Input.GetAxis("Horizontal");
- Debug.Log("keyVertical" + KeyVertical);
- Debug.Log("keyHorizontal" + KeyHorizontal);
- if(KeyVertical == -1)
- {
- setHeroState(HERO_DOWN);
- }
- else if(KeyVertical == 1)
- {
- setHeroState(HERO_UP);
- }
- if(KeyHorizontal == 1)
- {
- setHeroState(HERO_RIGHT);
- }
- else if(KeyHorizontal == -1)
- {
- setHeroState(HERO_LEFT);
- }
- if(KeyVertical == 0 && KeyHorizontal == 0)
- {
- animation.Play("idle");
- }
- }
- void setHeroState(int newState)
- {
- //根据当前人物方向与上一次备份的方向计算出模型旋转的角度
- int rotateValue = (newState - state) * 90;
- Vector3 transformValue = new Vector3();
- //播放行走动画
- animation.Play("walk");
- //模型移动的位置数值
- switch(newState)
- {
- case HERO_UP:
- transformValue = Vector3.forward * Time.deltaTime;
- break;
- case HERO_DOWN:
- transformValue = (-Vector3.forward) * Time.deltaTime;
- break;
- case HERO_LEFT:
- transformValue = Vector3.left * Time.deltaTime;
- break;
- case HERO_RIGHT:
- transformValue = (-Vector3.left) * Time.deltaTime;
- break;
- }
- transform.Rotate(Vector3.up, rotateValue);
- //移动人物
- transform.Translate(transformValue * moveSpeed, Space.World);
- state = newState;
- }
- }
0 0
- 上下左右 键控制人移动
- 上下左右 键控制人移动
- <Unity3D>上下左右 键控制人移动
- android之DPAD上下左右四个键控制
- android之DPAD上下左右四个键控制
- android之DPAD上下左右四个键控制
- JavaScript键盘上下键控制移动
- 鼠标左键控制玩家移动
- 上下左右移动
- 实现按上下键控制li的样式移动
- Tab键控制光标在指定范围内移动
- 控制控件上下左右移动
- div+css 上下左右移动
- 移动端上下左右滑动
- 移动的上下左右滑动
- 点击上下左右按钮让背景上下左右移动
- ASP.NET网站,通过上下键控制Gridview行焦点的移动
- 80x86汇编语言编程:用光标键控制三角形的移动
- 图解排序算法及C语言实现之 ------ 堆排序:Heap Sort
- 人月神话笔记
- if(!isset($str{6})
- Java集合框架_一_概览
- 我叫mt3.2更新公告
- 上下左右 键控制人移动
- Rational Rose 2007 &Rational Rose 2003 下载及破解方法和汉化文件下载
- struts2文件上传
- WPF的TabControl 纵向显示
- 织梦程序中用JS方式调用评论总数的方法
- AlertDialog更改标题颜色,字体等
- XMEGA web服务器板(WIZnet应用)-- Elektor十月刊
- “领头羊”在前 云计算规模化在即
- 【MFC】容器类的使用