Unity小游戏——移动的小船船(摇杆控制方向)
关键功能:
1、摄影机跟随船体移动
2、船体在水面上晃动
3、摇杆控制方向
摇杆控制方向的话,这里我是简单的使用了一个Unity的插件:EasyTouch,EasyTouch里面的有一个EasyJoyStick(摇杆控制)
当你导入到你的Unity工程的时候,你的窗口选项就会多一个:
然后我们就可以按照这个步骤来创建一个EasyJoyStick的对象:
创建完成之后,我们就可以在Game视图看到一个摇杆
这个摇杆就是只有横竖两个值,x,y值,分别对应3D空间中的x,z轴。
然后我们创建一个脚本,然后将这个脚本挂在我们要控制的人物的身上,
下面是详细的代码分析:
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class BossMove : MonoBehaviour
{ // 这个是我们刚才创建的 EasyJoyStick的对象,我们使用它来获取 一些简单的数值public EasyJoystick easyJoystick; float Speed = 5.0f; // 假设3秒转一圈,那么一秒就算是转120度 ,这个数值是用来控制转向的float w_speed = 120f; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { ControlMove(); } void ControlMove()
{ // 我们通过摇杆的x,y的偏移量float Joystick_x = easyJoystick.JoystickAxis.x; float Joystick_y = easyJoystick.JoystickAxis.y; //Vector3 targetDirection; // 船的移动
//当摇杆摇动超过一定范围的时候,才去移动对象if (Joystick_y >= 0.5f) { // Translate:向某个方向移动多少距离
// 摇杆的Y轴对应的就是3D空间的Z轴,然后当摇杆Y轴有动的时候,就将物体在Z轴方向移动 this.transform.Translate(0, 0, Speed * Time.deltaTime); } else if(Joystick_y <= -0.5f) { // 上面是摇杆的方向向上(Y轴的正方向),也就是3D向前移动,// 现在是摇杆方向向下(Y轴的负方向),也就是3D里面向移动 this.transform.Translate(0, 0, -Speed * Time.deltaTime); } if (Joystick_x >= 0.5f) { // Translate:向某个方向移动多少距离 // 这个是和上面的移动方式同理,只不过摇杆的X轴移动,对应的是3D物体的X轴移动this.transform.Translate(Speed * Time.deltaTime, 0, 0); } else if (Joystick_x <= -0.5f) { this.transform.Translate(-Speed * Time.deltaTime, 0, 0); } // 船的转向 // 船的转向一定是绕着Y轴旋转,所以当摇杆的X轴有变化的时候,也就是有转向变化的时候
// 当X轴的值大于0,也就是右转向的时候,我们旋转正值if(Joystick_x > 0.5f) { // 这个时候我们让其围绕着Y轴,做正方向的旋转this.transform.Rotate(0,this.w_speed * Time.deltaTime,0); } else if(Joystick_x < -0.5f) { // 当摇杆是负方向的时候,就旋转一个负值,这个时候对应的就是相反的方向this.transform.Rotate(0, -this.w_speed * Time.deltaTime, 0); } }
}
Github:https://github.com/YuDang1024/UnityGames/tree/master/MovingBoat
Unity小游戏——移动的小船船(摇杆控制方向)相关推荐
- Unity小游戏——移动的小船船(船体在水面上晃动)
关键功能: 1.摄影机跟随船体移动 2.船体在水面上晃动 3.摇杆控制方向 船在水面上晃动的原理其实就是船体围绕着Z轴和X轴旋转一个小的角度,然后在恢复回来,然后在旋转的一个小过程 using Sys ...
- Unity小游戏——移动的小船船(摄影机跟随船体移动)
关键功能: 摄影机跟随船体移动 船体在水面上晃动 摇杆控制方向 摄影机跟随对象的原理: 每一帧的开始的时候,都先去把这个摄影机移动到和对象相同的位置,然后收集跟随对象旋转的角度,然后将摄影家挪到对象的 ...
- 自制Unity小游戏TankHero-2D(3)开始玩起来
自制Unity小游戏TankHero-2D(3)开始玩起来 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的.仅 ...
- Unity小游戏-平衡大师(安卓、PC、web)2D益智类游戏 项目展示+完整项目源码
游戏录像 游戏试玩 平衡带师_平衡带师html5游戏_4399h5游戏-h.4399.com 游戏玩法 这是一款类似堆积木的游戏,它非常考验玩家的智商和手速,难度系数很高的游戏,谁能征服它,谁就是平衡 ...
- unity小游戏制作之见缝插针
unity小游戏制作之见缝插针 先看效果图这个游戏是一个入门的小游戏,主要技术就是圆盘的旋转,针跟随圆盘旋转以及分数累加等 游戏先拖入一个圆,更改格式为2D然后建立脚本使其转动 public clas ...
- 自制Unity小游戏TankHero-2D(1)制作主角坦克
自制Unity小游戏TankHero-2D(1)制作主角坦克 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的. ...
- 2022unity超简单课设-模拟太阳系的Unity小游戏
模拟太阳系的Unity小游戏(附下载链接) 下载链接 unity课程实践做的一个模拟太阳系的Unity小游戏,你可以使用飞船移动来查看太阳系中的各个星球. 飞船拥有两种驾驶模式,一种更加真实,是通过给 ...
- Unity 小游戏:3D射箭
Unity 小游戏:3D射箭 前两周因为实训太忙,再加上自己对老师所讲的设计模式并不是很理解,所以就没有写博客.这次博客是记录3D射箭游戏的实现过程. Unity 小游戏3D射箭 准备资源 布置场景 ...
- Unity小游戏(一)——Unity JigsawPuzzle(拼图游戏)
1.前言: 简单的Unity小游戏,切割图片,生成随机区块,拖拽交换位置. 此游戏代码只贴了一小部分,具体可见GitHub:源码 效果: 2.素材准备 简单做了下,所以没有用太多素材,只准备了两种字体 ...
最新文章
- 4514: [Sdoi2016]数字配对
- leetcode题解:Construct Binary Tree from Preorder and Inorder Traversal (根据前序和中序遍历构造二叉树)...
- SpringBoot_数据访问-整合MyBatis(一)-基础环境搭建
- C语言 回调函数 produce(arr,len,getRand)
- cam350怎么看顶层_厉害的人是怎么分析问题的?(实操干货)
- mysql 5.7.13 mac_Mac 安装mysql 5.7.13版本 登录及改密码
- share——Alpha版(内部测试版)发布
- 传统服务化(SOA)与微服务(Micro Service)的融合之道 1
- OllyDBG 入门
- 数据库可视化工具(SQLyog安装教程)
- 第七届山东理工大学ACM趣味编程循环赛 Round#2 sdut4120 城堡问题
- 换页符'\f'的问题
- Linux系统的应用软件流程图绘制软件yEd
- Mac操作指南:Mac显示器颜色不正如何调节?
- Nginx快速入门(三)正向代理、HTTP服务器与动静分离
- swift 调用震动
- 用Excel数据透视表快速地统计各部门的男女比例
- 菜鸟站长的坎坷建站经历
- 计量经济学之时间序列分析学习笔记(单位根检验、协整检验、单整阶数判断、ECM建模)——基于R(二)
- 云产品相关网络概念学习Regison/AZ/VPC