欢迎光临散文网 会员登陆 & 注册

从零开始的做游戏(五)——致刚学程序的初学者

2018-01-08 10:59 作者:枫2  | 我要投稿

之前也有见到许多类似的问题,我之前从来没有学过代码,我现在要想写代码怎么写,其实很简单,你会复制粘贴吗,会的话那就入门了。

你在骗我吧?读完这一篇你就明白了。

启动程序

首先我们拼好一块UI,就像图中这样。

红框的部分是按钮,也就是我们将做交互的

UI是如何被加载在屏幕中的,可以查看上一期教程的后半部分。

我们首先创建个UI脚本


创建文件

然后使用VS.NET打开它,如果你不记得这个操作了,可以回顾下UP之前的这篇专栏后半部分

写代码

如果你是第一次写程序,那就跟着我的步骤一步步复制粘贴就好,可能其中有许多东西你都不懂,其实也很正常,所以第一次,你能复制代码再粘贴上去实现功能就完美了。

首先你需要明白什么是引用,那么在介绍之前你先在下图箭头处插入一些代码:



using UnityEngine.UI;

这段叫做引用代码,其意义就是如果不引用在下面写某些代码就会报错,会认不到一些功能。

可能你会觉得奇怪,为何还要引用呢,直接所有代码都支持多好,那么你思考一下你出去买一盒100克的饼干需要一个超大号打包袋吗,其实程序也需要想方设法的节约,否则你的游戏很可能是“神优化”(即看起画面并不是很好,但却要求配置非常高)

接下来你要明白 Start 和 Update,下面的图已经写的很清楚了。


为什么会分为Start和Update呢,举个例子,我们可以在start里设置HP = 5,这样就可以定义HP为5点。

Update里我们定义被伤害后HP-1,然后Update就起到了“监视”的作用,程序会不停的循环,看你有没有被伤害,一旦被伤害就HP-1。

而为什么要一开始把HP = 5写到Start里呢,因为我们只能在程序开始定义一次HP=5,如果写到循环里,你会发现HP一旦不等于5,程序会马上把HP变成5,就不是我们想要的效果了。

那么再接下来,我们今天教学的是识别屏幕中的按钮,如何识别呢,我们先在start里粘贴进这样的语句:


代码最后在github里寻找吧

上图中,有一段红色波浪线的部分,这段代表程序有错,这里为什么有错呢,是因为我还没有写OnClick里面的内容,完整的程序是这样的:


好了,我们这一段基础代码就写好了,或许看到这里的你会说“我完全没有看懂这代码是什么”

但是我想告诉你的是,这段代码就可以实现识别UI中的每一个按钮,作为程序的初学者,一次性接受大量的知识是很难的,所以一开始多来点实践,去网上找一些别人写好的代码,并修改用来套用自己的项目,你不必知道代码中每一段的意义,但是你需要知道这一大片代码只需修改哪几个部分就可以实现什么功能

做游戏嘛,主要的目的就是你要把游戏做出来,玩家不会在意你的代码是什么,只会在意有没有BUG,其实这些代码很多也是我去各种论坛收集的。

最后,我们用这段代码修改了里面的一些参数,最后效果如下:


在上图中,你需要明白这几个事情

注释

//后面跟着一些文字”这个是注释,意思就是写给你或者写给其他程序员看的,在双斜杠后面的内容程序是忽略的,你可以写下任意文字,一般在代码里会被自动解析成绿色,方便一眼识别。

同样的还有一种注释是/*在中间写入注释内容,

这些注释可以随意的换行*/

当然,注释除了用于写入程序员留下的话外,还可以将你暂时不需要的代码注释掉,比如你不知道这句代码以后有没有用,就可以暂时用//来注释。

再总结一遍:

//是只能注释当前行

回车后的下一行就不注释了

/*是注释许多行的

随便你怎么回车它只认你最后的*/ 如果只有/*没有后面的会报错的  

 btnsName.Add("Atk");

这里的“引号里的字母”和UNITY中UI命名是对应的

switch

这里的switch当然不是指某个游戏机。在这段代码中

case "Atk":  就代表点击了叫做Atk名字的按钮后发生什么。

记得发生完了后一定需要添加一句break;否则会报错


而default:的意思是,找不到所对应的名字,就按照默认情况来执行。

关于switch的知识很多,不过决定暂时不教学。

在程序里还有个叫做print(1)这样的模块是输出,在曾经的教程中教学过,目的是为了让你知道程序起到效果了,做个标记。

而Debug.Log也是输出的意思,和print的区别是这个会记录到BUG日志里,玩家玩游戏出现的错误会被记录进BUG日志。

这个代码写完后将其拖动到UI里,然后按UNITY里的播放键测试项目


拖代码


测试的时候,我点一下“普攻”按钮就会在控制台里出现1,这是之前程序里写好的。


1对应的就是print(1)

好了本期的内容就讲完了,之后要想让按了按钮后做这样那样的事,其实也很简单,直接把在之前的print代码替换成你想要的功能就可以了。

后记

对于初学程序的你来说,UP只希望你能按照我的办法复制粘贴并成功把内容打印出来。

其实有很多东西的原理你可以自己试验下,比如一开始我们说需要引用using UnityEngine.UI;

为什么要引用呢,你试试把using UnityEngine.UI;这一段删除会发生什么。


删除了引用,报错了

程序中的确有许多基础的内容,所以UP依然会准备一期教大家一些最最最入门的基础,这些基础可能没有程序书多,但是我相信绝对是在游戏制作中你会不断的使用的部分。

本期的代码你可以在项目的github中找到,在曾经的一期里UP有写过github的地址和用法。

从零开始的做游戏(五)——致刚学程序的初学者的评论 (共 条)

分享到微博请遵守国家法律