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

从零开始的做游戏(二)——使用git保护代码

2017-11-26 18:08 作者:枫2  | 我要投稿

开篇说明:上一篇文章中还在说明关于unity的脚本JS和C#问题,而在unity最新版里已经不再支持JS代码了,所以以后写unity脚本都要使用C#来撰写,实际上C#也的确拥有太多的优势,虽然可能某些功能要比JS多写几行代码。

什么是git

这次的副标题比较奇怪,本次教学开始之时所讲的并不是开始正式的写代码,而是一段好像不太明白的描述,git那是什么。

我们通常有遇到过这样的问题,比如在写文档的时候,写着正嗨之时,突然程序崩溃了,你又没有按保存,甚至还有更严重的问题,不小心突然硬盘坏了,此时你花了1-2年时间写的项目代码就随着硬盘的损坏消失的无影无踪,如果遇到这种情况,相信这肯定要成为人生的阴影。

所以,在正式写代码前,UP会首先让各位解决掉这个问题,虽然这种风险发生的可能性非常低,但是总还是有那么一点可能,当然除此之外,还有其他的作用。

git的原理概念这里也就不多介绍,简单的理解就是git这个工具可以将你的代码存储在“云服务器”里,不仅可以保护你的代码不会因为本地硬件问题而丢失,还可以将代码分享给其他人,甚至还可以自动为代码保存不同的版本,在你修改代码后,你修改之前的代码依然可以找回来。

这里介绍2个提供git服务的网站:

1. 国外的,也算是最知名的开源社区github

2. 国内的,可以免费使用并且闭源的coding

关于开源和闭源,简单说则是,开源软件会把代码公开给别人看,闭源则反之。

不过UP也说过,锻炼各位的自学能力,所以至于git怎么安装,怎么使用等问题各位自行研究吧,不过UP也会做一些指点,让各位少走弯路:

git的操作很多时候都是使用命令来执行的,当然也不必完全使用命令来执行,也可以通过客户端来操作git,其中github有官方客户端,coding则可以使用一款叫做sourcetree的软件。

总之,各位记得一定要用git来存储你的代码。

第一次的存储

将你的代码存储在git之前,首选需要在本地建立git库,用人类的语言来描述就“选择你想同步的文件夹”

UP在github上创建好了个项目叫YZTEST,此时看到了网页是这样显示的

git设置,红框内容下面会说明用法

实际上最简单的办法是先安装github桌面客户端,然后点击上图的set up in Desktop,之后选择你想同步的文件夹就好了。

但是git不仅仅是github,比如coding,还有未来可能你会用到自己架设的git环境等,所以还是要教会大家用一种非傻瓜化的办法,github的客户端虽然很好用,但是仅支持在github用。

所以不用客户端要怎么玩,最简单的做法就是选择存储的文件夹,点右键,选择Git Bash Here,选择后会打开一个命令行窗口。

git的命令行窗口

如果你在文件夹里点右键找不到Git Bash Here,那说明你没有安装git,请自行搜索进行安装

搜索git并安装

安装好后,在命令行中复制粘贴上上上图中有个红框框住的部分,粘贴到命令行里,然后这样就可以将git文件夹同步了。

同步后,每次修改代码后打开客户端会自动判断有哪些代码做了修改。

选择同步的文件,然后进行描述,最后选择commit即提交。

提交同步

有时候,这种提交仅仅是同步了本地,并没有同步到git服务器上,这种时候点击一下同步按钮即可,不过一般情况下很少会出现本地提交不同步到服务器的情况,因为只要你设置好了,点击提交的同时,客户端会自动向服务器同步。

开源与项目的安全

众所周知的道德问题,现在个人作者公开发布到互联网上的作品总爱被没道德的人偷掉,甚至你声明了,这篇文章仅发布在bilibli网站,禁止转载,也有那些不道德的人会转载,甚至还把这句声明一起复制过去,最后作者也没有办法谴责于别人,这很无奈但也没办法。

甚至还有更过分的情况,比如我将游戏完全开源并制作完成,不道德的人可以直接将我的项目工程拿走发行,甚至他们还自己注册版权,最后原作者去谴责的时候发现一脸懵逼,版权都被别人注册走了。

所以这些现实因素也导致了为什么很多程序员不愿意分享自己的技术,也不愿意做开源软件,所以有没有发现,各位经常找到的教程都是英文版的或者国外作者做的呢。

不过UP认为在足够保护好自己时,还是可以为大家分享技术,所以UP在做这次教程的时候,也就为防范不道德问题做了一些准备,所以这次项目是以“部分开源”的形式展示给各位的,这样做还有一个目的则是,希望各位大佬,也要学会分享的同时保护自己的利益不被侵犯。

那么部分开源是怎么做的呢,其实很简单,一部分内容存储在github开源,另一部分用coding闭源来存储。

