Unity 3D 游戏编程设计g02

 

1、游戏对象与资源的区别和联系

       资源是游戏中具体的资源,是创作游戏时加进来的声音、脚本、材质等。游戏对象是我们要创建的人物、道具、场景之类的东西,是由资源实例化后得到的对象。联系就在于我们可以使用资源来创建游戏对象。

2、游戏案例

GitHub - XANkui/UnityMiniGameParadise: Unity 游戏开发集合代码集

        资源的目录组织结构和游戏对象结构都是树形结构。资源的文件里包括脚本,声音,图像,预设等,按照文件类型放在相应的文件夹中,这些文件夹下继续划分。游戏对象分为游戏控制,环境,玩家,目标,对象跟上级对象是继承关系。

3、编写一个代码,使用 debug 语句来验证 MonoBehaviour 基本行为或事件触发的条件

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript1 : MonoBehaviour {

    void Awake()
    {
        Debug.Log("Awake!");
    }
    void Start()
    {
        Debug.Log("Start!");
    }
    void Update()
    {
        Debug.Log("Update!");
    }
    void FixedUpdate()
    {
        Debug.Log("FixedUpdate!");
    }
    void LateUpdate()
    {
        Debug.Log("LateUpdate!");
    }
    void Reset()
    {
        Debug.Log("Reset!");
    }
    void OnGUI()
    {
        Debug.Log("onGUI!");
    }
    void OnDisable()
    {
        Debug.Log("onDisable!");
    }
    void OnDestroy()
    {
        Debug.Log("onDestroy!");
    }
}

运行结果:

4、查找脚本手册,了解GameObject,Transform,Component 对象

  • 分别翻译官方对三个对象的描述(Description)

    GameObject: 游戏中的每个对象都是一个游戏对象(GameObject)。然而,游戏对象(GameObjects)本身不做任何事情。它们需要特殊属性(special properties)才能成为一个角色、一种环境或者一种特殊效果。
    Transform:变换(Transforms)是每个游戏对象(GameObject)的关键组件(Component)。它们决定游戏对象 (GameObject)的位置、旋转方式及缩放。
    Reset:在游戏中,组件(Components)就是对象和行为的螺栓与螺母,它们是每个游戏对象 (GameObject)的功能零件。

  • 描述下图中 table 对象(实体)的属性、table 的 Transform 的属性、 table 的部件 

    table 的对象是GameObject,第一个选择框是 activeSelf属性,第二个选择框是Transform属性,第三个选择框是Mesh Filter筛网过滤器属性,第四个选择框是Box Collider属性,第五个选择框是Mesh Renderer筛网渲染器属性,第六个选择框是Default-Material属性。

5、资源预设(Prefabs)与 对象克隆 (clone)

        预设是一个非常容易复用的类模板,可以迅速方便创建大量相同属性的对象、操作简单,代码量少,减少出错概率。

        克隆游戏对象需要场景中有被克隆对象,而创建预制只需事先创建预制即可,允许场景中一开始并不存在该游戏对象。克隆出来的游戏对象并不会随着被克隆体的变化而发生变化,但是使用预制创建出来的对象会随着预制的改变而发生改变。

void Start()
{
        Debug.Log("Start!");
        GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        cube.name = "a cube";
        cube.transform.position = new Vector3(0, 1, 2);
        cube.transform.parent = this.transform;
}

链接: https://pan.baidu.com/s/1pvrAGqphxuukv_kkCFmBoQ?pwd=ue7k 提取码: ue7k 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值