unity的重中之重:组件

news2024/11/29 9:41:41

检查器(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.coloradmin.cn/o/1450176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

专业130+总分420+厦门大学847信号与系统考研经验厦大信息系统与通信工程,真题,大纲,参考书。

今年很幸运被厦门大学录取,考研专业课847信号与系统130,数二130,总分420,回头看这将近一年的复习,还是有不少经验和大家分享,希望对大家复习有帮助。专业课: 厦门大学847信号与系统在全国各高校…

BossPlayerCTF

靶场环境问题 靶场下载之后,可能会出现扫描不到IP的情况,需要进行调整,参考: Vulnhub靶机检测不到IP地址_vulnhub靶机nmap扫不到-CSDN博客 该靶机没有vim,需要使用vi命令去修改;改成当前网卡即可&#x…

推荐《架构探险:从零开始写Java Web框架》

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 春节读了《架构探险:从零开始写Java Web框架》,一本大概10年前的好书。 本书的作者是阿里巴巴架构师黄勇。黄勇对分布式服务架构与大数据技术有深入…

【Linux】进程信号概念 | 核心转储 | 信号的产生

文章目录 一、信号入门1.1 生活中的信号1.2 进程角度的信号1.3 信号的概念1.4 信号的三种常见处理方式 二、信号的产生2.1 通过终端按键产生信号问题1:OS怎么知道键盘输入了ControlC ?问题2:按CtrlC终止进程和按Ctrl\终止进程,有什…

多进程面试题汇总

这里写目录标题 一、多进程1、进程的定义:2、单核多任务CPU执行原理3、进程的优点和缺点4、创建进程15、创建进程26、进程池6.1、进程池的作用6.2、原理图6.3、使用进程池的优点 7、进程间的通信(Queue)7.1、需求1:采用多进程将10…

vue axios 请求后端无法传参问题

vue请求后端无法传参问题 问题描述处理过程总结 问题描述 在学习vue时,使用axios调用后端,发现无法把参数正确传到后端,现象如下: 使用vue发起请求,浏览器上已经有传参,但是后端没接收到对应的用户名密码&…

物流|基于Springboot的物流管理系统设计与实现(源码+数据库+文档)

物流管理系统目录 目录 基于Springboot的物流管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员和管理员功能实现 (1)用户管理 (2)公告信息管理 (3)物流信息管理 (…

希捷EXOS X 5U84存储数据恢复案例

一、案例背景 希捷EXOS X 5U84是一款高性能的企业级存储设备,常用于数据中心、云计算等领域。然而,即使使用最先进的存储设备,数据丢失的风险仍然存在。下面我们将介绍一起希捷EXOS X 5U84数据恢复案例。 天津某检测中心使用了希捷EXOS X 5U8…

【51单片机】利用STC-ISP软件工具【定时器计算器】配置【定时器】教程(详细图示)(AT89C52)

前言 大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

哈希切分

目录 一 二 三 2.单个子文件太大怎么办?(分两种情况讨论) 一 这样的题目典型就是KV模型的问题,即通过key IP找对应的value 出现次数,对于KV模型的问题首先想到的就是用map来统计次数,但是100G大小的文件…

《合成孔径雷达成像算法与实现》FIgure6.20

% rho_r c/(2*Fr)而不是rho_r c/(2*Bw) % Hsrcf exp函数里忘记乘pi了 clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.2; …

《合成孔径雷达成像算法与实现》Figure6.18

% rho_r c/(2*Fr)而不是rho_r c/(2*Bw) % Hsrcf exp函数里忘记乘pi了 clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.2; …

C++ bfs反向搜索(五十七)【第四篇】

今天我们来学习bfs的反向搜索。 1.反向搜索 反向搜索:是从目标状态出发进行的搜索,一般用于终点状态唯一,起点状态有多种,且状态转移是可逆的(无向边)情况。 例题:在一个长度为 n 的坐标轴上&a…

IDEA工程与模块管理

一、IDEA项目结构 层级关系: project(工程) - module(模块) - package(包) - class(类)具体的: 一个project中可以创建多个module一个module中可以创建多个package一个package中可以创建多个class二、Project和Module的概念 在 IntelliJ IDEA 中&…

round sphere around ground background space-around space-between space-evenly

round sphere around ground background space-around space-between space-evenly round around ground surround round sphere around ground background around surround around evenly between space-around space-between space-evenly Round: 描述形状为圆形或球形的。例…

Unity基础 -- 更新中(2.15)

Unity基础 文章目录 Unity基础3D数学 -- 基础一些方法插值运算三角函数坐标系 3D数学 -- 向量理解常用函数线性插值 3D数学 -- 四元数看向四元数计算 延迟函数协同程序 3D数学 – 基础 一些方法 float value01 Mathf.PI; // Π int value03 Mathf.Abs(-2); // 绝对值 int v…

OAuth 2.0 协议介绍【实现 GitHub 第三方登录】

OAuth(是 Open Authorization 开放授权的缩写),在全世界得到广泛应用,目前的版本是2.0版。 本文会对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 OAuth 2.0 是一个开放标准&#…

Kubernetes安装部署 2

Kubeadm创建集群 如上所示,在阿里云的香港地域的ECS服务器上拉取下载Kubernetes官方提供的容器镜像 如上所示,在阿里云的香港地域的ECS服务器保存镜像到本地 Node A服务器的IP地址:192.168.0.130 端口号6443开放、部署Docker容器引擎、支持cr…

Lua: 一门轻量级、高效的脚本语言

Lua: 一门轻量级、高效的脚本语言 在当今软件开发的领域中,寻找一门既灵活又高效的脚本语言,一直是开发者们追求的目标。Lua作为一门小巧、高效、可嵌入的脚本语言,已经成为了众多开发者的首选之一。无论是游戏开发、嵌入式系统、Web 开发还是…

linux安装mysql8且初始化表名忽略大小写

mysql8下载地址 MySQL8.0安装步骤 1、把安装包上传到linux系统,解压、重命名并移动到/usr/local/目录: cd ~ tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz mv mysql-8.0.32-linux-glibc2.12-x86_64/ mysql80/ mv mysql80/ /usr/local/2、在M…