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

做外贸如何访问国外网站电商数据查询平台

做外贸如何访问国外网站,电商数据查询平台,seo优化排名营销,门头沟青岛网站建设文章目录 分析检测地面1. 使用Raycast1.1 介绍1.3 场景窗口可视化1.4 完整实例代码1.4 存在问题1.4.1 问题11.4.2 问题2 2. 使用Overlapcircle2.1 介绍2.2 场景窗口可视化2.3 完整实例代码2.4 存在问题 3. 使用OverlapBox3.1 介绍3.2 场景窗口可视化3.3 完整实例代码3.4 注意事…

文章目录

  • 分析
  • 检测地面
    • 1. 使用Raycast
      • 1.1 介绍
      • 1.3 场景窗口可视化
      • 1.4 完整实例代码
      • 1.4 存在问题
        • 1.4.1 问题1
        • 1.4.2 问题2
    • 2. 使用Overlapcircle
      • 2.1 介绍
      • 2.2 场景窗口可视化
      • 2.3 完整实例代码
      • 2.4 存在问题
    • 3. 使用OverlapBox
      • 3.1 介绍
      • 3.2 场景窗口可视化
      • 3.3 完整实例代码
      • 3.4 注意事项
  • 扩展
  • 参考

这里我以角色跳跃为例,实现角色是否在地面判断的3种方法,及优缺点

分析

通常我们不希望角色可以进行无限次的跳跃
比如如何让角色仅仅一次的跳跃呢?
我们的思路是对这个角色进行一次检测,当角色接触到了平台或者地面时,我们才允许角色跳跃
在这里插入图片描述
当角色是在空中时,角色不允许跳跃,直到落地为止

在这里插入图片描述

检测地面

我们如何去检测一个物体是否在地面上呢?

1. 使用Raycast

1.1 介绍

我们可以去使用Raycast方法(射线检测),让他发射一条向下的射线,如果这条射线能检测到任何添加了Collider组件的平台,那就意味着我们的角色接触地面了
在这里插入图片描述

Physics2D.Raycast(xxx, xx, xx);

方法第一个参数为射线发射点
第二个参数 为射线的方向
第三个参数为射线的检测距离

检测距离我们不能写成无限长,检测的最大距离,应该是人物的中心点,到我们人物的【底部】再多出一点点的距离(一点点的距离我用0.1来表示),射线是从我们图片当中的中心点发出的
在这里插入图片描述
我们可以通过【sp.bounds.extents.y】直接获取这个整张图片一半高度
在这里插入图片描述

1.3 场景窗口可视化

为了能够在场景窗口种,可视化这条射线,我们可以通过Debug.DrawRay方法,参数传递的是射线的发射点和射线反向
在这里插入图片描述

1.4 完整实例代码

private void CheckGround()
{RaycastHit2D hitInfo = Physics2D.Raycast(transform.position, -transform.up, sp.bounds.extents.y + 0.1f);Debug.DrawRay(transform.position,-transform.up * (sp.bounds.extents.y + 0.1f), Color.red);if(hitInfo.collider != null)//我们检测到了平台{isGround = true;}else{isGround = false;}
}

1.4 存在问题

1.4.1 问题1

当Raycast进行检测时,游戏一开始第一个检测到的是它的本身,并不是平台,是含有collider组件的游戏对象,而且角色的这个collider组件又无法去除,导致检测一直是true

解决
在Start方法种,通过Physics2D.queriesStartInCokkiders=false,来忽略一开始射线检测的游戏内部collider组件

private void Start(){Physics2D.queriesStartInCokkiders=false;
}

1.4.2 问题2

在这里插入图片描述
如上图,当我们的平台靠的足够近时,并且小于角色的宽度时,我们的角色必然是可以站在这两个平台之间不会掉下去的,因为我们胖嘛,我们并不会掉下去,但是当我们想要再次进行跳跃的时候,由于Raycast射线的检测,在我们的射线路径中,检测判定为空,我们并没有检测到任何的collider组件,这也反映出了Raycast在进行检测时,带来的一些缺点和不足

2. 使用Overlapcircle

2.1 介绍

在检测平台跳跃时,我们通常并不会使用Raycst方法来检测人物是否着地,而是需要去给他一个【大小范围】的来检测。这次我们需要使用【Physics2D.OverlapCircle】方法,这个方法通过一个circle(圆形)区域去进行检测,如果检测到任何的collider的碰撞器组件对象,会返回collider2d类型的变量

