初次制作游戏-Unity3D的一些方法

    游戏课和项目管理课都已经结束了,我们组做的游戏拿到了管理课的最高分,挺开心的,最近开了个Blog想记录记录一些自己做过的事儿吧。

    Unity3D确实是一款很方便的的游戏开发引擎,不管是出于脚本的编写还是场景的布局,都非常的简便。

    至于怎么去建立一个场景,我相信大家如果拥有一个鼠标和W,E,R键以及一颗不怕苦的心就可以完成,而我做的是关于脚本方面的工作。

    首先介绍一下脚本的框架,由于我们做的是第一人称解密类游戏,所以可能只使用到了一些框架,以下以C#语言为例叙述(其实JavaScript感觉差不多):

    Unity3D的脚本有一些特定的名字是引擎规定好的:

               比如Awake, Start , Update等,就像一些关键字一样,当你想使用的时候就可以定义着一些函数(方法?)

             

              Awake()方法:

                   这个方法是在Unity在创建游戏之后首先会执行的方法,话句话说就是游戏开始的时候,Unity会执行所有脚本的Awake()方法,我一般用来对一些静态脚本变量的初始化以及一些必须要在别的脚本Start()方法执行之前执行的脚本。

                   煮个栗子:人物移动速度,物品状态读取等。

         

             Start()方法:

                   这个方法是Unity在执行完Awake()方法之后,Update()之前执行的一个方法。我一般用来对当前脚本一些变量进行初始化。

                   煮个栗子:变量的初始化,以及一些别的脚本的索引变量的初始化。

            

            Update()方法:
                  这个方法是Unity在执行完Awake(),和Start()之后会执行的方法,并且每一帧会执行一次,用于实时对一些因素的监控。

                  煮个栗子:密码锁解锁是否成功等。

          

            OnGUI()方法:

                 这个方法是Unity里需要对2D的图形界面做处理的地方,比如要创建一个提示框等等。


            

            OnMouseDown()方法:

                  这个方法是Unity里在鼠标点击到含有一个脚本的物体时会执行的一个方法。

                  煮个栗子:点击物品的时候就会提取。

              

             结合着上边的OnGUI(),Update(),OnMouseDown()就可以在点击物品时,弹出这个一个简单的密码锁(皮肤是我们自己贴的).

           


              囧,才发现这个框没有根据分辨率调整大小,于是出现了Bug= =囧,你们注意一点。分辨率的调整方法可以如果,首先你编写的时候使用同一个分辨率,便于在统一分辨率下,矩形框的大小绝对值是同一个标准,然后根据分辨率调整转换率。

            

               由于我是在本机的全屏模式下编写和调试的,分辨率为1366 , 768于是转换率如此计算。Screen.width,height是当前窗口的宽度和高度。

              

              然后在一些绝对大小值都乘上这个转换率,就可以在任何分辨率上显示了。(注意一些相对值不要乘以转换率)

              然后就是存档这个功能,我使用的是比较简单的存档方式。Unity自带的PlayerPrefs,其最主要的是以下的几个函数:

        

             顾名思义,对于Set类函数就是将一些值置为多少,其方法有2个参数,第一个是Key值,就是用于查找这个值的键值,第二个参数就是这个Key值内存储的值是多少。而Get类方法就是取出那些键值为Key的数值,只有一个参数,就是需要取出键值Key。

            比如存档的时候可以使用这样的方法存储:

          

           读档的时候就可以用下列方法:

    

          就先写这么多吧,Android 的ADK安好了- -我得苦逼的去忙了……哭



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值