当前位置: 首页 > wzjs >正文

如何获取网站的seo临沂seo建站

如何获取网站的seo,临沂seo建站,上海的网站建设公司,金融网站的设计前言 本文将实现控制弹板移动,通过Unity的New Input System,可以支持鼠标移动弹板跟随移动,触控点击跟随移动,并且当弹板移动到边界时,弹板不会移动超过边界之外。 创建移动相关的InputAction 项目模版创建的时候默认会…

前言

        本文将实现控制弹板移动,通过Unity的New Input System,可以支持鼠标移动弹板跟随移动,触控点击跟随移动,并且当弹板移动到边界时,弹板不会移动超过边界之外。


创建移动相关的InputAction

        项目模版创建的时候默认会有一个InputAction类型的文件,名字为InputSystem_Actions,如下所示。

        在双击打开之后,里面有一些默认设置的按键绑定,把里面默认的按键绑定全部删除,重新创建本游戏所需要的按键绑定。

 绑定触屏点击和触屏点击位置

        创建新的按键绑定,点击+号,创建名为GamePlay的Action Maps。然后将第一个Action命名为Point,然后点击Point右侧的+号添加绑定,选择Press(即触屏点击),如下。

        鼠标移动时的位置可以直接从代码里获取,因此此处可以不做绑定。

        再添加一个新的Action命名为Position,用来获取触屏点击时的位置。此时Position的Action Type为Value,Control Type为Vector2。里面对应绑定的就是Touchscreen的Position。

        点击Save Asset,至此绑定对应的输入键的部分完成了。

创建移动的弹板

基本设置        

        因为我们要做一个竖版的反弹球游戏,需要将当前的分辨率设置为竖屏的,如下。

        首先创建一个2D Square的SpriteRenderer,命名为SpringBoard。

        调整下它的位置和大小,如下所示。

        在其上添加必要的组件,添加一个BoxCollider 2D的碰撞器,使其能够产生物理的碰撞,从而做后续的反弹。

移动弹板

        创建一个脚本,命名为SpringBoardController用来控制弹板的移动逻辑。创建一个Scripts的文件夹用来存放所有的游戏脚本,然后将创建的SpringBoardController放在里面。

        以下的代码是实现移动弹板的,首先是鼠标跟随移动的部分。

using UnityEngine;
using UnityEngine.InputSystem;namespace ReboundBall
{public class SpringBoardController : MonoBehaviour{private SpriteRenderer _spriteRenderer;private Camera _mainCamera;private float _minXPosition;private float _maxXPosition;private bool _hasMainCamera;private float _currentXPosition;private Vector2 _currentPosition;private void Awake(){_spriteRenderer = GetComponent<SpriteRenderer>();_mainCamera = Camera.main;if (_mainCamera != null){_hasMainCamera = true;var spriteWidth = _spriteRenderer.bounds.size.x;_minXPosition = _mainCamera.ScreenToWorldPoint(Vector3.zero).x + spriteWidth / 2;_maxXPosition = Mathf.Abs(_minXPosition);}}private void Update(){if (_hasMainCamera){if (Application.isEditor || Application.platform == RuntimePlatform.WindowsPlayer){var mousePosition = Mouse.current.position.ReadValue();_currentXPosition = _mainCamera.ScreenToWorldPoint(mousePosition).x;_currentXPosition = Mathf.Clamp(_currentXPosition, _minXPosition, _maxXPosition);}transform.position = new Vector2(_currentXPosition, transform.position.y);}}}  
}

        在Awake方法中,我们获取当前游戏物体的SpriteRenderer,然后获取当前的主相机,通过计算SpriteRender的bounds宽度,基于左下角的屏幕坐标原点计算出这个SpriteRender在左边的边界最小值,即一半的bounds宽度加上屏幕左下角在游戏世界的坐标位置。然后取绝对值获取对应的右边边界的最大值。

        在Update方法中,由于我们是用鼠标的跟随,所以先判断当前的平台是否是编辑器或者Windows系统,然后读取鼠标的坐标,并将鼠标的屏幕坐标转化为游戏世界坐标,通过一个Clamp裁剪取值,最后将计算得出的X的值和原始的Y值赋给弹板。在Unity中运行后效果如下所示。

        这个弹板就会跟随我们的鼠标移动,并且即便鼠标超出边界也弹板也会停留在边界处。

http://www.dtcms.com/wzjs/215727.html

相关文章:

  • 做js题目的网站网络游戏推广员
  • 公司做网站要多久网店代运营骗局流程
  • 好的网站建设商家山东最新消息今天
  • 大型网站建设就找兴田德润广告推广平台代理
  • 外国优秀设计网站网站seo服务商
  • 邯郸网站制作地方网站推广多少钱
  • 做房地产开网邯郸网站建设优化
  • 山东网站seo推广优化价格欧美网站建设公司
  • 物流网站制作目的网络营销品牌案例
  • 宁波英文网站建设分发平台
  • 网站建设 cms 下载武汉seo优化公司
  • 人事外包收费标准企业网站优化外包
  • 做网站的公司高创东莞seo建站投放
  • 天门做网站360点睛实效平台推广
  • 哪个网站能帮助做路书网络推广网站
  • 沈阳企业网站全网营销代运营
  • 网站建设推进情况做广告的怎么找客户
  • 网站建设需要注意哪些事项技术培训
  • html网站设计源码百度收录怎么做
  • 重庆南川网站制作公司哪家专业网站seo如何做好优化
  • 做视频网站的备案要求吗微商软文大全
  • 网站建设哪家企业好南京今天重大新闻事件
  • php做购物网站详情页的代码免费b2b网站推广
  • 手机网站底部电话如何开发一个软件平台
  • 网站开发及运营代理协议范本seo分析seo诊断
  • 普通电脑怎么做网站服务器seo人员的职责
  • 口碑好网站建设公司哪家好关键词挖掘站长工具
  • 青岛网站互联网公司谷歌关键词搜索排名
  • 如何维护自己公司的网站电商培训有用吗
  • 建设营销网站要什么免费刷seo