演示视频

横版地形生成

功能:
将地形素材赋值给脚本,脚本会生成对应的地形素材,可以控制生成素材的高度,生成的时间间隔,是否每次随机时间生成,会有一个范围值来进行控制:


Mountain 01_transf为山脉生成的起始位置,后续的生成变化都会以这个点位基准来进行变化

山脉脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class mountionMove : MonoBehaviour
{public float moveSpeed = 0;// Start is called before the first frame updatevoid Start(){Destroy(this.gameObject, 10);}// Update is called once per framevoid Update(){transform.Translate(new Vector3(-1, 0, 0) * moveSpeed);}
}

生成器脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Mountain01 : MonoBehaviour
{public GameObject mountain01;public Transform mountain01_transf;float time = 0;public float time1 = 0;public bool isRandom = false;int randomNum = 0;public int randomMin = 0;public int randomMax = 0;bool isRandomed = false;public bool isRandomHeight = false;public int reduceHeight = 0;public int addHeight = 0;bool isHeightRandom = false;int endHeight = 0;int A = 0;int B = 0;void Start(){A = reduceHeight;B = addHeight;}// Update is called once per framevoid Update(){if(isRandom)//没有√就是不随机间隔{time = time + Time.deltaTime;if (time > time1){Instantiate(mountain01, mountain01_transf.position+new Vector3(0,endHeight,0), Quaternion.identity);time = 0;}}else{if(isRandomed==false){randomNum = Random.Range(randomMin, randomMax);isRandomed = true;}time = time + Time.deltaTime;if (time > randomNum){isRandomed = false;Instantiate(mountain01, mountain01_transf.position+ new Vector3(0,endHeight , 0), Quaternion.identity);time = 0;}}if(isRandomHeight)//有√就是随机{if(isRandomed==false){endHeight = Random.Range(reduceHeight, addHeight);isRandomed = true;}}else{endHeight = 0;}}
}

Unity2D横版游戏地形生成相关推荐

  1. unity2D横版游戏教程-2 代码实现

    接下来就是写代码的时候 我们创建一个文件夹用来存我们的脚本,名字就叫Scripts,在里面右键->Create->C#Script,这样就创建好了一个脚本 直接将这个脚本拖给我们Hiera ...

  2. 12.Unity2D 横版 TileMap随机生成简易横版瓦片地图+随机生成环境(花草树石)精灵图+2d-extras+协程的应用

    量过大 总目录 本教程涉及协程,如果不懂协程请点击上方总目录6,7节课查看协程 为什么要用携程呢?因为协程可以使得整个函数在过程运行,而不用一帧中完成所有的函数,不然只得计算量过大,让机器卡住.  开 ...

  3. unity2D横版游戏教程终章-主菜单和暂停菜单

    最后一节我们做一下主菜单和暂停菜单 我们创建一个新的scene,命名为Menu,这个就是主菜单场景 我们双击Menu进去设置一下我们的UI 我们先添加一下Canvas,在Canvas下面创建连个Pan ...

  4. unity2D横版游戏教程-1 让人物动起来

    在看完了麦扣老师的小狐狸的视频后,为了巩固练习,我另外找一个素材包来练手,顺便写成一个教程让自己更加熟练,同时当自己遗忘时可以回头查阅.另外,这个教程我写的非常详细,萌新也可以学习.有什么不对的地方或 ...

  5. unity2D横版游戏教程8-音效

    简单介绍一下unity audio,auido包括三个东西,分别是Aduio Listener,Audio Source,Audio Clips.Audio Listener就相当于耳朵,是用来听声音 ...

  6. unity2D横版游戏教程5-UI

    UI是User Interface的缩写,也就是用户界面.像登录界面的按钮,游戏的得分,暂停的按钮等都是UI 之前我门创建一个Cherries变量来计算我们收集樱桃的数量,现在我们创建一个UI来显示我 ...

  7. unity2D横版游戏教程-3 Cinemachine镜头移动

    Cinemachine是官方提供的摄像机工具组件,这个工具的用处还蛮大的,不过我们这里就简单说一下在2D游戏里面怎么实现镜头跟踪的效果,这里我们用Cinemachine代替使用Main Camera ...

  8. unity2D横版游戏教程10-场景控制

    我们让角色掉出地图时重置游戏 我们在Hierarchy那里创建一个一个空项目,命名为DeathLine,也就是死亡线,我们给它添加一个盒体碰撞器,调整一下碰撞器 我们要把这个碰撞器当做触发器使用,所以 ...

  9. unity2D横版游戏教程9-对话框dialog

    这节我们实现对话框dialog的效果,也就是人物到达某个地方后会弹出来一个对话框,比如资源包里有一个奖杯的模型,我们可以做人物碰到奖杯时提示游戏胜利的效果 我们先在地图中添加奖杯 我们在Collect ...

最新文章

  1. asp.net ajax聊天室,ASP.NET MVC4异步聊天室的示例代码
  2. java中交通灯管理系统_java案例--交通灯管理系统学习
  3. github船舰新文件夹_mac下搭建hexo+github
  4. 【Mybatis】 mapper XML 文件中使用 collection实现一对多关联
  5. Code Complete
  6. 关于DNS服务中查询域名的命令
  7. Hbase中的列式表映射到hive的外表
  8. 清华等高校自评称“已建成世界一流大学”?教育部回应
  9. css3动画animation,transition
  10. docker 查看镜像_Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指!...
  11. 图像匹配之不变矩匹配法
  12. 【软件分析/静态程序分析学习笔记】1.静态程序分析(Static Program Analysis)介绍
  13. Win11系统电脑怎么C盘扩容教学
  14. 订单系统设计 —— 订单管理
  15. boss网人脸识别认证_老来网社保认证官网版app下载
  16. 中文名称:(尼姆亚,熊猫烧香)
  17. C# 模拟PrintScreen 和 Alt+PrintScreen截取屏幕图片
  18. 骚年,看我如何把 PhantomJS 图片的 XSS 升级成 SSRF/LFR
  19. 【计算机网络-1】为什么学习计算机网络
  20. Python实战系列-上海银行间同业拆借利率最新报错解决方案

热门文章

  1. ubuntu系统盘原地扩容(使用自带磁盘工具)
  2. 做伦敦银,这两大要点容易被忽视
  3. matlab R2011a汉化包,《科学计算语言》(Mathworks Matlab)R2011a Win/UNIX[光盘镜像]
  4. 通用方法 关闭Outlook最小化非直接退出
  5. Unity---------Particle Effect详情
  6. 如何用 Python 让你的 PPT 数据动起来?
  7. python 图像变化检测_霍夫变换检测图像直线算法python实现
  8. 基于proteus的花样流水灯的设计(仅供参考)
  9. 【小知识】有趣代码注释图案【持续收集更新...】
  10. Codeforces Round #180 (Div. 2) B. Sail 【模拟】