首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

小白c#编程之路——1.Unity3D Roll ball小游戏制作

首先:打开Unity3d ,新建项目(new),输入你的项目名称。

这样我们就创建了一个项目文件,(具体Unity3d的界面不多做介绍)首先在项目视口创建必要的文件夹用来存放加下来要用到的资源。

ctrl+s保存文件到scenes文件夹中。

创建游戏对象:Sphere(球体) 和Plane(平面)

查看我们创建的游戏对象并将其位置归到原点。

(关于Unity3d的详细操作接下来不在细讲,不会的小白可先学习Unity3D的基本知识https://unity3d.com/cn)

将Sphere名字改为Player并为其添加Rigidbody组件(Use Gravity使用重力 勾选上)。

接下来我们要让小球动起来,在Scripts文件夹创建一个C#脚本,取名PlayerScript。打开脚本输入以下代码:

保存脚本,回到Unity将脚本拖到Player上并将Speed参数改为5(此值可修改控制小球滚动的速度)。

运行Unity,可以看到用键盘可以控制我们的小球的移动了。

但是有些问题:将Plane作为游戏区域,Player作为游戏“猪脚”的话,画面比例很不合适,所以我们要调整Player或者Plane的大小,如:将Player的Scale(缩放)参数调至(0.5,0.5,0.5,)并将他的Position改为(0,0.25,0).

这样我们就可以看到小球刚好落在平面上(想要好看可以自己修改参数),但是当小球滚出平面则会掉下去,所以要为我们的平面加上四面墙。

在层次面板创建Cube(立方体),并修改它的position和scale(可通过ctrl+D进行复制)

看着颜色有点单调,无法区别对象,在Project下面的Material文件夹创建三个Material(材质球),一个命名为Player,另两个分别命名为Wall和Plane。点击材质球改变他的颜色,并将材质球赋给场景中的游戏对象。

接下来我们要创建另外的游戏对象,当小球碰到它时它就会消失。

首先在Hierarchy面板下创建一个空对象(shift+ctal+N)命名为Walls,然后将Cube拖进去,这样不会显得很乱。随后再创建一个Cube命名为Food,调整它的Scale参数(0.5,0.5,0.5)position(0,0.25,0)。

接下来我们要对PlayerScript脚本进行修改,打开添加以下代码:

保存代码返回到unity中,将food的Tag改为food,并将food的Box Collider组件下的Is Trigger 勾选上。运行可以看到当小球碰到food时,food会消失。拖11个food到场景中。

将Hierarchy下的Food拖到Project面板下Prefab文件夹里,这会形成一个预制体,也可以以预制体的方式进行复制。

接下来要为游戏添加得分统计以及胜利文本。

创建两个Text(Create-UI-Text),一个命名为ScoreText,一个命名为WinText.然后打开PlayerScript脚本,进行修改和添加如下:

保存脚本,回到Unity并将Text拖到指定位置,修改Text的颜色和大小

这样这个游戏基本完成了,当然还有美中不足的是我们只能固定的看着小球运动,所以要再用一个脚本来控制相机随着小球一起运动,创建一个脚本命名为CameraScript,打开输入以下代码:

保存脚本,返回到Unity,将此脚本赋给Camera并将Player拖到指定位置。

调整以下摄像机的Rotation旋转到合适的角度即可,运行游戏就能看到当小球移动相机也会跟着一起移动。

到这里这个游戏就做好了,作为小白的自己也不是很熟悉,本来想用另外的方法实现胜利的条件,结果没成功。此篇文章是本公众号的第一篇文章,也是我个人的第一篇(出自于增加学习的印象和积累),以后会常常更新,伴随着我的成长,文章的质量也会越来越好,嗯谢谢(自己或大家)。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180728G1KPLB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券