内托体头 发表于 2021-1-19 10:23

(再进阶)Unity.零基础.十五分钟做一个文字放置游戏.含全部代码

【原创不易,若喜欢请收藏点赞 (ˊωˋ*) 】
本文(第3篇)目标
发现同学们还是有一点怯怯的放不开,其实完全不用害怕也无需担心,记得第1篇教程里说的,不要怂就是干!有什么好奇的随便整随便点,操作unity3d并不会对你的电脑带来任何影响,大不了把整个项目删了从头新建,没啥大不了的。
第3章打算讲解一些和开拓思路有关的东西,葡萄园是不是没什么感觉?这个版本我们换一个玄幻的背景,非常简单,和程序无关,只和语文有关。我们把无限葡萄园换成无限灵田,葡萄换成各种成精的灵药……
然后,山宗会继续扩展版本2里的等级相关设计,为等级增加上限,调整升级所需经验使其每一级所需经验都不同。
最后再使用随机数来实现一些有趣的功能,同学们可以通过思路的拓展,实现诸如奇遇(本文以奇遇进行举例),宠物bb的随机属性等……
本章新知识点不多,主要是对现有所掌握知识点的更深更广的运用。就好比同样的一袋大米,如果不能很好的思维发散,就只能蒸出一锅米饭来,但是如果开发了脑洞,就可以做出很多的花样来。
按照惯例,我们简称第1篇教程的内容为版本1,第2篇教程的内容为版本2,第3章教程的内容为版本3。


八.为版本2做的个性化改动
1.葡萄园玩腻了……
我们换成灵田吧!随身流,似乎很有几分放置的味道了哦!需要做什么,很简单!只要在UI里把葡萄园换成灵田,葡萄换成灵药。然后在代码里把相关的文本关键字替换就OK了!(这个操作主要是让你复习巩固第一章最基础部分的学习)
这里要特别说明的是,因为只是教学,所以更改背景之后,相关的UI名称并没有改动,如果是正式项目,这是不可取的,如果名称不能直观的对应,会为后续的维护带来极大的干扰。
可以看到红框内的UI元件名称完全没改!只是在绿框内改了相关的文本显示。还记得怎么改的吧?如果不记得了,可以回第1章温习一下哦!
代码中相应的替换也很简单,只要先把葡萄园替换成灵田,再把葡萄替换成灵药即可。切记,这种替换一定要谨慎,只限于本教程这种特定场合下,如果在其它情况下直接替换,很有可能替换了不该替换的地方,而导致严重BUG。


接下来,我们看看游戏运行结果如何。


除了背景从葡萄园变成灵田,葡萄变成灵药外,其他是不是完全没有变呢!连等级经验也是完全继承下来的!现在是不是感觉更合理了,我们可是吃灵药长经验的正统修真者了!
2.我要设一个等级上限怎么弄?
有同学提到了,我不想无限升级,我要设一个等级上限怎么弄啊?
很简单哦,只要在升级逻辑外加一层判断条件就OK了,如下图。
3.我想让升级越来越难该怎么做?
嗯,有这样的想法说明你已经开始代入游戏开发者的角色了……
有同学提到了,每级都只要100经验,不合理哇?我希望每一级所需要的经验都比上一级的多!该怎么做呢?这里就要看具体的升级公式了,我们用一个比较简单的方法,升级所需经验=100*当前等级。
比如我当前5级,升级所需经验就是500。实现方式见下方代码截图。
改动的地方很少,是不是!
关于对if语句这样的灰常易用灰常基础灰常常见的判断结构,大家能够做到熟练使用,并且举一反三的用,滚瓜烂熟的用。不着急,这是个长期积累的过程。


需要特别说明的是,以上两句代码顺序要调整哟!否则,如果先升级再减经验的话,你的经验会因为新的升级公式而被多扣哟!看出来了吗?嘿嘿发现BUG是不是很有成就感呢!
玩家等级经验文本的显示也要一并修改哟,不然就会出现传说中的显示BUG(示需要消耗的经验和实际消耗的经验不相符)!




同样的,我们把灵田的升级公式也一起改了吧,改成200*灵田等级吧!还有其中的提示文本记得也一起改哟,显示BUG,你懂的~


九.随机数大(法)来啦!
细心的同学应该已经注意到了,之前的按钮改名了,而且并没有明确告知会加多少经验,嘿嘿!这些坑就是为了在此时用到哦!
我们希望实现什么?我们希望每吃一株灵药的时候,会有20%的几率多获得1点经验!同时我们希望在每吃一把灵药的时候,会有50%的几率多获得2点经验!
为止,我们可以简单采用随机数的方法来实现这个骚操作!见下图。




以上的代码中箭头所指,看到随机数的运用了吗?看懂了吗?Random.range(0,100)<20,的意思是指从0到99(不包括100)中取一个随机数,如果这个数小于20,则判断通过,进入后续逻辑。这里的100个数中取前20即代表20%的几率啦!后面的50%也是差不多的意思哦,这里因为本傲并没有对精确度有特别需求,所以大多数情况下这样取值就OK啦!
嗯,现在运行游戏就变成这样辣!




让我们来扩展一下!如果无限灵田的等级越高,就越有可能触发神秘灵田事件,收获更多灵药!我们来看看怎么做的,其实和以上的很相似哦!大家思考一下,这样写的效果是什么呢?
另外,这里面存在一个问题,当灵田等级大于99级后,该奇遇将在每一秒都必然触发,大家想一想为什么会这样呢?然后再想一想,你会采用什么方法来避免这样的情况发生呢?详细代码见下图!




七.版本3的完整代码,分为两张截图






版本3,到此就结束辣!
肿么样,是不是迫不及待的想把心里的想法拿出来试一试了呢?游戏设计的思路是第一要素。放飞自己,你甚至会发现只用if都能实现一个游戏……哈哈
山宗希望能玩到大家撸的游戏哇!

如果大家觉得本文对你还有些帮助,请将此文分享给更多需要的盆友,山宗也会继续做一些更深入的公益教学文档!谢谢捧场辣撸大家!永远爱你们!




另有项目工程文件免费赠送需要的小伙伴(如果已经按照教程完成项目的就不用了哟),因为放外链有发广告的嫌疑容易被众裁,请同学们按照下面步骤领取项目工程源文件。
1.关注文刀山宗
2.评论区评论:「我是创世者」,然后私信:xxx工程文件(xxx为案例项目名)
私信方法:点击山宗头像,主页右上角就看到私信了
做教程真是很辛苦,希望大家给个好评!谢谢啦!
如果对本篇教程还有不明白的地方,可以向我付费咨询(不回答其它无关内容哟)。
大家,努力创造自己的梦想世界吧!
页: [1]
查看完整版本: (再进阶)Unity.零基础.十五分钟做一个文字放置游戏.含全部代码