unity简单小球下落
一、设置地面
在前面一章的动态加载角色中有对地面的设置,包括如何更改颜色,所以这里不做解释了。
二、设置小球的预制体
在层级列表,右键3D Object->Sphere(这里可以适当的新建几个小球放在第一个新建的小球的下面,并调整他们的位置,使其看起来美观,当然,如果为了方便也可以不做这个操作)
三、加载小球的预制体
通过OnGUI做了一个按钮,然后通过点击按钮动态加载小球。
我是通过for循环依次动态加载了十个小球。并且为了方便代码的管理,我编写了两个脚本,一个是用来加载小球,另一个是用来判断时间和进行销毁的。
在这里解释一下,加载小球的脚本我是挂在了在层级列表新建的空的GameObject上,这样保证了在游戏启动的时候当运行到我空的游戏对象的脚本时就可以运行他身上所挂的脚本(这里和unity的运行机制相关了)
四、开启计时
在我自己写的接口里面,获取了当时的时间作为初始时间,且将延时时间通过这个接口传进来的,一会上代码就可以看明白,很简单的。
五、设置延时时间
我的想法是在开始计时的那一刻为起始时间了,所以当执行小球身上所挂的Update的接口时,我通过此时的时间减去开始计时的时间,当它大于我所规定的延时时间时,给小球动态增加刚体,关闭计时。
六、在规定延时时间内给小球一次动态加载刚体,并关闭计时
在六里面写了。有点重复了(主要是注意逻辑顺序,捋清了,就很简单啦)
七、球体消失
当小球下落碰到地面时,会自动消失。
我是通过触发器做的。将地面设置成为触发器,(即把地面中的BoxCollider的isTriggger打上勾),当触发接口的参数的名字为“Plane”(地面)时,销毁小球。
八、错误总结
将碰撞矩阵中的不需要碰撞的物体的勾除掉,从而可以忽略球体之间的碰撞,注意勾选后,将地面的layer修改一下(可以自己新建一个layer,也可以勾选其他和你忽略的不一样的层级,只要不一样就可以),避免将地面与球体的碰撞也忽略了从而球体无法消失。
最后上代码,很简单的~
循环加载小球的脚本,并传入延时时间(实参)
设置延时时间的脚本
小球销毁的脚本
如果写的有错误,欢迎评论指正,谢谢…..
unity简单小球下落相关推荐
- Unity简单2D游戏开发
Unity简单2D游戏开发 前言: 近日比较无聊,在b站找了一个up主,跟着他的教程来做游戏--开发一个简单的2D游戏 用 Tilemap 绘制场景 新建一个2D项目,在Unity Asset Sto ...
- 二叉树小球下落问题c语言,二叉树:小球下落
小球下落 [题目大意] 有一颗二叉树,最大深度为D,且所以叶子的深度都相同.所有结点从上到下 从左到右编号为1,2,3,....2^D-1.在结点1处放一个小球,他会往下落.每个内结点 ...
- Unity 简单示例代码和向导/Unity Aplication Block
Unity 简单示例代码和向导 关于Unity 的说明和下载地址,请访问[微软控制反转和依赖注入容器Unity 1.0发布] http://forum.entlib.com/Default.aspx? ...
- 例题6-6 小球下落(Dropping Balls, UVa 679)
例题6-6 小球下落(Dropping Balls, UVa 679) 许多的小球一个一个的从一棵满二叉树上掉下来组成一个新满二叉树,每一时间,一个正在下降的球第一个访问的是非叶子节点.然后继续下降时 ...
- Java_小球自由落体_小球下落问题
小球下落问题描述: 一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 问题的关键有: 1.要求得第十次落地时,球走的总路程,即包 ...
- 二叉树小球下落问题c语言,#C++初学记录(树和二叉树)
二叉树的编号 例题 6-6 小球下落问题 有一棵二叉树,最大深度为D,且所有叶子深度都相同.所有节点从上到下,从左到右编号为1,2,3,4,....,2^D-1.在节点1处放置小球,他会往下落.每个节 ...
- (完全二叉树编号)小球下落
题目 有一棵二叉树,最大深度为D,且所有的叶子深度都相同.所有结点从上到下从左到右编号为1,2,3,-,2eD-1.在结点1处放一个小球,它会往下落.每个结点上都有一个开关,初始全部关闭,当每次有小球 ...
- unity简单技能系统
unity简单技能系统 类类型概览 CharacterSkillManager 角色技能管理器 挂载在角色 持有SkillData与释放器 通过释放器进行技能释放 SkillDeployer ...
- unity简单计时器_简单且悦目的Pomodoro计时器
unity简单计时器 拟态 (pomotroid) Pomotroid is a simple and configurable Pomodoro timer. It aims to provide ...
最新文章
- varnish缓存的配置优化(redhat5.4)
- vs2005无法断点调试网站,断点失效
- 抗原试剂盒也卷起来了,我的塑料袋不会影响房价吧?
- 图解C# Console 输出和Console相关编程复习总结
- Git教程学习总结(分享给热爱学习的你,团队的协作离不开你呀)
- 【线性代数本质】2:线性组合和线性相关和线性无关以及张成的空间
- html5简单提问,【问答技巧】怎样提问才能让我的问题更快速被解答?
- 《云服务器》与《传统服务器》的区别
- MATLAB获取系统时间
- LoaderManager使用具体解释(四)---实例:AppListLoader
- python 异常学习2
- 冒泡python代码_用Python写冒泡排序代码
- HDU5234 Happy birthday
- 免费分享一套详细的Hadoop学习视频
- Nginx源码分析(25篇)
- GMS:基于网格运动统计的快速极度鲁棒的特征匹配
- Trading Convexity for Scalability
- Maxtang大唐英特尔12代J6412无风扇双网口迷你主机真实评测
- Google卫星地图的URL计算
- 电脑安装了git之后拉取代码报错:git fatal: Authentication failed for
热门文章
- Google服务器架构图解简析
- 代码解读一 文件名“ANO_Imu.c”
- go语言 Golang官网被墙解决办法
- 如何登录虚拟主机服务器,如何登录虚拟主机服务器
- vue日历排班组件_vue之手把手教你写日历组件
- 计算机驱动有必要更新,我们平时电脑的驱动需要一直更新吗?教你如何正确的维护你的驱动...
- CSS手机端的主界面
- WebApp开发中的rem.js
- Nvidia30系显卡+Windows系统的CUDA 11安装100%成功教程
- 罗技c270摄像头支持linux,罗技C270摄像头的使用心得