Unity3D牛刀小试

Unity3D基础界面操作:

正方向X右、Z前、Y上。

X轴向右+,向左-;

Z轴向前+,向后-;

Y轴向上+,向下-;

Alt+鼠标左键拖动,以选定的目标为中心旋转。

Alt+鼠标右键拖动,缩放。

Q:抓屏移动。W:调整PositionE:旋转,调整RotationR:缩放,调整ScaleT2D方面调整大小。UGUI


创建脚本:直接创建之后改名字。不能重命名。若重命名要在脚本里改类的名字。脚本中注意大小写 

U3D中左边Create的对象体都是GameObject,在Unity中都是对游戏体GameObject进行创建或修改操作GameObject.CreatePrimitive【创建预置的】 (PrimitiveType【预置类型的】.Cube)

自定义的名称.transform.localScale 修改它的transform属性中的Scale属性。

自定义的名称.transform.position 修改它的坐标。

TransformGameObject互相可以.”出来。

一个游戏中需要用大量预制件,可以节省资源。对于需要多次使用某个对象的情况中、

预置件:prefab。用预制件做出来的对象拥有母体所有的属性(模板)。

预制件在脚本中用GameObject点出来Instantiate,它的类型是Object,需要强制转换为对象的类型。

制作预制件:如果是创建的对象,直接拖到下面Assets中,随后删除该创建的对象,生成预制件。如果是来自外部文件的对象,先将这个对象拖到上面Hierarchy中作为一个游戏体,然后再拖到Assets中,再删除该游戏体,生成预制件。

Select选中该对象来自哪个预制件。Revert撤销到和预制件一样的状态。Apply应用到预制件,更改所有。

动画控制器。New Animator Controller.将该对象的动画Take 001.拖到控制器中。把一个对象体显示出来并且将动画控制器放进它AnimatorController中。并且Apply,将预制件修改。实现动画运行。

Localposition是相对于它的父级坐标的位置,position是相对于世界坐标的位置。

GAME.RUNNER

创建管理器SkylineCloseManager,SkylineFarawayManager,实际是2GameObject,为了挂载脚本用,在游戏中不显示。用cube生成skyline背景块的预制件。新建文件夹分别放置角色(runner,音乐(Music),场景(Scenes),天际线(Skyline)的信息,存放脚本和材质球等相关对象。远近的skyline都用同一套脚本,但设置的值不同,所以它们的呈现的样式不同,但是规律都是一样的。

创建脚本。SkylineScript控制背景楼房的生成及更新。在脚本中PUBLIC的对象可以在U3D中改变值,私有的不能在U3D中显示并改变。脚本中公开的属性的值在U3D中一旦编译,再改变值没有影响,只能在U3D中改变。所以只需要公开定义这个属性,不用写值。公开目标预制件prefab,起始位置StartPosition

,屏幕中可见楼房数量GameObjectNumber

(因为后面的楼房都是用之前的楼房改变属性后移的,所以并没有写出来全地图的楼房),需要随机的最大最小大小。私有定义下一个位置nextPosition(为了方便记录),定义一个队列(方便生成删除之前的楼房,生成新的楼房)【队列:Queue<Transform> 名称。需要导入命名空间“System.Collections.Generic

”】。实例化这个队列确定队列长度(即屏幕中可见楼房数量)。用for循环写出当前数量的楼房。在用一个for循环控制生成的楼房的高低位置。用队列的特性(先进先出)来控制视觉上楼房的移动(实际总是第一个楼房重新生成在最后一个位置,不断循环)。添加一个Cube作为角色,将MainCamera绑在Cube上(先将cubetransform重置了再将MainCamera拖到Cube上),写Runner的脚本。公开一个静态的distance(公开的静态的属性不会显示在U3D中)作为runner和世界中心X的变化距离distance = transform.position.x。控制runner开始运动transform.Translate(5f * Time.deltaTime, 0, 0)。Time.deltaTime就是将这个动作控制在1秒时间内匀速完成。如果直接写5就是1帧运动5个单位,1秒有26帧。在主脚本中写一个update方法,每帧都运行。判断runner运动的距离和第一个楼房的距离,如果大于一定量,则执行recycle方法,删除第一个楼房,重新生成新的楼房。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值