Unity大神之路4:Roll A Ball 案例开发(2)

大神之路4:Roll A Ball 案例开发(2)

    • 大神之路:Roll A Ball
        • 1:控制相机跟随小球
        • 2:控制小球的移动范围
        • 3:如何创建可收集的食物
        • 4:控制食物的旋转

大神之路:Roll A Ball

1:控制相机跟随小球

  • 当小球移动时,相机始终跟随小球,并保持一定距离不变
  • 在Main Camera 下创建一个FollowTarget脚本
public Transform playerTransform;//定义一个Transform组件,这个组件指向Player的Transform组件,所以需要在Unity中,将Player拖入Main Camera的该组件中

private Vector3 offset;//定义一个偏移

void Start()
    {
       offset = transform.position - playerTransform.position;//相机的位置减去主角的位置就是偏移,获取游戏一开始的偏移
    }
    void Update()
    {
       transform.position = playerTransform.position + offset;//相机的位置=小球的位置+固定不变的偏移量,因为小球的位置随我们键盘的操控而改变,所以相机的位置也得随之改变
    }

在这里插入图片描述

2:控制小球的移动范围

①:在地面上创建四个cube
②:调整长宽高使其围成一个盒子的形状,并把cube作为地面的子物体
Unity大神之路4:Roll A Ball 案例开发(2)_第1张图片

3:如何创建可收集的食物

①:创建一个cube命名为PickUp作为食物的预设,长宽高设为0.5,方向与地面成45°,并赋予颜色
②:然后创建一个文件夹命名为prefabs,这个文件夹用来放置预设,所以PickUp物体拖入到这个文件夹
③:通过使用预设实例化11个PickUp,这样做的好处是,如果想要修改食物的某一属性,只需修改预设的属性即可,其他的食物会实时发生改变,就避免了麻烦

4:控制食物的旋转

  • 在预设的PickUp上添加脚本PickUp,这样所对应的食物都会有同样的脚本生成
 void Update()//1s大概调用60次
    {
        transform.Rotate(new Vector3(0, 1, 0));//Rotate方法为围绕某一轴进行旋转,Vector3(0,1,0)为一个向上的向量,所以食物会沿着Y轴旋转
    }

你可能感兴趣的:(U3D大神之路,Roll,A,Boll)