文章目录

  • 游戏设计前言
  • 具体实现
    • 地图的设置与生成

游戏设计前言

场景中生成地面网格,每一个格子中可以拥有内容属性,和箭头指向(箭头指向可以关闭)

内容属性主要有:空,出生点,墙,终点等等,默认设置为空

出生点会产生怪物,墙能阻挡怪物

具体实现

地图的设置与生成

新建空物体命名为GameBroad

新建Quad面片,放在GameBroad下,命名为Ground


新建Material,放一张格子图作为贴图


新建GameBroad脚本

//生成地图 GameBroad.cs中
[SerializeField] Vector2Int _size;//宽和高,用二维值表示
[SerializeField] MeshRenderer _ground;//地图的网格渲染器void Start(){_ground = transform.Find("Ground").GetComponent<MeshRenderer>();//获取地图网格渲染器_ground.transform.localScale = new Vector3(_size.x, _size.y, 1);//设置宽高_ground.material.SetTextureScale("_MainTex", _size);//设置纹理缩放//相关网页https://dev.gameres.com/Program/Unity3Dmanual/Script/Material/Material.SetTextureScale.html}

新建GameTile地图瓦片,子物体包含一个箭头面片,


新建GameTile脚本,挂载到GameTile物体上,然后把gameTile设置为预制体

[SerializeField] GameObject _arrow;//绑定一个箭头
//每个面片需要获取到周围四个面片public void MakeLeftNeighbors(GameTile left){left.right = this;this.left = left;//反过来让对方绑定自己}public void MakeRightNeighbors(GameTile right){right.left = this;this.right = right;}public void MakeUpNeighbors(GameTile up){up.down = this;this.up = up;}public void MakeDownNeighbors(GameTile down){down.up = this;this.down = down;}

地图编辑器GameBroad.cs中需要用数组保存所有瓦片,初始化地图

 [Header("预制体")][SerializeField] GameTile _gameTilePre;//瓦片预制体[SerializeField] GameTile[] _GameTiles;//地图瓦片void Start(){_GameTiles = new GameTile[_size.x * _size.y];float offectX = _size.x/2.0f;float offectY = _size.y/2.0f;int index = 0;//瓦片下标for(int i=0;i<_size.x;++i){for(int j=0;j<_size.y;++j){GameTile tmp= Instantiate(_gameTilePre);tmp.transform.SetParent(transform);tmp.transform.localPosition = new Vector3(i-offectX+0.5f, 0.1f, j-offectY+0.5f);//进行已经生成的瓦片,也就是下和左的绑定if (j > 0)tmp.MakeDownNeighbors(_GameTiles[index - 1]);//初始化瓦片,每一个瓦片记录下周围四个瓦片if (i > 0)tmp.MakeLeftNeighbors(_GameTiles[index - _size.y]);_GameTiles[index++] = tmp;//先用后加,存入数组}}}

PS:具体脚本以后会发出

