美文网首页
《打砖块》案例总结

《打砖块》案例总结

作者: 街头顽禽 | 来源:发表于2018-05-24 20:19 被阅读26次

    001-004

    Unity的破解和安装

    005

    Unity的各个面板

    Inspector   属性面板

    Project      工程面板

    Hierarchy  层次面板

    Scene        场景视图

    Game         游戏视图

    006

    Unity中的场景Scene

    游戏中有开始界面,游戏界面,结束界面,他们之间是通过Scene(场景)切换实现的

    007

    Unity中怎么操作视野

    右键 + Alt   围绕自身旋转

    Alt + 右键   视角远近调节

    Alt + 左键   围绕物体旋转

    鼠标中键    平行移动

    双击或F键  聚焦物体

    Cube           立方体

    Sphere        球体

    Capsule      胶囊体

    Persp 透视视图

    Iso  正交视图

    008

    Unity中游戏物体的基本操作

    Gizmos 3D Icons    调节相机图标大小

    游戏物体的父子关系:父拉子 子不理父

    Q 相机平移 W 移动物体(x,y,z)E 旋转 R 缩放 T 常用于2D游戏

    local     局部坐标(物体坐标)

    Global  世界坐标

    Pivot      中心点 (大型游戏制作使用)

    Center   中心点

    009

    Unity中游戏物体和组件的关系

    Scene - GameObject(游戏物体) - Component(组件)

    Transform组件            保存物体的位置 大小 旋转

    Mesh Renderer组件  控制物体显示于屏幕

    折叠Main Camera下的Camera组件会使相机的边框线消失

    游戏物体和组件的禁用和启用

    SetActive和enabled

    010

    设计打砖块案例的场景

    011

    创建砖块和砖块的Prefab

    Y轴提升0.5可以直接将初始物体置于平面

    游戏体的无缝衔接:

    1.按住Ctrl是以米为单位移动的

    2.设置X轴的位置

    Ctrl + D 复制

    Prefab 预制体

    注意;在Prefabs文件夹中的修改会同步到Hierarchy面板中的游戏体

    012

    创建墙和子弹的Prefab

    013

    创建第一个C# 脚本

    014

    Start方法在运行脚本时只会调用一次,用来初始化

    Update方法每帧调用,Fps越高,调用次数越多

    控制台快捷键: Ctrl + Shift + C

    015

    控制子弹的生成

    字段:

    Public GameObject bullet; //声明游戏物体并赋值

    void Start () {

     Gameobject.Instantiate(bullet,transform.position,transform.rotation); //游戏物体的实例化(物体,位置,旋转)

    }

    void Update () {

      if(Input.GetMouseButtonDown(0)){

      GameObject.Instantiate(bullet,transform.position,transform.rotation); //游戏物体的实例化(物体,位置,旋转)

      }

    }

    016

    给子弹施加初速度

    public float speed = 5;

    void Update () { 

     GameObject b = GameObject.Instantiate(bullet,transform.position,transform.rotation); 

     Rigidbody rgd = b.GetComponent();

      rgd.velocity = transform.forward * speed;

    }

    Directional Light 平行光

    Intensity  强度

    017

    控制相机的左右移动

    float h = Input.GetAxis("Horizontal");

           transform.Translate(new Vector3(h,0,0) * Time.deltaTime * speed);   

    }

    Time.deltaTime  从当前帧到结束帧的时间间隔

    Debug.log    (siki老师的按键试验)

    018

    课程结束

    public float speed = 3;

    void Update () {

        float h = Input.GetAxis("Horizontal");

        float v = Input.GetAxia("Vertical");

        transform.Translate(new Vector3(h,v,0) * Time.deltaTime * speed);

    }

    相关文章

      网友评论

          本文标题:《打砖块》案例总结

          本文链接:https://www.haomeiwen.com/subject/uuqejftx.html