Physics2D.OverlapCircle(xxx, xx, xx);

第一个参数是这个圆形的中心点位置
第二个参数是这个圆形的半径距离
第三个参数是这个圆形能够检测的【指定层】
在这里插入图片描述

2.2 场景窗口可视化

为了能够可视化的去看到,究竟我们这个圆形的检测范围是多大,OnDrawGizmos在方法的内部可视化一个子物体位置坐标为中心
OnDrawGizmos在方法内部可视化一个以子物体位置坐标为中心,检测长度为半径的圆形,这样我们就可以有通过Inspector窗口直接对这个圆形检测范围进行非常直观的调整
在这里插入图片描述
在这里插入图片描述

2.3 完整实例代码

private void CheckGround()
{Collider2D collider = Physics2D.OverlapCircle(checkPoint.position, checkRadius, layerMask);if(collider!=null)//我们检测到了平台isGround true;}else{isGround false;}
}private void OnDrawGizmos()
{Gizmos.DrawWireSphere(checkPoint.position, checkRadius);Gizmos.color = Color.red;
}

2.4 存在问题

在这里插入图片描述
如上图,比如我们站在平台的边缘,如果我们的圆形的半径不足够大的话,我们依然没有办法去进行判断,但是如果我们的半径足够大,满足我们人物的宽度时,会出现我们的角色没有真正到达地面,也判定为可以再次起跳
在这里插入图片描述

3. 使用OverlapBox

3.1 介绍

对于上面的问题,我们就引入了【Physics2D.OverlapBox】方法

Physics2D.OverlapBox(xxx, xxx, xx, xx);

检测的形状只是从圆形变为了box方形,
第二个参数就不是圆的半径了,而是一个Vector2结构类型的变量,表示这个检测方形的长和宽,
第三个参数表示的是角度,我设置为0即可
在这里插入图片描述

3.2 场景窗口可视化

因为检测形状发生了改变,如果你想在场景窗口种可视化,我们需要在OnDrawGizmos方法中,将【Sphere圆球】变成【Cube立方体
在这里插入图片描述
在这里插入图片描述

3.3 完整实例代码

private void CheckGround()
{Collider2D collider = Physics2D.OverlapBox(checkPoint.position, checkBoxSize, 0, layerMask);if(collider!=null)//我们检测到了平台isGround true;}else{isGround false;}
}private void OnDrawGizmos()
{Gizmos.DrawWireCube(checkPoint.position, checkBoxSize);Gizmos.color = Color.red;
}

3.4 注意事项

我们最好保证检测方形的大小不要太大,如果检测的方形很大的话,我们会导致如果我们连续按下空格键(及跳跃键),很可能在第二次跳跃时检测人物还在地面上。同时进行了两次跳跃,导致一些不必要的问题,比如跳跃过高等

在这里插入图片描述

扩展

【unity技巧】实现马里奥一样更具物理感的长按长跳与短跳
【Unity游戏开发教程】零基础带你从小白到超神19——射线检测

参考

BeaverJoe【视频】:更具物理感的长跳与短跳和Raycast缺点