做一款手机游戏

UP计划制作一款可以运行在手机上的游戏,所以根据计划来说,准备制作一款竖屏的游戏。

所以首先需要调整屏幕比例,其实这个很简单。

找到game窗口,点击箭头所示的地方
自己定义720X1280的分辨率

UP建议各位个人开发者开发游戏主要还是以720分辩率的画质来做标准,其实这个标准的好处则是性价比高,因为在大部分1080P的手机上也不会显得画面很模糊,以及绘制图像的时候美术也可以相对不那么精细。

此时可能你会觉得这个game屏幕背景是蓝色的很不爽,能不能改成黑色或者白色这种比较舒服的色彩,其实这个也很简单,我们试着改成白色吧。

选择主摄像机,如果找不到在哪注意看文件夹标题位置
选择摄像机状态的时候,找到该面板并点击箭头指向修改颜色

相信做到上图的时候,各位就已经知道屏幕底色如何修改了。

使用UGUI来做UI界面

UGUI是什么,其实就是U3D为自己的UI组件起了个名字叫UGUI而已,看起来让你觉得非常的高大上,因为unity中还有许多第三方的UI插件,比如NGUI之类的,所以起名的目的就是为了辨识。

UP推荐用UGUI来做游戏里的UI,因为原装的,兼容性就是好!

在Hierarchy面板中,点击右键可以看到一堆创建内容,其中有一条是UI,指向进入后可以看见各种UI组件(这里面的组件就是UGUI了)

你可创建的UI组件

我们试着创建一个Text组件,此时屏幕里是这样的。

注意图中多出了3个内容

大家需要记住的是,UI内容一定要包含在Canvas这个里面,不然会显示不出来,具体是什么原因我们会在以后遇到的时候来讲述

至于最下面的EventSystem是什么大家也可以不用管,总之也记得,需要有这个组件的情况下,UI才可以正常使用,所以不要随便删除。

接下来我们试着修改下Text组件的信息

修改文字信息

修改后可能你会发现,怎么文字之前还在游戏框里显示,现在就不见了,那是因为你字体大小太大,超出了Text组件height的限制,这时候需要改height,这个问题是UP初用unity时遇到的一个坑,后来才发现原来解决起来是如此简单。

如果文字看不见了改这里的长宽

可能还有小伙伴注意到了,这里的字体使用的是Arial,实际上使用这个字体时,你会发现不同的设备上看着的字体是不一样的,实际上也就是随着你的设备设定字体而改变了,使用这个字体做游戏可以避免“字体版权”问题的风险,缺点就是可能在某些手机上不太好看。

UP一般建议字体就用默认的,避免版权问题

这个时候,我们调整了下Text组件的位置,你所看见的游戏画面就是这样的

此时的游戏画面

让项目运行在你的手机上

UP毕竟也是过来人,所以在做项目的时候最感兴趣的事情是怎么让我的游戏在手机上跑起来。

所以在写游戏之前还是首先让各位爽一把,教会大家如何装b给,别人看你的手机时自豪的说:你看这个app是我自己做的。

不过现在UP只教学安卓系统如何处理,因为IOS系统比较麻烦,还需要一台苹果的机器。

还好UP有一台最低端的MAC Mini 所以IOS的发布的教程未来还算做的出来

首先进入build settings界面,具体进法是点击File - build settings(下图箭头标注了file的位置)

开始编译项目

此时选择安卓并切换代码为安卓形式

选择android,然后点击箭头处

如果此时你看见的界面和这个不一样,而是让你download,那说明你的unity没有安装安卓组件,安装即可。

切换到安卓后,点击上图的Player Setting按钮,然后找到下图所示的位置,修改项目名字,修改办法是com.团队名字.项目名,使用默认的发布会报错。

修改项目的名称

安卓环境的问题

发布安卓的时候需要安装SDK和JDK,可以通过设置里的download进行安装

安装SDK,JDK

这个设置的位置见下图,具体的安卓环境如果配置,大家可以搜索“unity 安卓发布”来找到答案

如果你找到上面文件夹的位置,见这里

总结

通过上面的介绍,相信真正初次学习的你会遇到很多坑,比如安卓发布时连续报错、或者其他的问题,需要你花费点时间来研究,不过UP写这个系列也就是这样的目的,什么都教会了会产生依赖情绪,更多的是靠搜索自学,UP的技能可是一路靠自己,连指点的人都没有。

最后,项目的相关代码会存储在github.com/suxsho/YZTEST这个网址中,不过这里仅有代码,没有其他的文件,诸如图片音效等,毕竟UP也说过为了安全所以只做部分开源项目。

(所以B站什么时候要不要再开个git服务啊【x】)


从零开始的做游戏(二)——使用git保护代码的评论 (共 条)

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