unity 无限循环2D游戏原理与实践

Wesley13
• 阅读 848

一,目录

二,实现原理

1,无限循环游戏都有一个特点,就是动态产生和销毁游戏场景。在unity中,动态克隆一个物体是使用Instantiate()来产生一个物体,动态的放置在场景中。销毁一个物体使用Destroy()。

2,Instantiate()是一个比较消耗资源的方法,在游戏运作中大量克隆和销毁物体,将降低游戏性能,甚至卡壳。在实际开发中,使用的是在Start()函数中批量生成本场景Sence所有的物体,然后把这些物体放入一个物件池,在游戏过程中,游戏场景动态的获取和移除物体池的物体,这些物体只是产生位移,并非克隆和销毁,这样不管游戏有多长,都不会有性能卡壳的问题。

三,具体分析

1,无限场景图示

unity 无限循环2D游戏原理与实践

    游戏区和物件池都在2D场景上同一个面,只是位置不同,通过物件池动态的向游戏区添加点添加物件,在移除点移除物件,反复循环达到一个ENDLESS无限循环的游戏场景。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
unity2d 物体指向鼠标方向绕某一点旋转
 在2D游戏中,类似泡泡龙炮台发射、敌人飞机永远指向PLAYER、愤怒小鸟弹弓发射等效果,都需要用到物体跟随鼠标绕一个点旋转的效果,在unity中实现代码很简单,但是在理解上有一定障碍,因为unity是3D界面,他的旋转并不是2D世界中那么简单。实现这种效果,可以使用两种方法,一种是采用角度计算,一种是采用向量运算;1,角度运算容易理解,但是代码较为
Wesley13 Wesley13
3年前
Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏
Unity2D游戏开发快速入门第1章创建一个简单的2D游戏即使是现在,很多初学游戏开发的同学,在谈到Unity的时候,依然会认为Unity只能用于制作3D游戏的。实际上,Unity在2013年发布4.3版本的时候,就开始提供对制作2D游戏的支持了。例如,提供了一些专用于开发2D游戏的Unit
Wesley13 Wesley13
3年前
Unity2D游戏开发基础教程1.2项目、资源和场景
Unity2D游戏开发基础教程1.2项目、资源和场景如果使用Unity制作游戏,就一定会接触到项目(Project、资源(Asset)和场景(Scene)。本节将依次介绍它们。1.2.1项目Unity是一个基于项目的应用。这就意味着每开发一个新游戏,都要创建一个新项目。一个项目就代表
Wesley13 Wesley13
3年前
Unity NavMesh (导航网格)初探
Untiy提供NavMesh(导航网格)可使物体实现自动寻路。《Unity人工智能游戏开发》在第四章介绍了NavMesh,里面提供的示例蛮有趣的。使用NavMesh涉及很多界面设置操作,于是写篇笔记记录一下。运行截图示例(https://gitee.com/ylme/unityresource)在Unity5.5中
Wesley13 Wesley13
3年前
Unity Inspector添加自定义按钮(Button)
     在Unity开发游戏的时候,为了有一个更快更方便的工作流,我们往往会在Editor下开发一些方便实用的工具。在工具中,用到最多,最关键的就是按钮,它是工具的首席执行官。下面就用最简单的代码来演示添加一个自定义按钮到Inspector当中。        案例:指定坐标后克隆新物体到场景。   1、 在UnityAssets下
Wesley13 Wesley13
3年前
Unity 2D游戏 模拟物理系统
1.为什么不用自带的物理系统用unity进行2D游戏开发的时候一般都不会使用unity自带的2D物理系统,有几个因素:不可控(位置旋转)2.静态的碰撞体只带有碰撞体且没有刚体的物体属于静态碰撞体如果需要让静态碰撞体移动最好使用刚体使用物理方法或者给对象加一个动力学刚体不然也很消耗性能3.移动为了模拟真实
Wesley13 Wesley13
3年前
Unity接入Steamworks
一.将scrpts/Steamworks.net/SteamManager组件添加到游戏物体上二.修改SteamManager的代码为游戏的id如图所示                       !(https://oscimg.oschina.net/oscnet/c45a64a2909d58f98
Wesley13 Wesley13
3年前
Unity2D游戏开发基础教程1.2 项目、资源和场景
Unity2D游戏开发基础教程1.2项目、资源和场景如果使用Unity制作游戏,就一定会接触到项目(Project、资源(Asset)和场景(Scene)。本节将依次介绍它们。1.2.1项目Unity是一个基于项目的应用。这就意味着每开发一个新游戏,都要创建一个新项目。一个项目就
Wesley13 Wesley13
3年前
Unity 2D游戏开发教程之为游戏场景添加多个地面
Unity2D游戏开发教程之为游戏场景添加多个地面为游戏场景添加多个地面显然,只有一个地面的游戏场景太小了,根本不够精灵四处活动的。那么,本节就来介绍一种简单的方法,可以为游戏场景添加多个地面。具体的操作方法是:(1)在Project视图里,新建一个文件夹,命名为Pr
Stella981 Stella981
3年前
CocosCreator 代码组件(创建销毁节点、访问节点和组件) (第四篇)
前言:在游戏开发中,我么都是通过代码来控制场景中的节点,下面讲解怎么用代码,创建节点、销毁节点、访问节点、访问组件。一、创建和销毁节点1\.创建新节点除了通过场景编辑器创建节点外,我们也可以在脚本中动态创建节点。通过newcc.Node()并将它加