这是第一个课时(同时也是完整而独立的可执行项目),后续还有两个进阶课程(在当前版本基础上),同样包含最详细的操作过程及全部源代码。
【原创不易,若喜欢请收藏点赞 (ˊωˋ*) 】
一.Unity3d界面
启动Unity3d,会有类似这样的界面,点击右上角的New,这里面没什么特别需要注意的,因为我们是做文字类放置游戏,模板选择2D,后台分析我们也用不到就OFF,其它一路默认,然后右下角粗箭头所指创建项目即可.
ok,现在你进入了这个界面,可能与我的布局有所不同,表慌,抱紧宗,不抱也没关系,但请不要打窝……咳,可在右上角红箭头处选择2 by 3,布局上大概就和我的一样了,后面都会采用这个布局。(布局没什么需要特别注意的,只看个人喜好和项目需求)
左下角的2号面板就是最终的游戏显示界面了。现在你可以
点这个运行按钮,看看,嗯,什么都没发生,因为……现在这就只是个一穷二白的空项目鸭!
现在我们可以保存这个项目,切记之后的开发过程中请随时记得保存。防止出现各种心态爆炸的情况。因为你操作过办公软件,所以就不特别说明了。
二.现在让游戏界面显示点东西!
我们在3号面板点击鼠标右键,然后照图选择,其中UI就是我们常说的界面,嗯……算了,不用术语了,还要去解释,你大概懂就这么回事就行。
Button是按钮的意思。然后就会出现——
你的3号面板会出现这样这样一个树型目录,Canvas你可以简单理解为绘图板/托盘或别的什么,总之它就是一套界面的根,比如你看Button就在它之下,你可以将Button理解为果盘上的一块苹果或者香蕉,嗯,芒果山竹或麻辣小牛肉之类的都可以……
1号面板就是游戏显示部分的编辑界面,你可以鼠标左键按着任意拖曳位置,拖曳的同时,2号面板也会同步显示,很直观。
另外有个小技巧,当界面上的UI比较多,不容易找到的时候,比如要找到这个Button在编辑界面上的位置,只要双击3号面板上,箭头所指的Button即可快速将该UI元件置中。
现在我们把这个按钮名字改一下。
Button下的Text表示这个按钮的显示文本,鼠标左键选中它。在5号面板会出现一大堆玩意儿。
见下图。你完全可以随意折腾它,试试效果,搞乱也没关系,大不了删掉重新创建一个Button。修改其中红箭头中的文字就改变了按钮的文字。
比如
,那么你会得到这样一个按钮。
好了,现在告诉大家怎么删掉这个按钮……还是在3号面板,选中Button,然后右键Delete就删掉了。
删掉之后Canvas果盘就空了……现在我们在果盘上放一串葡萄,嗯,金手指吧,超爽的……好的,那么我们如下图,先选中Canvas,再右键选择Text(文本标签,超重要的东东,你的血,体力,内力,灵力,等级经验,金银元宝数量,任务对话等等,都会通过它来显示),于是,我们就把金手指葡萄放到果盘中了。
但是,文字颜色是黑色的,很不直观,怎么改颜色呢?
很简单,从之前Button可推测出来,只要选中
,然后在5号面板上可以修改。见下图
然后,就会变成这样了。
咳!目前为止,还没有涉及到代码,只是傻看着,并没有可用于游戏的操作部分!那么,我们现在来加一个按钮,操作方式和之前的步骤一样。选中Canvas果盘,右键选择麻辣小鱼干,哦错了,是Button。
然后,可能文本标签和按钮会有遮挡,拖曳一下。然后给按钮改一下显示名称(吃一颗葡萄,经验+1)。
三.添加代码让游戏可以运行起来。
在3号面板的空白地方点击右键选择创建一个空对象。然后会如下图出现一个GameObject的东西。为了更直观,你可以改成Script或JiaoBen,表示这个东东是用来放代码的(脚本),Unity中的代码文件称之为脚本。
为了有一个好的开发习惯,我们接下来需要显得稍微规范一点。
我们在4号面板点击右键,然后创建一个文件夹。并且命名为Script
然后在4号面板选中Script文件夹,点右键创建一个C#脚本,如下图。
这个脚本文件可以改名,但为了范例简单纯粹,一切默认即可。现在我们双击这个脚本文件会进入脚本编辑器。相关代码会用截图的形式直接给予,希望你能亲手敲进去,而不是简单的复制粘贴。非默认的代码都会附上详细的注释。
好了,目前就编辑器会表现如下图。需要特别说明的是,两个红框的名称必须要一致,也就是说如果你之前改了脚本文件的名称,在正文中的红框处也是需要对应的。这也是新手很容易出错的地方。
另一个需要注意的是,所有的代码编辑都需要在完成后保存ctrl+s,之后才能在游戏中表现出来。
现在,我们让脚本与游戏建立关联,见下图,将脚本文件拖曳到3号面板的Script中。
此时选中3号面板的Script时,5号面板出现以下界面就表示关联已经建立辣!
然后进入脚本编辑器,补上以下以下这句代码。
注意看灰色字的注释,大家可以看到3号面板的文本标签和按钮被改名了,这是因为这样会更直观,以后项目规模大了,为不同的UI元件取一个有意义的唯一名称会提升开发效率并且不易出错。
然后选中3号面板的Script,将文本标签拖曳到如下图,完成全部关联!
好像有些小伙伴在这里卡了一下,这里有几个步骤(复习一下):
1.先选中下图左侧的小红框(这里再复习一下,此处小红框中的[Script]是一个脚本容器,专门放各种脚本,箭头所指处的New Behaviour Script就是这样的一个脚本)。
2.选中后,最右侧会出现脚本容器的相关属性详情,我们在其中找到New Behaviour Script,然后将左侧的箭头末尾的Text_News拖曳到箭头所指的位置中。关联就完成了。
补充一个该操作的动图.(并不是同一个项目的,但是操作需求完全一致)
如果还不明白,小伙伴们可以继续问。
嗯,接下来,既然我们要通过吃葡萄加经验,那么这里就有两个重要的值,一个是葡萄,一个是经验。我们建立这两个变量来对应这两个值进行运算并存储。直观点,我们就用拼音来创建变量。
是不是很简单呢?
接下来,我们希望做到——点1次按钮就吃一颗葡萄,经验+1,并且将结果显示在文本标签中。
于是我们需要注册一个Button_AddExp按钮事件,来实现这样的效果。为了照顾到不同程度的盆友,这里将不使用任何代码技巧。
完成以上代码,剩下最后一步,将该按钮事件关联到按钮!在3号面板中选中按钮。如下图。
然后在5号面板的以下位置,点击红圈的+号创建一个点击事件关联件,然后将3号面板的Script拖曳到箭头所指的位置。
然后按下图所指,将之前在脚本中创建的按钮事件与按钮本身关联起来!
现在我们可以点击
运行游戏啦!结果如下,我们每点一次按钮,都会提示你吃了一颗葡萄,并获得了1点经验哟!
哈哈!是不是很有成就感呢!?但是现在葡萄变量还没用起来,我们是白吃的,
接下来,我们要实现吃一颗葡萄就扣一颗葡萄,然后经验才加1!这样是不是更符合游戏逻辑呢?但是这样也不行啊,我们没有葡萄啊!怎么获得葡萄呢!?所以现在我们要实现放置功能了哟!
具体的剧情背景就是,咳!主角被传送进了主神空间之葡萄园小世界,这是一个全自动化采集的无限葡萄园,你每1秒都会获得1颗葡萄!哇,是不是很厉害!?
因为放置部分的逻辑是这样的,只要我们进入游戏就会自动获得葡萄,所以这个自动获取的效果不需要我们手动触发,只要进入游戏就会自动获得唷!
为了让我们知道当前在主神空间已经采集到多少葡萄,所以我们还需要一个文本标签哟!
嗯,如图,我们创建了一个显示放置收益的文本标签!
我们可以调整一下这个新的文本标签的位置和颜色字体之类的,默认的文字不用理会,在游戏运行时就会被刷新的,你也可以通过设置默认文字实现一些提示之类的效果。
同样的我们需要在脚本里去注册它。如下图。
然后用同样的方法关联起来!
然后就是最重要的实现放置功能的代码了啦!
游戏最后的效果是这样的,绿字的文本标签每秒都会自动显示你当前的收益。
下面是全部的完整代码!很短也很简单,大家仔细看,都有详细注释的,大家照着敲进去就OK了!
虽然只是一个最基础的游戏雏形,但是为了让它更加完整,存取档也是必须要有的哦!让我们最后加上一段存取档的代码,完整代码如下。
退出游戏时存档,进入游戏时读档。
至此,完美收尾!
没有给文本代码是希望大家能亲自敲一遍,体会体会,而不是复制粘贴,最后还是啥感受也没有。。酒浆!
最后的最后就是发布游戏哟!见下图,要点都用红箭头标出来了哟!大家能看懂了吧!
在实际游戏的运行中,你会发现很多不足或者欠缺甚至错误的地方,这就是需要你在后续版本不断修正优化的工作了。
虽然只是一个雏形,但事实上,一个游戏必须的内容,大部分都在上面啦!发挥自己的脑洞和创意,你可以做出超棒的游戏来撸!
希望能玩到大家的游戏哦!
如果大家觉得本文对你还有些帮助,请将此文分享给更多需要的盆友,山宗也会继续做一些更深入的公益教学文档!谢谢捧场辣撸大家!永远爱你们!
另有项目工程文件免费赠送需要的小伙伴(如果已经按照教程完成项目的就不用了哟),因为放外链有发广告的嫌疑容易被众裁,请同学们按照下面步骤领取项目工程源文件。
1.关注文刀山宗
2.评论区评论:「我是创世者」,然后私信:xxx工程文件(xxx为案例项目名)
私信方法:点击山宗头像,主页右上角就看到私信了
做教程真是很辛苦,希望大家给个好评!谢谢啦!
如果对本篇教程还有不明白的地方,可以向我付费咨询(不回答其它无关内容哟)。
大家,努力创造自己的梦想世界吧! |