unity 源码_unity实战项目[我是食神黑长直]1星难度.含源码

这篇教程介绍了如何在Unity中利用数组和文本输入框创建一个简单的文字游戏。玩家需要在限定次数内通过组合随机生成的美食名称来得分,遇到特定词汇能获得额外奖励。游戏开始前需要玩家输入名字,游戏过程中可以积累发明机会。教程详细讲解了UI布局、C#脚本编写以及事件处理,适合Unity初学者。
摘要由CSDN通过智能技术生成

6d96edfd93e0fc47e1505c3f3e0c4c1f.png

【原创不易,若喜欢请收藏点赞✧ (ˊωˋ*) ✧】


大家好啊,废话不多说,现在让我们开始新一期的学习。

本期的新知识点只有两个,一是数组的运用,二是文本输入框的使用。

是的,你没看错,我们就用这两个小知识点设计一个可爱的小游戏。

「文字游戏也能可爱吗?」

「当然辣,只要用上可爱的文字就行哒!」

友情提示,前面教学已涉及的内容就不详述了,一笔带过。


准备工作:

创建一个2d项目,准备工作相关设置作为旧的边缘知识点,没有什么需要特别说明的,照做即可。感兴趣的朋友可以拿默认和下图对照看看,有什么区别,也可以自行修改折腾看看会产生什么不同的效果。不用担心不用怕,大胆搞,乱搞也不怕,照下图还原即可。

494bd3ecfcc24c97d5bda76e63c448a7.png

然后新建一个Panel,我们的ui元件(元素、控件、部件你想怎么称呼都可以,教学中可能会用到各种称谓,为了不给你造成困扰,先行说明)将承载于此上,我们可以将其称之为果盘,而之上ui元件称为水果。

b2205cca57f2d7c339294b51c2b21b66.png

接下来我们要创建以下几个水果,阿布!是UI元件。为了增强辩识,少一些不必要的文字解释,我们直接上中文,没错,支持中文的哦!各部分的创建过程见之前的教程。

UI排版可以参考下图,也可以自行设计,这个不作要求。

7d322e474884d79f5c1b936e5aa97633.png

现在我们Save Scenes,保存当前场景。我这里随便命名为main吧。

创建一个c#脚本文件。我这里随便命名为GF,请注意这里绝对不是女朋友或者基友的意思……咳!

17401cba228fe20fb781e8249147f4a6.png

现在我们在GF中完善using,并对ui进行声明。

468d7f6399e0128c833d57c7bba7131b.png

然后将GF.cs拖曳到脚本容器中,并完成与UI元件的关联。

c227ff53c02a7c8bb596f09380718d71.png

接下来就是正式的代码时间了,策划要求的玩法是这样的:

因为这只是一个呆萌的案例,我们为了图撇脱,就中英拼合并吧,哪个方便整哪个。可能会增加一些阅读难度,所以要更加认真仔细一点哟,加油~

点美食发明,会随机生成一种美食,然后显示到食谱中,当生成的美食中带有「光」字时,得分+5,其它的普通美食一律得分+1。你一共有20次发明机会。你还可以为自己改名,只有拥有了自己的名字之后,才能进行美食发明。

发明机会我们声明一个叫FMJH的int变量,并赋初值为20,我们没有设置常量,因为常量是不可改的,然而我们需要考虑到后期的扩展可能,比如发明诞生某种特定美食后,会获得更多的发明机会。

名字是一个string变量,就叫Name吧。

分数是一个int变量,就叫Score吧。

因为你是一个大傲娇x不高兴x马大哈级别的美食发明家,你坚信最好的美食就是没发明出来的美食,所以你不希望曾经的成果被记录下来,那么就不作专门记录呐,只要即时显示就行辣。

761d56b81054272d2801111ad9c3ebf8.png

文中用了.Length来判断输入框中的输入长度,如果为0自然是不符合要求,大家需要知道的是判断方法有很多,这里随便用了一种用途比较广的,比如未来你希望判断输入位数是否>n等等,都可以用这种方法.这里我没有用判断空的方法而是用.Length来判断是否输入至少1个字符,如果长度小于1,那自然就是啥也没输入...用这种骚操作.相信大家会记得很牢.

大家注意,如果要用.Length的方法,必须要为str变量赋初值""(空值),因为默认为NULL的情况下判断长度会报错.

c0cbf997477a4544e7a1090b8f1a15e9.png

接下来我们要声明数组了,这关系到我们的美食发明.以后大家会知道有很多诸如字典或者外部文件的方法可以实现,这里我们以使用最广的数组来举例.

我们声明了A和B两个美食(字库)数组.通过随机组合的形式来生成新的美食.大家在实际学习中可以使用更多的数组进行组合,大家应该都还记得暗黑的装备名吧,比如什么祝福的坚硬木棍之类就可以用这种方法来实现.

现在我们来声明两个一维数组.

92f2c147e6f917c9bea73fe046abdcd6.png

然后,我们继续完善之前的GaiMing_EndEdit_F方法,这个方法将在输入框输入完成后,于框外任意位置点击后触发.下面是代码,有详细的注释,大家请查看.

e80ffe74a570fb710e7ba99fdb35b10b.png

然后将上述方法关联到UI.见下图,如果不清楚如何实现,后面有一个按钮方法关联到按钮的动图,可以参考实现.

206d1bdc8a5a43ba7269cca7b844a814.png

另外,文中我用了中文的方法名,大家一定要注意,正常开发中尽量避免用中文,这可能会给后续开发或者多人协同开发造成一些困扰,此处只是为了给大家展示,unity是支持中文方法名的.

e7081305165168b841d5e9045ec1f764.png

按钮方法关联到按钮ui上.

0398b56cb2349874bd23394e8881e5a2.gif

下面就是运行的演示辣.

5c26173379927e1052615e5d8e3b3ff7.png
https://www.zhihu.com/video/1216014818831892480

最后是放代码咯.

4792e7e6427914cdf28a9fd76acbab8a.png
自己敲一遍比复制粘贴更有实践意义..

bf009701e57eaff13e3edf9a8fa28f5c.png
真是抱歉,我不是黑长直哟……信不信我给你一刀哟

今天的教学就到这里辣,希望能早日玩到小伙伴们的作品哟.

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


另有项目工程文件免费赠送需要的小伙伴(如果已经按照教程完成项目的就不用了哟),因为放外链有发广告的嫌疑容易被众裁,请同学们按照下面步骤领取项目工程源文件。

1.关注文刀山宗

2.评论区评论:「我是创世者」,然后私信:xxx工程文件(xxx为案例项目名)

私信方法:点击山宗头像,主页右上角就看到私信了

做教程真是很辛苦,希望大家给个好评!谢谢啦!

如果对本篇教程还有不明白的地方,可以向我付费咨询(不回答其它无关内容哟)。

大家,努力创造自己的梦想世界吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值