【原创不易,若喜欢请收藏点赞✧ (ˊωˋ*) ✧】
大家好啊,废话不多说,现在让我们开始新一期的学习。
本期的新知识点只有两个,一是数组的运用,二是文本输入框的使用。
是的,你没看错,我们就用这两个小知识点设计一个可爱的小游戏。
「文字游戏也能可爱吗?」
「当然辣,只要用上可爱的文字就行哒!」
友情提示,前面教学已涉及的内容就不详述了,一笔带过。
准备工作:
创建一个2d项目,准备工作相关设置作为旧的边缘知识点,没有什么需要特别说明的,照做即可。感兴趣的朋友可以拿默认和下图对照看看,有什么区别,也可以自行修改折腾看看会产生什么不同的效果。不用担心不用怕,大胆搞,乱搞也不怕,照下图还原即可。
然后新建一个Panel,我们的ui元件(元素、控件、部件你想怎么称呼都可以,教学中可能会用到各种称谓,为了不给你造成困扰,先行说明)将承载于此上,我们可以将其称之为果盘,而之上ui元件称为水果。
接下来我们要创建以下几个水果,阿布!是UI元件。为了增强辩识,少一些不必要的文字解释,我们直接上中文,没错,支持中文的哦!各部分的创建过程见之前的教程。
UI排版可以参考下图,也可以自行设计,这个不作要求。
现在我们Save Scenes,保存当前场景。我这里随便命名为main吧。
创建一个c#脚本文件。我这里随便命名为GF,请注意这里绝对不是女朋友或者基友的意思……咳!
现在我们在GF中完善using,并对ui进行声明。
然后将GF.cs拖曳到脚本容器中,并完成与UI元件的关联。
接下来就是正式的代码时间了,策划要求的玩法是这样的:
因为这只是一个呆萌的案例,我们为了图撇脱,就中英拼合并吧,哪个方便整哪个。可能会增加一些阅读难度,所以要更加认真仔细一点哟,加油~
点美食发明,会随机生成一种美食,然后显示到食谱中,当生成的美食中带有「光」字时,得分+5,其它的普通美食一律得分+1。你一共有20次发明机会。你还可以为自己改名,只有拥有了自己的名字之后,才能进行美食发明。
发明机会我们声明一个叫FMJH的int变量,并赋初值为20,我们没有设置常量,因为常量是不可改的,然而我们需要考虑到后期的扩展可能,比如发明诞生某种特定美食后,会获得更多的发明机会。
名字是一个string变量,就叫Name吧。
分数是一个int变量,就叫Score吧。
因为你是一个大傲娇x不高兴x马大哈级别的美食发明家,你坚信最好的美食就是没发明出来的美食,所以你不希望曾经的成果被记录下来,那么就不作专门记录呐,只要即时显示就行辣。
文中用了.Length来判断输入框中的输入长度,如果为0自然是不符合要求,大家需要知道的是判断方法有很多,这里随便用了一种用途比较广的,比如未来你希望判断输入位数是否>n等等,都可以用这种方法.这里我没有用判断空的方法而是用.Length来判断是否输入至少1个字符,如果长度小于1,那自然就是啥也没输入...用这种骚操作.相信大家会记得很牢.
大家注意,如果要用.Length的方法,必须要为str变量赋初值""(空值),因为默认为NULL的情况下判断长度会报错.
接下来我们要声明数组了,这关系到我们的美食发明.以后大家会知道有很多诸如字典或者外部文件的方法可以实现,这里我们以使用最广的数组来举例.
我们声明了A和B两个美食(字库)数组.通过随机组合的形式来生成新的美食.大家在实际学习中可以使用更多的数组进行组合,大家应该都还记得暗黑的装备名吧,比如什么祝福的坚硬木棍之类就可以用这种方法来实现.
现在我们来声明两个一维数组.
然后,我们继续完善之前的GaiMing_EndEdit_F方法,这个方法将在输入框输入完成后,于框外任意位置点击后触发.下面是代码,有详细的注释,大家请查看.
然后将上述方法关联到UI.见下图,如果不清楚如何实现,后面有一个按钮方法关联到按钮的动图,可以参考实现.
另外,文中我用了中文的方法名,大家一定要注意,正常开发中尽量避免用中文,这可能会给后续开发或者多人协同开发造成一些困扰,此处只是为了给大家展示,unity是支持中文方法名的.
按钮方法关联到按钮ui上.
下面就是运行的演示辣.
最后是放代码咯.
今天的教学就到这里辣,希望能早日玩到小伙伴们的作品哟.
欢迎转载,转载请注明出处.如果大家觉得本文对你还有些帮助,请将此文分享给更多需要的盆友,山宗也会继续做一些更深入的公益教学文档!谢谢捧场辣撸大家!永远爱你们!
另有项目工程文件免费赠送需要的小伙伴(如果已经按照教程完成项目的就不用了哟),因为放外链有发广告的嫌疑容易被众裁,请同学们按照下面步骤领取项目工程源文件。
1.关注文刀山宗
2.评论区评论:「我是创世者」,然后私信:xxx工程文件(xxx为案例项目名)
私信方法:点击山宗头像,主页右上角就看到私信了
做教程真是很辛苦,希望大家给个好评!谢谢啦!
如果对本篇教程还有不明白的地方,可以向我付费咨询(不回答其它无关内容哟)。
大家,努力创造自己的梦想世界吧!