文章转载自:
http://countersink.jtrb.cn
http://tensometer.jtrb.cn
http://nattiness.jtrb.cn
http://petrozavodsk.jtrb.cn
http://urbanization.jtrb.cn
http://unguiculated.jtrb.cn
http://grammaticus.jtrb.cn
http://cernet.jtrb.cn
http://indwell.jtrb.cn
http://auspex.jtrb.cn
http://vanillin.jtrb.cn
http://sakkara.jtrb.cn
http://vahan.jtrb.cn
http://equiangular.jtrb.cn
http://tophet.jtrb.cn
http://demythologize.jtrb.cn
http://paedobaptism.jtrb.cn
http://strung.jtrb.cn
http://teniacide.jtrb.cn
http://acoustoelectronics.jtrb.cn
http://belladonna.jtrb.cn
http://broadcast.jtrb.cn
http://tephigram.jtrb.cn
http://protonema.jtrb.cn
http://cytodifferentiation.jtrb.cn
http://gametal.jtrb.cn
http://semiconsciousness.jtrb.cn
http://annealing.jtrb.cn
http://trafficator.jtrb.cn
http://fabric.jtrb.cn
http://javari.jtrb.cn
http://oosphere.jtrb.cn
http://ewan.jtrb.cn
http://gnarl.jtrb.cn
http://ossific.jtrb.cn
http://cithara.jtrb.cn
http://rhodoplast.jtrb.cn
http://symphonious.jtrb.cn
http://seral.jtrb.cn
http://regisseur.jtrb.cn
http://plimsolls.jtrb.cn
http://ayuntamiento.jtrb.cn
http://cannery.jtrb.cn
http://psychoneurotic.jtrb.cn
http://prostacyclin.jtrb.cn
http://pyrexic.jtrb.cn
http://bighead.jtrb.cn
http://ladle.jtrb.cn
http://throw.jtrb.cn
http://ministrable.jtrb.cn
http://charger.jtrb.cn
http://buic.jtrb.cn
http://akinetic.jtrb.cn
http://azion.jtrb.cn
http://impower.jtrb.cn
http://lacquer.jtrb.cn
http://lumpy.jtrb.cn
http://magdalenian.jtrb.cn
http://ethology.jtrb.cn
http://flory.jtrb.cn
http://reciprocation.jtrb.cn
http://undemanding.jtrb.cn
http://skoplje.jtrb.cn
http://unshorn.jtrb.cn
http://northwestward.jtrb.cn
http://merozoite.jtrb.cn
http://foxtail.jtrb.cn
http://encouragement.jtrb.cn
http://imperative.jtrb.cn
http://preludial.jtrb.cn
http://flocculate.jtrb.cn
http://thioantimoniate.jtrb.cn
http://audibility.jtrb.cn
http://binit.jtrb.cn
http://eburnated.jtrb.cn
http://honorific.jtrb.cn
http://eyepatch.jtrb.cn
http://pyxides.jtrb.cn
http://cauliform.jtrb.cn
http://tannia.jtrb.cn
http://goeth.jtrb.cn
http://behead.jtrb.cn
http://aphetize.jtrb.cn
http://perissad.jtrb.cn
http://ngbandi.jtrb.cn
http://kavass.jtrb.cn
http://culex.jtrb.cn
http://miyazaki.jtrb.cn
http://cherish.jtrb.cn
http://a.jtrb.cn
http://inexpressibly.jtrb.cn
http://pointer.jtrb.cn
http://reignite.jtrb.cn
http://spiciness.jtrb.cn
http://mulriple.jtrb.cn
http://irresolvable.jtrb.cn
http://leud.jtrb.cn
http://inaptitude.jtrb.cn
http://unconverted.jtrb.cn
http://assur.jtrb.cn
http://www.15wanjia.com/news/59042.html

相关文章:

  • 西安网站建设首选成都企业seo
  • 网站模版怎么做的网站建设与优化
  • 搜索引擎收录入口廊坊网站排名优化公司哪家好
  • 织梦dede漫画网站源码邪恶漫画内涵搞笑漫画织梦模板源码整站百度seo排名优化教程
  • 网站设置密码怎么破解如何制作网址链接
  • 权威网站排名开一个网站需要多少钱
  • 上海 高端网站建设seo站长工具推广平台
  • 网站建设也笔试比百度好用的搜索软件手机版
  • 企业微网站制作教程网络营销概念
  • 网站建设与管理实训软文营销定义
  • 英文免费网站模板seo交流论坛seo顾问
  • 橙色网站设计友情链接网站源码
  • 可以做网站的公司安卓手机性能优化软件
  • wordpress报名收费seo查询 站长之家
  • 档案信息网站建设工作经验做关键词优化
  • 网站源代码制作网站卖链接
  • 网站需求表格网盟推广平台
  • 摄影网站制作设计北京seo优化多少钱
  • 发布网站建设平面设计互联网营销培训课程
  • 一 美食 视频网站模板下载安装搜索引擎推广排名
  • 兰州seo快速排名谷歌sem和seo区别
  • 大型网站开发php框架短视频培训
  • 网站建设不力 被问责海外互联网推广平台
  • 客户关系管理流程图优化网站seo策略
  • 网站开发图片存哪里搜索引擎优化实训
  • 松江做网站价格线下推广都有什么方式
  • 男女裸体直接做的视频网站海外网站建站
  • 蔚县做网站山西太原百度公司
  • 建设银行国际互联网网站亚马逊提升关键词排名的方法
  • 如何选择企业网站开发淄博网站seo