如何使用unity3d游戏菜单制作制作游戏

用Unity3D 做 Flappy Bird 游戏 - 简书
用Unity3D 做 Flappy Bird 游戏
效果展示:
创建项目用到的文件夹 例如 images
scripts等,之后将图片素材拖入到images中, 如下图所示:
接着创建鸟扇动翅膀的动画 如下图所示
小鸟挥动翅膀动画的绘制
这样一个 Bird 扇动翅膀的动画就完成了
接下来呢,该为我们的小Bird 加上上下两个顶部, 如下图所示:
topandbuttom.gif
之后我们为上下两个顶部和小鸟加上碰撞检测并给小鸟加上重力,如下图所示:
加上碰撞检测和小鸟的重力
紧接着, 我们需要为小鸟能在按空格键或者鼠标右键的时候,跳一下,为此,在scripts文件夹下创建birds C# script 文件
小鸟的起跳和碰撞检测
下面解释一下代码:首先,C# 的程序入口在unity3d中被封装成了 Start() 和 Update()两个,其中 Start() 是在游戏启动后仅仅执行一次,一般完成一些初始化工作, 而Update()则是在游戏启动后逐帧执行,也即每帧执行一次Update()函数
第6行 定义了小鸟的飞行速度值, 即可以理解成没按一下按键上升多少距离第14行 检测是否触发了键盘的空格键或者是鼠标的右键,其中GetMouseButtonDown()的参数中0为左键,1为中键,2为右键,若触发则接着执行第15行的动作, 即将小鸟的y轴上的速度加上刚才设置的瞬时速度。第19行 的代码用来检测小鸟和上下顶的关系,若两者碰到则在终端打印 "Game Over" 并重新加载游戏ps: 这里要注意将上下两个顶部的名字重命名成为end
之后将上述写好的代码单击按下不要松开拖到bird上,像如下所示:
下一步先将照相机的投影模式改成正交模式, 因为我们做的是2d游戏,所以选择正交模式更加适合一些
22_07_15_09_48_16.png
然后为Flappy Bird 添加背景图片 首先和小鸟图片一样将导入的背景图片变成unity可以直接用的2d精灵图片, 之后直接拖到我们的场景中就可以了如下图所示:
分别调整背景和小鸟的layer
Paste_Image.png
这样一个基本的雏形已经完成了, 下面就该为小鸟添加障碍物
在这之前, 为了界面简洁可以将背景图片和上下顶部放到一个空的GameObject里然后命名这个GameObject为BG, 即如下图所示
22_07_15_09_47_00.png
接着将我们images文件夹中的pipe1像之前那样编程unity可用的精灵对象,之后拖到我们的场景列表中放置好位置后,复制一个相同的pipe出来 然后旋转180并拖动位置 像下图所示:
22_07_15_09_56_01.png
因为这两根柱子必须要对齐才行所以创建一个新的GameObject将两根柱子拖到其中,并命名该GameObject 为pipes
这样我们的柱子的场景就做好了 接下来 我们要做的是让柱子动起来,首先将其移出视线内,然后在scripts文件夹中创建Move c# script 文件用来控制柱子的移动
Paste_Image.png
第6行: 首先设置柱子移动的距离 这个大家需要自己算一下自己的 我的柱子是从右向左 分别x的坐标为(7)和(-12)所以移动的距离为-19第7行: 设置了柱子移动的速度值第8行: 定义了柱子的终止位置(即一个三维向量)第11行: 在Start() 函数中首先计算出endPos坐标第16行: 在Update() 函数中计算柱子实时坐标第17行: 该行用来检测柱子是否移动到了终止坐标,一旦移动到了,则自我销毁。
到了这一步,我们的鸟儿应该可以穿越柱子啦, 但是这时候小鸟碰到柱子上并不会有什么反应,然么怎么加上小鸟碰到柱子时候结束游戏呢? 最简单的办法就是修改两个柱子的名字和上下底部一样为 end 并给柱子加上碰撞检测组件即如下图所示:
Paste_Image.png
接下来我们创建更多的柱子, 为了实现这一点,要用到一个叫做预制的技术首先在images, scripts等在同一目录创建一个新的文件夹叫做 prebab。
然后如下图所示,将场景中的pipes对象拖到prefab文件夹中做成预制件:
prefab.gif
然后在scripts文件夹中创建一个新的名叫 CreatePipes 的C# script 文件先将其拖拽到Main Camera下作为其组件,并写下以下代码:
Paste_Image.png
第5行: 首先创建一个pipesPrefab的GameObject 待会用来关联之前的pipesP第8行: 重复调用 "Create"函数第12行: 实例化pipesPrefab, 即不断的制造柱子
写完后保存回到Unity3D 将prefab文件夹中的pipes和Main Camera中的 pipesPrefab 关联(即拖拽到标签为pipesPrefab 的值中)之后就可以将场景中原来的pipes 删除掉。
完成后效果如下图所示:
prefab2.gif
这样就能源源不断的出现柱子啦! :)
很显然,我们不能让柱子一直这么以一个不动的姿态出现, 下面来看看如何让柱子的高度发生些变化:完成这一步其实非常简单我们只需要自己测量下柱子在屏幕中y轴的上下临界值即可(例如pipes的y轴设置为3则上面的柱子恰好在屏幕上看不到,y轴设置为-3则下面的柱子恰好看不到)
修改CreatePipes这个脚本文件的第12行为:以下代码:
Paste_Image.png
该代码是重载了Instantiate这个函数其中第二个参数就是设置柱子出现的位置,第三个是柱子的旋转角度,这里我们像如上代码设置为恒定值即可。
如此以下 我们的柱子出现的时候位置就是随机的啦,效果如下所示:
prefab3.gif
接下来,我们为小鸟加上分数, 即每通过一个柱子,获得一点分数, 首先在场景中添加一个 Canvas(在场景列表中右键UI中选择Canvas)并在Canvas中添加Text移动到适宜的位置并修改其内容为0
Paste_Image.png
接下来我们要如何知道小鸟通过了一个柱子呢? 这里用到触发检测, 即一种特殊的碰撞检测(不影响物体的运动,仅仅检测两者有没有碰着)
将pipes从prefab中拖回到场景列表之后在pipes中新建一个Cube并用其填充两个柱子之间的空隙,如下图所示:
接着如下图做一些修改:
pipes2.gif
到这里触发体就设置好了,下面通过一个脚本来测试是否通过柱子并为其加分, 打开 之前创建的 Bird C# script 文件
Paste_Image.png
第2行: 添加UnityEngine.UI库 以便可以获得Text对象第7、8行: 分别定义scoreText对象和整型score变量第30行: 该函数用于处理触发离开事件(即小鸟飞过柱子后分数+1)
保存退出后,将Canvas中的Text和bird1对象的组件中的ScoreText关联起来
之后修改场景列表中pipes下Cube名称为score之后点即右侧的Apply然后删掉该pipes
score2.gif
最后一步, 得分时,如何加上声音呢,首先我们创建新的文件夹叫做audio并且将我们的声音资源文件添加进来, 然后打开 Bird 脚本文件 添加以下第6行和第35行代码之后保存退出:
Paste_Image.png
Paste_Image.png
然后将声音文件 关联到bird下得的coin:
最后点击bird添加AudioSource组件,如下图所示:
audioSource2.gif
到目前为止,我们的FlappyBird小游戏就告一段落了。。。
感谢各位看到这里。。。查看: 714回复: 26
如何使用Unity制作游戏关卡
元素币活跃度贡献值
元素侠, 积分 831, 距离下一级还需 1169 积分
元素侠, 积分 831, 距离下一级还需 1169 积分
在线时间12 小时
马上注册成为元素者,获取海量元素资源,结识各路大神级人物
才可以下载或查看,没有帐号?
本文是“使用Unity制作《The Fork Of Truth》的关卡”系列的第三部分。前两部分分别是:
在这最后一部分,我将介绍一些组合关卡的小技巧。
游戏的视角是必须认真考虑的,一点儿变化都会影响我们看游戏的方式。比如,镜头“越肩”,游戏看起来就像第三人称格斗游戏;镜头高悬静止,游戏似乎是RTS;镜头跟随着角色移动,游戏又像动作RPG了。
-0.jpg (39.93 KB, 下载次数: 12)
16:45 上传
near position
-1.jpg (40.71 KB, 下载次数: 11)
16:45 上传
far position
(《The Fork Of Truth》的镜头的近距离位置和远距离位置——注意角度的区别。)
我们调整了很长时间的视角,最终决定采用动作RPG的摄像位置的变体,也就是以固定的角度、从上到下观察角色。摄像相的高度会根据缩放程序轻微地改变:当镜头接近地面时,角度倾向于水平;当镜头位于高空时,角度倾向于垂直。
从小通道到开阔区域,关卡坡度会变化。通过添加“阻塞点”,玩家被迫进入关卡的狭窄传送口,这样就避免他们在开阔空间中闲逛或迷路。路径基本上是线性的,但有足够的探索空间。自然缩窄的通道会把玩家带回路径。
-2.jpg (55.18 KB, 下载次数: 11)
16:45 上传
《The Fork Of Truth》的关卡,红色箭头指向阻塞点(from paladinstudios)
这个关卡给予玩家一定的探索和发现物品的空间,但也把他们引向达到最终目标的路径。
只要可以,我们就会尽量给场景添加有趣的细节,使场景更具故事性、更生动。
-3.jpg (35.17 KB, 下载次数: 12)
16:45 上传
船坞边的渔具
-4.jpg (41.7 KB, 下载次数: 9)
16:45 上传
被踩坏的围栏,是地精骚乱后的结果
-5.jpg (51.58 KB, 下载次数: 15)
16:45 上传
告诉你正确路径的路标
-6.jpg (46.64 KB, 下载次数: 9)
16:45 上传
草地上的(假)牛
这些小细节可以传达丰富的场景信息。比如,谁居住在这里?这里发生了什么事?是否危险?接下来会遇到什么?
我们使用简单的、具有即时阴影的平行光源。分享一个光照的小技巧:太阳光的颜色应该有一点儿黄,阴影应该有一点儿蓝。这是模拟晴朗的天空(四处都是蓝色)中挂着一轮“黄”日(平行光)。
距离玩家较远的地方会产生雾。这么做,可以模糊远处的物品、节省渲染工作量,如果雾比较浓密的话,还可能营造出一种恐怖的氛围。
.jpg (43.66 KB, 下载次数: 7)
16:45 上传
LFG-Fork-Of-Truth
(稀疏的雾可以强化场景的氛围——但不要做过头了。)
元素币 +10
不错的内容,帖子发重复了,我给你删掉一个
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
土豪金12127
在线时间2121 小时
正是本尊想要的!
【元素推荐】UNITY 跑车 豪车 汽车模型 资源整合
/plugin.php?id=it618_tietuibang:tui&uid=37641&tid=42684
元素币活跃度贡献值
在线时间2181 小时
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 47108, 距离下一级还需 52892 积分
元素皇, 积分 47108, 距离下一级还需 52892 积分
在线时间704 小时
元素帖子强,满满正能量!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 5018, 距离下一级还需 24982 积分
元素王, 积分 5018, 距离下一级还需 24982 积分
在线时间84 小时
感谢楼主分享,楼下保持队形
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素魔, 积分 3446, 距离下一级还需 1554 积分
元素魔, 积分 3446, 距离下一级还需 1554 积分
在线时间15 小时
带你赚币带你飞,元素里面有正妹!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 22967, 距离下一级还需 7033 积分
元素王, 积分 22967, 距离下一级还需 7033 积分
在线时间229 小时
好教程,收藏
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 22967, 距离下一级还需 7033 积分
元素王, 积分 22967, 距离下一级还需 7033 积分
在线时间229 小时
好教程,收藏
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素侠, 积分 1742, 距离下一级还需 258 积分
元素侠, 积分 1742, 距离下一级还需 258 积分
在线时间31 小时
正是本尊想要的!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素侠, 积分 539, 距离下一级还需 1461 积分
元素侠, 积分 539, 距离下一级还需 1461 积分
在线时间0 小时
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素侠, 积分 539, 距离下一级还需 1461 积分
元素侠, 积分 539, 距离下一级还需 1461 积分
在线时间0 小时
大家加油做哦
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 59803, 距离下一级还需 40197 积分
元素皇, 积分 59803, 距离下一级还需 40197 积分
土豪金1604
在线时间817 小时
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 17581, 距离下一级还需 12419 积分
元素王, 积分 17581, 距离下一级还需 12419 积分
在线时间273 小时
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 5255, 距离下一级还需 24745 积分
元素王, 积分 5255, 距离下一级还需 24745 积分
在线时间68 小时
参与/回复主题关闭
RE: 如何使用Unity制作游戏关卡 [修改]
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 10833, 距离下一级还需 19167 积分
元素王, 积分 10833, 距离下一级还需 19167 积分
在线时间119 小时
感谢分享{:1_144:}
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 10833, 距离下一级还需 19167 积分
元素王, 积分 10833, 距离下一级还需 19167 积分
在线时间119 小时
感谢分享{:1_144:}
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 15957, 距离下一级还需 14043 积分
元素王, 积分 15957, 距离下一级还需 14043 积分
在线时间166 小时
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 15957, 距离下一级还需 14043 积分
元素王, 积分 15957, 距离下一级还需 14043 积分
在线时间166 小时
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素魔, 积分 2053, 距离下一级还需 2947 积分
元素魔, 积分 2053, 距离下一级还需 2947 积分
在线时间26 小时
楼主还在吗,为什么前两部的教程链接打开都是第三部的呢
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素师, 积分 345, 距离下一级还需 155 积分
元素师, 积分 345, 距离下一级还需 155 积分
在线时间0 小时
先围观,再马克,回复攒币,最后入手
还没有设置签名!您可以在此展示你的链接,或者个人主页!
【拥有1000元素币】你就可以领取
【拥有3000元素币】其实也是很容易的事情
【1W元素币】的持有者,对于很多元素者来说,是一件值得骄傲的事情!
【50小时】的学习,已经证明了你自己,这件法袍是你的了,由于使用了简陋的材料,能穿一个月已经不错了!
加入【元素6月】在元素冒险的时候,你一定会用到它,尤其是在遇到像小强这种可怕生物时
达成成就【我是界王】在任意元素QQ群联盟,到达【界王】以上
达成成就【我超神了】在 QQ群内名称与论坛一致!并到达【超神】级别
平时一次性兑换土豪金超过3000,圣诞节期间一次性兑换土豪金超过500即可获取!
【贡献50】这只是一颗普通的珍珠,但是戴在你的手指上,能使你魅力提升不少呦
【贡献100】虽然黄金的价位在跌,但是真金不怕火炼,金子始终是金子
【贡献200】如果你还在抱怨自己在摇奖的时候人品不好,不如试试这个,也许真的有用
【5W元素币】的持有者是真的土豪!赶快用它做点什么吧!
【拥有10W元素币】才可以获得,您已经富可敌国了,钱对你来说只是一个数字,没有任何别的意义!
升级到【星球·资源帝】
【MP50】这次的冒险才刚刚开始,和所有故事一样,你得先有一个属于自己的法杖!即使他的法力会在30天后消失
达成成就【中级追猎者】在元素悬赏中30次被评为最佳答案 ,双十二特别礼品
元素推荐-友情提示 /1
每周一次的扩散大招带来更多元素币收益!
快速登录:
收藏帖子(6)
周一至周日:08:00-22:00
积分和充值
&2014&&. All rights reserved. (金钱鳘又称黄唇鱼,目前已经接近濒危灭绝的状态。
赴日游客越来越多,国内游客成为黑心商家的肥肉。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
  译者:崔嘉艺(milan21)
  审校:崔国军(飞扬971)
  我的一个兴趣项目是做一个类似Ultima和上古卷轴这样的游戏-在一个巨大的开放世界之中,你所做的一切会影响你周围的世界。这是商业游戏长期以来承诺会做到的一点- 但是它从游戏性的角度来看并没有带来乐趣。但是一个非常古老的ASCII图形游戏Omega,展示了几个方法做到这一点:不仅完成了承诺,而且从游戏性的角度来看仍然是“有趣”的 - 非常有趣! 这是我正在努力的目标。
  这是我为Unity写的高性能实体系统的测试用例(更多信息在这里:http://t-machine.org/index.php//2015-talk-progress-on-an-entity-system-for-unity3d/)。我的目标是“游戏内容比想象的还要丰富”与“Oblivion级别的图形渲染水平”。要说清楚的是:Oblivio几乎在10年前就发布了!在今天重现这些图形渲染是相当容易的。
  挑战:随着时间的推移而进行演变的可信的城市
  在任何FPS RPG游戏中我还没有看到的事情之一是让人可信的城市,而且还有更高一层的目标:城市随着时间而实际发生演变。我看到的最接近这个目标的是刺客信条系列中美丽的“大城镇”(他们代表着城市,但是距离实在是太小)。
  刺客信条系列中美丽的“大城镇”不包括“随着时间而演化”的部分 C也就是刺客信条系列中的“大城镇”是100%静态和不会发生变化的。这是手工制作的城市,而且因为他们不能发生变化(技术设计的选择),因此玩家不能改变它们。 你不能烧毁社区,或者建一个新的桥。你不能买两个房子,然后把他们合并在一起。
  嘿,RPG行业,你可以做得更好!
  这是我的设计中的主要的新游戏元素之一。如果我所管理的是取自一个现成的RPG mod并添加居民和扩张的城市。。。我可能会满意。但这是什么意思?
  子挑战:“可信的”城市?
  这里面有这么一些事情:
  城市从来不是由网格组成的,除非你住在现代美国的几个小飞地里面,并被困在里面一直到20世纪50年代。
  城市有区域等基于专业化的集群。有时它会基于地理位置(比如说是“码头”),有时它会基于在那里工作的人群(比如说是“金融区”),有时它会基于城市本身的历史(“老城镇”-通常是城市的一部分,由中世纪石墙围拢,位于现代城市里面。举个简单的例子来说,看下伦敦市的老墙壁,它仍然还在那里!)。
  当有重要的人物死亡的时候:他们的财产会丢失、发生争夺战斗,分裂给各种继承人。 一个人的死亡-或者相反:某人变得富有或被选中担任某个官职-会改变城市的区域。
  城市的扩张。伦敦在多个世纪以来都是“泰晤士河北部的城市”。但是现在泰晤士河在哪里? 在伦敦市的中间。城市沿着一侧河岸扩张,建造桥梁,然后扩展到河的另一边。
  网格和房子定位
  在一个小时的时间里,我做了一个快速概念测试,以显示一个城市可能看起来像是在走动:
  (注意:奇怪的光照效果是因为我在测试一个有动态光照的手持灯笼的想法在Unity的工作的结果,但我不是100%的满意)。
  需要注意的事情:
  城市里有许多死胡同。这个是正常的!
  死胡同通常在房子的门口终止。在理想的情况下,我相信死胡同的重点附近应该总是有一个门,或是下水道的入口,或是一堵墙。。。在现实世界中,一个没有门的小巷很容易通过在前面建一个墙得到,并且称为附属于一个相邻的房子的一个新房子/房间。
  在英国,有许多城市甚至建立了“不动”的东西。我住在房子里,下水道在建筑物之内,因为房子是在下水道的顶部扩展的。我还看到有室内墙的房子(同样的原因:墙原来在户外,然后庭院被覆盖,成为了一个房间)。
  城市大多是由奇怪的庭院互相连接的,同时还有数量比较少的大街。简而言之:如果这个城市是空的,就不会有太多的街道交通。但这种关联不是一个小心、带有平方的数学方式。相反,它使用任何趁手的材料,你拥有的任何长度的木材等等,使得每个建筑和街道随着时间的推移越来越歪曲
  很难从远处发现的隐藏的小巷隐藏在建筑物的角落里。再次说明下,在现实世界中,这些情况是常见的(你在游戏中看到它们的频率有多少?很少)。
  让我们举一个现代的例子,在我现在居住的城市里(布莱顿),有一个名为“Twittens”的网络。 Twitten被定义为“一个小巷,作为人们房子前门的唯一通道”。也就是说这里的房子除了通过小巷根本就不能到达。这样设计很可爱。人们喜欢住在这样的地方。他们非常安静,甚至在一个繁忙的星期六晚上在城市的中心也是如此 C 如果许多醉酒的人挤在一条小巷里的话你不会舒服的。
  地理、季节、演化、扩张、适应
  这些东西都非常难以使用随机生成来进行模拟。
  通过对西方文化的研究-城镇、城市、家庭、王朝、社会团体等的增长相比外部的“战争”可能更多是记录下来的历史。因此,我们知道很多观察到的事实,比如什么原因、何时以怎样一种方式对什么发生了改变。但你怎么告诉电脑呢?
  Introversion软件公司里面的一些聪明人,在一段时间里基于“城市下面/旁边的地理信息”以及“城市中的专业化”来进行现代城市的生成工作,这是一个视频:
  效果很好,是么?
  但我需要比“效果很好”更多的东西:我需要以编程的方式来存储这个东西。因为它是我的游戏的核心,我可以做三件事情:
  根据城市中是否存在街区以及玩家是否“发现”了这些街区来改变的任务、AI,奖金、惩罚措施、商店位置等等!
  城市的演化:当城市运行“城市扩张”的算法的时候,我需要保留一些区域,而替换其他区域。我需要控制这些信息,否则它会太混乱!
  当玩家改变城市(通常在非常富有的情况下建造新房子或是隔断街道等等)的时候,我需要能够以编程程序的方式检测和重新计算城市区域,并且让电脑改变城市周围的玩家的行动。
  解决方案:生成语法
  当我在Uni读计算机科学的学位的时候,讲师喜欢说学习编程的两个最重要的事情是“如何做一个编译器”和“如何编写新的编程语言”。事实证明,当你遇到一个真正的巨大问题的时候,通常人类解决它的最快的方式是写一个新的语言,使这个问题很容易描述,并写一个新的编译器,让计算机把“简单”语言转换到大量的C ++(或任何其他语言)的代码。
  然后你可以在C ++代码上运行一个普通的编译器,并得到你的解决方案。
  在城市生成的过程中使用语法理论上解决了很多上述问题。但是在实践中,这比想象的更困难。主要是因为很难决定什么级别的细节要放在你的语法里面!
  你需要学习的最简单、最重要的事情:巴科斯范式
  如果你想做任何编程的话,去学习巴科斯范式。立刻就开始吧!
  巴科斯范式是一种非常简单的方式来表示我们在现实世界编程中遇到的大多数语法。它不只是关于编程的描述方法:它是所有互联网协议的正式描述方法。
  举个简单的例子来说,什么是有效的电子邮件地址? 你有一个@符号吗? 空间怎么样?它们可以去哪里? 你确定? 。。。答案就是一个简单的巴科斯范式语法,一种令人惊讶地简单来回答这些问题,没有任何讨厌的冗长的学术术语。这好极了!
  每个人都应该学习巴科斯范式。但是,让我们继续回到游戏这个主题。。。
  How todecide? ARGH!
  我花了几个星期来做城市的模拟,以及能够进行扩展/改善/增加细节后的转变。这是很艰难的,但我在使用转换接受“标记”多边形和输出一组新的“标记”多边形方面取得了一些成功。
  但很快我就看清楚,需要几个星期的工作来尝试一个想法,然后发现这个想法是否可行。 因为这是一个兴趣项目,这可能需要我半年或更多的时间来尝试每个(失败)的想法!
  所以我需要一些规模更小的东西。
  我决定先用一维来做。 也就是在简单字符串上实现巴科斯范式语法。字符串从左到右进行读取来作为城市的配置文件。
  下面就是一个字符串的例子: Grass Grass Fields Farm FieldsRoad Big_Road CityWall GuardHouse Market Houses Houses Castle Houses MerchantsHouses CityWall Beach Sea
  。。。这让我可以测试有关游戏设计的想法(什么是“有趣”的关卡细节?我的语法规则需要复杂到什么成都?我需要多少语法来做一个有趣的城市?。。。怎样是“太多”会导致无聊的城市?
  起初,我用句子来进行可视化,但是我发现,随着我的城市变大,我很难用这种方法进行工作。 所以。。。我在屏幕底部添加了一个视觉表示,使用 的上Dan提供的免费游戏资源进行图形表示。
  我一开始很喜欢这个想法,但发现没有意义的时候开始感到沮丧,即使我做了很多迷你城市。
  所以我意识到我可以使它成为一个迷你游戏。几个小时后,我们有了MiniCity的0.1版本:
  http://t-machine.org/files/cityclicker/rogue1citymaker.html (Unity Webplayer, 运行在浏览器里面)
  它的效果很差-是的,我知道!
  现在的这个版本,不如期待的那么有乐趣。我几次改变了规则,发现了一些我没有看到的问题。 然后我添加和删除一些东西来修复他们,并且。。。耗尽了我的空闲时间。我点击发布按钮,是因为我认为这是一个非常有趣的想法。不要以一个游戏的标准来判断它!这是一个设计工具,而不是一个游戏。
  但是。。。。在以后的晚上或是周末,这是我可以很快添加的内容。我已经开始开发二维版本:有自上而下的城市视图,使用任意形状的多边形而不是位图瓦片。
  我是怎么做到的?
  如果你有兴趣的话,我会把实际的巴科斯范式转换列放在按钮上。它不是用巴科斯范式语法写的(对不起!),但是如果你看过巴科斯范式的话,你应该很容易看到发生了什么。
  注意:我开始写(我在白板上)我想要的巴科斯范式。 然后我一次一个规则的实现出来。
  规则本身是使用正则表达式(C#的“正则表达式”类),因为我发现这是一个超快的方式让我能把某些东西跑起来。这对于二维版本来说是绝对没有用的 - 但是Regexp是专门为一维输入(字符串)而设计的。
  你应该能够通过查看按钮的名称来了解每个规则的作用,以及它为什么能起作用。
  【版权声明】
  原文作者未做权利声明,视为共享知识产权进入公共领域,自动获得授权。
  点击一下
  立即阅读近期热文
添加小编微信,发送“程序”,可享双重福利
1.加入GAD程序猿交流基地
获取行业干货资讯
观看大牛分享直播
2.直接领取60G独家程序资料库
腾讯内部分享、文章教程、视频教程等
↓长按添加小编GAD-沫沫↓
  点击“阅读原文”了解更多
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱:

我要回帖

更多关于 unity3d简单游戏制作 的文章

 

随机推荐