当前位置: 首页 > news >正文

unity的重中之重:组件

检查器(Hierarchy)面板中的所有东西都是组件。日后多数工作都是和组件打交道,包括调参、自定义脚本组件。

文章目录

  • 12 游戏的灵魂,脚本组件
  • 13 玩转脚本组件
  • 14 尽职的一生,了解组件的生命周期
  • 15 不能插队!脚本的执行顺序问题
  • 16 别搞错了,给游戏物体做个标记

12 游戏的灵魂,脚本组件

所有物体都能看成是一个空物体+组件
每一个物体都是一个空物体,之所以会表现出不同的形式是因为它的不同的组件
添加自定义组件方法:创建->拖拽
image.png


13 玩转脚本组件

空物体的成长历程
image.png
组件右侧的白色框框的选项是一些对组件的操作,包括移动、复制和粘贴组件、粘贴组件属性值等

14 尽职的一生,了解组件的生命周期

image.png

  1. awake
  2. onenable组件激活(启动)(可多次)
  3. start 第一次 onenable调用之后
  4. update每一帧
  5. lastupdata每一帧之后
  6. fix固定时间可在设置中修改
  7. ondisahle 物体状态变成非激活时候执行其中代码
  8. ondestroy 移除组件时候调用

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class test : MonoBehaviour
{
void Awake() 
{
Debug.Log("Awake");
}
void OnEnable() 
{
Debug.Log("OnEnable");
}
// Start is called before the first frame update
void Start()
{
Debug.Log("Start");
}// Update is called once per frame
void Update()
{
Debug.Log("Update");
}void LateUpdate() 
{
Debug.Log("LateUpdate");
}//void FixedUpdate() 
//{
//    Debug.Log("FixedUpdate")
//}void OnDisable() 
{
Debug.Log("OnDisable");
}void OnDestroy() 
{
Debug.Log("OnDestroy");
}
}

image.png

15 不能插队!脚本的执行顺序问题

多个脚本时候的执行顺序:
先执行所有脚本的Awake方法,在执行所有脚本的Start方法。
控制脚本执行顺序的两个方法

  1. 利用生命周期函数
    1. 脚本1的代码写在Awake(要求脚本1中的先执行)
    2. 脚本2的代码写在OnEnable
  2. 使用编辑器的项目设置(设置执行顺序)
    1. 第一种方式打开
      1. image.png
    2. 第二种打开方式
      1. image.png

注意要把框架最底层的东西放在上边,这样我们的才有效。

初始化的东西放在Awake里边。不要放在OnEnable,否则容易多次运行,丢失信息。

16 别搞错了,给游戏物体做个标记

image.png


【标签】的作用
作用1:在脚本中通过标签能找到物体(游戏对象)
作用2:判断物体是不是我想要的物体
注意标签是可以重复的:多个物体可以对应同一个标签。比如多个妖怪都是妖怪


【图层】
碰撞检测、相机拍摄 会涉及到
图层是控制一批游戏物体的,比如游戏中的角色。图层的个数只有32个,最好从系统给定之下添加图层。
相机的剔除遮罩就是利用了图层,决定拍哪、不拍哪些图层。
真实场景中可利用图层来制作小地图。

http://www.lryc.cn/news/300110.html

相关文章:

  • Linux释放内存
  • Python算法题集_翻转二叉树
  • Git快速掌握,通俗易懂
  • PHP毕业设计图片分享网站76t17
  • 代码随想录 Leetcode45. 跳跃游戏 II
  • 【C语言】socketpair 的系统调用
  • 【论文精读】BERT
  • Codeforces Round 925 (Div. 3) - A、B、C、D、E
  • 快速部署MES源码/万界星空科技开源MES
  • 【Python网络编程之TCP三次握手】
  • 【leetcode】深搜、暴搜、回溯、剪枝(C++)2
  • 鸿蒙开发-UI-图形-图片
  • .NET Core WebAPI中使用Log4net记录日志
  • Nginx配置php留档
  • 英语题不会怎么搜答案?分享五个支持答案和解析的工具 #学习方法#媒体
  • Rust 数据结构与算法:4栈:用栈实现进制转换
  • 树莓派4B(Raspberry Pi 4B)使用docker搭建阿里巴巴sentinel服务
  • Django视图
  • python基本语法
  • app逆向-⽹络请求库rxjava2
  • Spring Boot 笔记 007 创建接口_登录
  • java数据结构与算法刷题-----LeetCode594. 最长和谐子序列
  • 数据分析基础之《pandas(6)—高级处理》
  • IOS破解软件安装教程
  • [缓存] - 1.缓存共性问题
  • Python爬虫——解析库安装(1)
  • 中科大计网学习记录笔记(十一):CDN
  • [缓存] - 2.分布式缓存重磅中间件 Redis
  • 1191. 家谱树(拓扑排序,模板题)
  • CSS之BFC