坦克大战类型 坦克WASD前后左右移动的解决方法
float v = Input.GetAxis("Vertical");
float h = Input.GetAxis("Horizontal");
if (Input.GetKey(KeyCode.W))
{
//旋转想要达到的目标角度
Quaternion toRotation = Quaternion.Euler(0, 0, 0);
//从现在角度 旋转到目标角度 所用的时间
transform.rotation = Quaternion.Slerp(transform.rotation, toRotation, 30f);
//向前移动
transform.Translate(Vector3.forward * Sf * Time.deltaTime);
}
if (Input.GetKey(KeyCode.S))
{
Quaternion toRotation = Quaternion.Euler(0, -180, 0);
transform.rotation = Quaternion.Slerp(transform.rotation, toRotation, 30f);
transform.Translate(Vector3.forward * Sf * Time.deltaTime);
}
if (Input.GetKey(KeyCode.A))
{
//目标角度为自身向左旋转90度
Quaternion toRotation = Quaternion.Euler(0, -90, 0);
transform.rotation = Quaternion.Slerp(transform.rotation,toRotation,30f);
//因为旋转后向左移动即前进,所以还是使用forward
transform.Translate(Vector3.forward*Sf* Time.deltaTime);
}
if (Input.GetKey(KeyCode.D))
{
//目标角度为自身向右旋转90度
Quaternion toRotation = Quaternion.Euler(0, 90, 0);
transform.rotation = Quaternion.Slerp(transform.rotation, toRotation, 30f);
//同理依旧是前进
transform.Translate(Vector3.forward * Sf * Time.deltaTime);
}
主要解决向左/右旋转后无法正常向左/右移动的问题
坦克大战类型 坦克WASD前后左右移动的解决方法相关推荐
- X509证书 指定了无效的提供程序类型 System.Security.Cryptography.CryptographicException 错误解决方法
X509证书 指定了无效的提供程序类型 System.Security.Cryptography.CryptographicException 错误解决方法 参考文章: (1)X509证书 指定了无效 ...
- oracle xmltype转字节,extractvalue处理XMLTYPE类型超过4000字节ORA-01706的解决方法
extractvalue处理XMLTYPE类型超过4000字节ORA-01706的解决方法 发布时间:2020-08-14 15:40:17 来源:ITPUB博客 阅读:226 作者:guocun09 ...
- [ JAVA编程 ] double类型计算精度丢失问题及解决方法
[ JAVA编程 ] double类型计算精度丢失问题及解决方法 参考文章: (1)[ JAVA编程 ] double类型计算精度丢失问题及解决方法 (2)https://www.cnblogs.co ...
- java 让坦克移动_坦克大战_坦克移动
MyTankGame2 package com.wxh.tank2; import javax.swing.*; import java.awt.*; import java.awt.event.*; ...
- 坦克大战敌我坦克重叠问题
解决前 /** 功能:坦克大战1.1* 1.画出坦克* 2.坦克可以上下左右移动*/ package Tank1_1;import javax.swing.*; import java.awt.*; ...
- 【Java_项目篇1】--JAVA实现坦克大战游戏--坦克移动+添加敌方坦克(二)
前期文章: [Java_项目篇<1>]--JAVA实现坦克大战游戏--画出坦克(一) 控制小球移动 1.外部类 实现KeyListener监听接口写法 package com.test3; ...
- php 坦克大战,js坦克大战以实现炮弹击中目标消失并且记分
js坦克大战以实现炮弹击中目标消失并且记分 话不多说 下载下面的代码包就能看到效果, 效果图: js代码如下:/**初始化*/ var shell=document.getElementById('t ...
- Java之坦克大战(二)---坦克图形绘制
紧接着我们上一篇的坦克大战一,今天我们先画出一个坦克. 如果直接用面向过程的思想来做的话,那么很容易就可以画出一个坦克. 但是后面我们需要画出很多个坦克, 所以我们要先把面向对象的思想设计好. 我们的 ...
- java 坦克大战画坦克_java简易坦克大战(2)
public class Tank1 extends JFrame implements ActionListener { MyPanel mp = null; GuanKaPanel gkmb = ...
最新文章
- java修改 nsf中的数据_最新NSF申请指南中的一些重要改动
- linux 下共享库创建及使用
- 【转】NuGet学习笔记(2)——使用图形化界面打包自己的类库
- avatar.php uid,phpcms函数库中获取会员头像方法get_memberavatar()有时无效问题
- 保证elementUI组件文本域内容为json
- 工作与生活 -- 平衡是必须的
- mock java 反射,PowerMock,Mockito和反射api的最终类
- python与机器学习(二)Numpy / Pandas /矩阵相乘速度对比
- 【分享】U盘大小的随身电脑 – Cotton Candy
- hive 列表去重_Hive企业级调优
- 第一章 基本句型及补语
- w ndows无法完成格式化,windows无法完成格式化,小编教你解决windows无法完成格式化U盘...
- Web 3.0 有哪些值得关注的项目
- Couldnt find preset es2015 relative to directory
- 最长的名字 /比较最长的字符串并输出
- 马士兵教你如何面试(记录原话)
- Hive ,Hsql行转列、列转行实现
- R语言swirl教程(R Programming)11——vapply and tapply
- 手机中毒变“肉鸡” 个人信息1元贱卖
- 2018南昌java工资_【帆软软件工资】java开发工程师待遇-看准网