塔防类游戏实现(一)
文章目录
- 游戏设计前言
- 具体实现
- 地图的设置与生成
游戏设计前言
场景中生成地面网格,每一个格子中可以拥有内容属性,和箭头指向(箭头指向可以关闭)
内容属性主要有:空,出生点,墙,终点等等,默认设置为空
出生点会产生怪物,墙能阻挡怪物
具体实现
地图的设置与生成
新建空物体命名为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:具体脚本以后会发出
塔防类游戏实现(一)相关推荐
- Ant Buster蚂蚁大作战(塔防类游戏经典)
蚂蚁大作战在塔防类Flash游戏上绝对称得上是精品,游戏主要靠升级而非海塔战术来推动,小蚂蚁们的AI也是很不错的,哪里一旦出现漏洞,就会乘机穿过去,音乐恰到好处,尤其是偷到蛋糕后的那一阵奸笑;)--- ...
- unity3D游戏开发实战原创视频讲座系列9之塔防类游戏开发第一季
解说文件夹 塔防游戏0基础篇... 第一讲 游戏演示和资源介绍... 第二讲 游戏场景的完毕... 第三讲 预制体的制作... 第四讲 敌人的随机产生和按路径行走... 第五讲 塔防工具的产 ...
- 微信小程序做塔防类游戏
开发一款塔防游戏需要以下步骤: 设计游戏规则和关卡设计,包括塔防类型.敌人类型.塔类型.升级系统等. 使用微信开发者工具创建新的小程序项目. 使用小程序框架(WXML.WXSS和JavaScript) ...
- 使用Unity3D引擎制作塔防类游戏(二)
时隔这么久,终于写完了关于兵营的大部分功能,写完的同时,还要感慨一下,从头做一个游戏真的好难啊,到现在也只写完一个一级的兵营,问题也不少,写出来分享一下,目前的代码不是很高深,要是有更好的写法,也请不 ...
- wp7使用Cocos2d-X for XNA制作一个塔防类游戏 (二)在游戏中加入地图和怪物。(上)
地图编辑器的使用 首先先来介绍一下使用地图编辑器tIDE Tile Map Editor来生成TMX文件.tIDE Tile Map Editor的下载地址 http://tide.codeplex ...
- 使用cocos2d开发仿《皇家守卫军》塔防类手游源码分享
使用cocos2d开发仿<皇家守卫军>塔防类手游源码分享 https://bbs.wxrym.com/thread-90259-1-1.html (出处: 外星人源码论坛) ...
- 塔防小游戏的开发设计经历
前段时间微信朋友圈里微信经常向我推塔防小游戏,一时心血来潮,研究了下这类小游戏的开发设计,仿造了经典塔防游戏<Field Runner>.文章在其它平台发表过,为了让更多同学可以看到,作者 ...
- 塔防小游戏的开发设计
来由 前段时间我也不知道哪来的勇气,竟然雄心勃勃要设计一款拯救泡泡鱼的小游戏,梦想着流量暴涨的美好远景,动手设计实现了好几种玩法,找了批朋友玩了下,原本满怀期望却被吐槽声淹没了.沉寂了一段时间,有天突 ...
- python 玩公众号游戏_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...
我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...
- android 小游戏源码_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...
我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...
最新文章
- java实现星级评分功能_JavaScript实现星级评分
- Redis-12Redis 流水线( pipeline )
- 智能可穿戴平台,你更看好谁?
- PHP 接口开发注意事项
- Netflix选择AVIF作为下一代图片压缩技术
- php本地怎么接受小程序图片,怎么把本地图片当作小程序背景
- 2016第三届科学数据大会诚邀商务合作
- 如何下载安全绿色的代理IP软件
- SSM高校实验室安全培训系统设计与实现.docx
- 2022年信息安全工程师考试知识点:网络安全需求分析与基本设计
- Bootstrap文字排版方面css实用类
- 用js实现一个自动阅读的代码
- 当无边框窗口被子窗口遮挡导致难以调节窗口大小时,可通过处理 NCHITTEST 消息重新支持调节窗口大小
- 电子设计教程4:稳压管稳压电路
- 基于STM32的0.96寸OLED显示屏显示数据
- 深入探索REST(1):如何设计好的RESTful API?
- 腾讯地图API使用指南
- STM32CubeMX介绍、下载与安装
- 【动手学习深度学习笔记】
- Java实验6 --模拟物流快递系统程序设计
热门文章
- 生成树协议(一)STP协议原理简介:广播风暴、MAC地址表震荡实验、STP工作原理、BPDU简介、STP故障处理
- 多元线性回归及虚拟变量(哑变量)设置
- excel白屏未响应_Excel中出现无响应的解决方法
- 中国最美的40个地方 第一名竟然不是九寨沟
- android 动态磁贴,善用动态磁贴和Xbox游戏
- View和ViewGroup
- 南佛罗里达大学计算机科学硕士,南佛罗里达大学计算机工程硕士排名第88(2020年TFE Times排名)...
- 神经网络:ResNet 论文学习总结(二)-- 模型微调
- Facebook改名,元宇宙非区块链不可
- word闪退 用endnote_endnote x9 word 中插入参考文献时闪退崩溃