当前位置:   article > 正文

Unity 3D 游戏编程设计g02_github - xankui/unityminigameparadise

github - xankui/unityminigameparadise

 

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

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

2、游戏案例

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

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

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

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class NewBehaviourScript1 : MonoBehaviour {
  5. void Awake()
  6. {
  7. Debug.Log("Awake!");
  8. }
  9. void Start()
  10. {
  11. Debug.Log("Start!");
  12. }
  13. void Update()
  14. {
  15. Debug.Log("Update!");
  16. }
  17. void FixedUpdate()
  18. {
  19. Debug.Log("FixedUpdate!");
  20. }
  21. void LateUpdate()
  22. {
  23. Debug.Log("LateUpdate!");
  24. }
  25. void Reset()
  26. {
  27. Debug.Log("Reset!");
  28. }
  29. void OnGUI()
  30. {
  31. Debug.Log("onGUI!");
  32. }
  33. void OnDisable()
  34. {
  35. Debug.Log("onDisable!");
  36. }
  37. void OnDestroy()
  38. {
  39. Debug.Log("onDestroy!");
  40. }
  41. }

运行结果:

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)

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/104048
推荐阅读
相关标签
  

闽ICP备14008679号