上一篇文章:https://blog.youkuaiyun.com/qq_38962621/article/details/86930742
创建碰撞小立方体
新建Cube
我们在游戏场地中加入一些旋转的小方块儿,然后由球来碰撞这些小方块儿,碰撞之后就加一定的分数。
很简单地,创建一个Cube,并命名为PickUp,使其Reset,然后我们调整一下它的Rotation和Scale,使得其变成一个斜放的小立方体,(为了方便看,这里暂时隐藏了Player,只要在Player的Inspector面板中将其前边的对勾打掉它就会隐藏)。
让小立方体旋转起来
为了让小方块儿更有趣,我们来添加一个脚本让他旋转起来,新建脚本Rotator,并添加给PickUp,编辑此脚本。
这个逻辑中是不需要Start函数的,我们只需要每一帧都让小方块儿转动一下,所以将逻辑写到Update函数中,这里使用Ratate方法,需要一个Vector3作为参数,为了不让旋转过快,我们给每一帧都乘以一个小的时间量。
private Vector3 rotation = new Vector3(15,30,45);
void Update()
{
transform.Rotate(rotation * Time.deltaTime);
}
保存脚本,运行游戏可以看到小方块旋转起来了。
创建Prefab
接下来我们需要多放置一些立方体在游戏的平面上,在此之前,我们需要把这个设计好的立方体生成一个Prefab(预设体),让它变成一个asset,这样我们可以从prefab创建这个立方体的实例,这样我们才能分别控制每一个由prefab生成的实例或者控制prefab本身,在这个游戏中,被小球碰撞到的小立方体会消失,这也就是我们需要更新每一个小立方体的状态,所以我们需要创建一个Prefab。
a prefab is an asset that contains a template, or blueprint of a game object or game object family.
(预设体是包含游戏对象或游戏对象族的模板或设计大纲的一种资源。)
在Assets下新建Prefabs目录来管理预设体,只需要将MainScene中的PickUp拖拽到新建的目录下就可以生成对应的asset了,这时也会看到MainScene中的PickUp变成了一个蓝色的图标。
此时在MainScene中新建一个空的GameObject来管理所有的小立方体,命名为PickUps,将刚刚的第一个PickUp拖拽到它的上边使其成为其子物体。
放置更多的立方体
接下来放置小立方体,为了调整一个好的视角,我们可以点击Scene中右上角的方位标志的Y轴的小锥体,就会调整视角到俯视的角度,这是一个便捷的小技巧。
由于我们的小立方体是一个斜放的立方体,在原本的坐标轴下很难调整立方体在水平面上的位置,这里还有一个小技巧,我们点击右上角的Local变成Global,这样就会在Global的坐标中对小立方体进行调整了,可以看到,小立方体的三个坐标轴变成了只有两个方向的轴,非常方便就可以调整了。