塔防类游戏实现(一)相关推荐

  1. Ant Buster蚂蚁大作战(塔防类游戏经典)

    蚂蚁大作战在塔防类Flash游戏上绝对称得上是精品,游戏主要靠升级而非海塔战术来推动,小蚂蚁们的AI也是很不错的,哪里一旦出现漏洞,就会乘机穿过去,音乐恰到好处,尤其是偷到蛋糕后的那一阵奸笑;)--- ...

  2. unity3D游戏开发实战原创视频讲座系列9之塔防类游戏开发第一季

    解说文件夹 塔防游戏0基础篇... 第一讲  游戏演示和资源介绍... 第二讲  游戏场景的完毕... 第三讲  预制体的制作... 第四讲  敌人的随机产生和按路径行走... 第五讲  塔防工具的产 ...

  3. 微信小程序做塔防类游戏

    开发一款塔防游戏需要以下步骤: 设计游戏规则和关卡设计,包括塔防类型.敌人类型.塔类型.升级系统等. 使用微信开发者工具创建新的小程序项目. 使用小程序框架(WXML.WXSS和JavaScript) ...

  4. 使用Unity3D引擎制作塔防类游戏(二)

    时隔这么久,终于写完了关于兵营的大部分功能,写完的同时,还要感慨一下,从头做一个游戏真的好难啊,到现在也只写完一个一级的兵营,问题也不少,写出来分享一下,目前的代码不是很高深,要是有更好的写法,也请不 ...

  5. wp7使用Cocos2d-X for XNA制作一个塔防类游戏 (二)在游戏中加入地图和怪物。(上)

    地图编辑器的使用 首先先来介绍一下使用地图编辑器tIDE Tile Map Editor来生成TMX文件.tIDE Tile Map Editor的下载地址  http://tide.codeplex ...

  6. 使用cocos2d开发仿《皇家守卫军》塔防类手游源码分享

    使用cocos2d开发仿<皇家守卫军>塔防类手游源码分享 https://bbs.wxrym.com/thread-90259-1-1.html (出处: 外星人源码论坛)        ...

  7. 塔防小游戏的开发设计经历

    前段时间微信朋友圈里微信经常向我推塔防小游戏,一时心血来潮,研究了下这类小游戏的开发设计,仿造了经典塔防游戏<Field Runner>.文章在其它平台发表过,为了让更多同学可以看到,作者 ...

  8. 塔防小游戏的开发设计

    来由 前段时间我也不知道哪来的勇气,竟然雄心勃勃要设计一款拯救泡泡鱼的小游戏,梦想着流量暴涨的美好远景,动手设计实现了好几种玩法,找了批朋友玩了下,原本满怀期望却被吐槽声淹没了.沉寂了一段时间,有天突 ...

  9. python 玩公众号游戏_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...

    我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...

  10. android 小游戏源码_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...

    我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...

最新文章

  1. java实现星级评分功能_JavaScript实现星级评分
  2. Redis-12Redis 流水线( pipeline )
  3. 智能可穿戴平台,你更看好谁?
  4. PHP 接口开发注意事项
  5. Netflix选择AVIF作为下一代图片压缩技术
  6. php本地怎么接受小程序图片,怎么把本地图片当作小程序背景
  7. 2016第三届科学数据大会诚邀商务合作
  8. 如何下载安全绿色的代理IP软件
  9. SSM高校实验室安全培训系统设计与实现.docx
  10. 2022年信息安全工程师考试知识点:网络安全需求分析与基本设计
  11. Bootstrap文字排版方面css实用类
  12. 用js实现一个自动阅读的代码
  13. 当无边框窗口被子窗口遮挡导致难以调节窗口大小时,可通过处理 NCHITTEST 消息重新支持调节窗口大小
  14. 电子设计教程4:稳压管稳压电路
  15. 基于STM32的0.96寸OLED显示屏显示数据
  16. 深入探索REST(1):如何设计好的RESTful API?
  17. 腾讯地图API使用指南
  18. STM32CubeMX介绍、下载与安装
  19. 【动手学习深度学习笔记】
  20. Java实验6 --模拟物流快递系统程序设计

热门文章

  1. 生成树协议(一)STP协议原理简介:广播风暴、MAC地址表震荡实验、STP工作原理、BPDU简介、STP故障处理
  2. 多元线性回归及虚拟变量(哑变量)设置
  3. excel白屏未响应_Excel中出现无响应的解决方法
  4. 中国最美的40个地方 第一名竟然不是九寨沟
  5. android 动态磁贴,善用动态磁贴和Xbox游戏
  6. View和ViewGroup
  7. 南佛罗里达大学计算机科学硕士,南佛罗里达大学计算机工程硕士排名第88(2020年TFE Times排名)...
  8. 神经网络:ResNet 论文学习总结(二)-- 模型微调
  9. Facebook改名,元宇宙非区块链不可
  10. word闪退 用endnote_endnote x9 word 中插入参考文献时闪退崩溃