Unity3D基础教程】(四):通过制作Flappy Bird了解Native 2D...


【狗刨学习网】

引子

在第一篇文章【Unity3D基础教程】给初学者看的Unity教程(一):GameObject,Compoent,Time,Input,Physics我已经讲过了一些关于刚体和碰撞的关系,这次我们就通过Flappy Bird这个事例来讲解一下刚体和碰撞体在游戏中的具体应用。相关代码可以参考Flappy
Bird的源码。

认识RigidBody

  • 当RigidBody2D的质量属性被设置为0时,刚体的质量变为无限大,此时刚体相当于静态刚体,永远一动不动。但是在Unity中你是无法把一个RigidBody2D的质量设置为0的,所以,当你想创建一个静态刚体时,只需要创建碰撞器,而不需要创建RigidBody2D。
  • 当我们勾选了is Kenamatic选项时,这个RigidBody2D就不再受物理引擎控制,我们这时候需要通过Transform来控制RigidBody2D的移动,这个选项经常在脚本里对其进行设置。

注意当Gravity Scale设置为0时,该刚体不再受重力影响。

认识Collider2D

在Add Component选项中点击添加Physics2D中的Collider2D即可添加一个碰撞器,碰撞器有以下三种:

  • BoxCollider2D:盒状碰撞器,一般为矩形。
  • CircleCollider2D:圆形碰撞器。
  • PolygonCollider2D:多边形碰撞器

我们在为一个2D GameObject添加一个Collider时,这个Collider会自动选择最合适的大小,但是你可以使用Shift+鼠标左键对Collider的边界进行调整。在多边形中,还可以通过Ctrl+鼠标左键来删除某个多边形顶点。

当然,针对同一个刚体,我们可以为这个刚体添加多个碰撞提来构造更加复杂的碰撞结构,在官方的岩石Demo – 2D Platformer中你可以看到相应的事例。

另外,我们可以通过将动画和刚体的运动结合的方式来构建更加有趣的运动效果,通过Transform的变换和通过RigidBody的变换不一定非得是必取其一的,关于动画的知识可以看看我的这篇博客:【Unity3D基础教程】给初学者看的Unity教程(三):通过制作Flappy Bird了解Native 2D中的Sprite,Animation。

关于Is Trigger

如果对一个碰撞器勾选了Is Trigger选项,它就不会与其他没有勾选Is Trigger的碰撞器发生刚体碰撞,而会发生“Trigger 碰撞”,也就是说,这时碰撞时发送的消息是Trigger消息,而不是Collision消息,相应地在脚本中我们要对OnTriggerEnter进行重载,而不是对OnCollisionEnter进行重载。

下图对Collision和Trigger进行了总结,在分别勾选某些属性时,都会发送哪些消息:

131012159998472.png (553.21 KB, 下载次数: 0)

下载附件  保存到相册

2 分钟前 上传

声明:此篇文档时来自于【狗刨学习网】社区,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。

更多精彩内容:www.gopedu.com

时间: 2024-12-26 15:06:49

Unity3D基础教程】(四):通过制作Flappy Bird了解Native 2D...的相关文章

【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程]给初学者看的Unity教程(一):GameObject,Compoent,Time,Input,Physics我已经讲过了一些关于刚体和碰撞的关系,这次我们就通过Flappy Bird这个事例来讲解一下刚体和碰撞体在游戏中的具体应用.相关代码可以参考Flappy Bird的源码. 认识RigidBo

【Unity3D基础教程】给初学者看的Unity教程(三):通过制作Flappy Bird了解Native 2D中的Sprite,Animation

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了MonoBehaviour的前世今生,了解了游戏中的每一个GameObjec都是由脚本控制的,这一次我们开始将Unity中Native 2D中的Sprite,并且使用Animation来让Sprite动起来. 在接下来的几篇博客里,我会通过做一个Flappy Bird来讲解Unity中各个组件的使用,项目的源代码在这里:U

【转】通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程]给初学者看的Unity教程(一):GameObject,Compoent,Time,Input,Physics我已经讲过了一些关于刚体和碰撞的关系,这次我们就通过Flappy Bird这个事例来讲解一下刚体和碰撞体在游戏中的具体应用.相关代码可以参考Flappy Bird的源码. 认识RigidBo

通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. 引子 这次我们就通过Flappy Bird这个事例来讲解一下刚体和碰撞体在游戏中的具体应用.相关代码可以参考Flappy Bird的源码. 认识RigidBody 当RigidBody2D的质量属性被设置为0时,刚体的质量变为无限大,此时刚体相当于静态刚体,永远一动

【Unity3D基础教程】(三):通过制作Flappy Bird了解Native 2D

[狗刨学习网] 引子 上一次我们讲了MonoBehaviour的前世今生,了解了游戏中的每一个GameObjec都是由脚本控制的,这一次我们开始将Unity中Native 2D中的Sprite,并且使用Animation来让Sprite动起来. 在接下来的几篇博客里,我会通过做一个Flappy Bird来讲解Unity中各个组件的使用,项目的源代码在这里:Unity Flappy Bird.欢迎各位前去Fork和Star. 如何创建Sprite 创建一个Sprite可以遵循如下步骤 将一张图片拖

通过制作Flappy Bird了解Native 2D中的Sprite,Animation

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. 引子 这一次我们开始将Unity中Native 2D中的Sprite,并且使用Animation来让Sprite动起来. 在接下来的几篇博客里,我会通过做一个Flappy Bird来讲解Unity中各个组件的使用,项目的源代码在这里:Unity Flappy Bir

【转】通过制作Flappy Bird了解Native 2D中的Sprite,Animation

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了MonoBehaviour的前世今生,了解了游戏中的每一个GameObjec都是由脚本控制的,这一次我们开始将Unity中Native 2D中的Sprite,并且使用Animation来让Sprite动起来. 在接下来的几篇博客里,我会通过做一个Flappy Bird来讲解Unity中各个组件的使用,项目的源代码在这里:U

【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D

[Unity3D基础教程]给初学者看的Unity教程(零):如何学习Unity3D http://www.cnblogs.com/neverdie/p/How_To_Learn_Unity3D.html 作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! Unity3D有什么优势 Unity3D是一个跨平台的游戏引擎,如果您开始看这篇博客的话,你一定实在权衡学习或者使用哪种游戏引擎来开发您的游戏,

【Unity3D基础教程】给初学者看的Unity教程(二):所有脚本组件的基类 -- MonoBehaviour的前世今生

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了GameObject,Compoent,Time,Input,Physics,其中Time,Input,Physics都是Unity中的全局变量.GameObject是游戏中的基本物件.GameObject是由Component组合而成的,GameObject本身必须有Transform的Component,这也加深了我们