unity基础(二)

news2024/12/23 14:23:27
  1. debug方法
    Debug.Log(" 一般日志 ");
    Debug.LogWarning(" 警告日志 ");
    Debug.LogError(" 错误日志 ");
 
 // Player Information
    string strPlayerName = "Peter";
    int iPlayerHpValue = 32500;
    short shPlayerLevel = 10;
    long lAdvantureExp = 114514;
 
    Debug.Log("Player Information \nName: " + strPlayerName + " Hp: " + iPlayerHpValue +" Level: " + shPlayerLevel + " Exp: " + lAdvantureExp);
    Debug.LogFormat("Player Information \nName: {0}, Hp: {1}, Level: {2}, Exp: {3}", strPlayerName, iPlayerHpValue, shPlayerLevel, lAdvantureExp);

针对上述两个日志信息输出方式,使用 Debug.Log() 输出与 Debug.LogFormat() 相比

使用 Debug.LogFormat() 将各个字符串变量填充,避免 Debug.Log() 用 + 将字符串拼接造成内存浪费在这里插入图片描述
2. 画线

//绘制一条直线,两点连成直线
Debug.DrawLine(new Vector3(1, 0, 0), new Vector3(1,1,0), Color.yellow);
//绘制一条射线,一个点和一个向量
Debug.DrawRay(new Vector3(1, 0, 0), new Vector3(0, 1, 0), Color.red);
  1. 常用代码
    3.1 获取组件
    Transform trans = this.transform
    3.2 获取其他组件
    Collider collider = this.GetComponent<Collider>();
    collider.enabled = false;
    3.3 获取父物体组件
    Test test = this.GetComponentInParent<Test>();
    3.4 获取子物体组件
    CapsuleCollider cc = this.GetComponentInChildren<CapsuleCollider>();
    动态添加组件
    this.AddComponent<AudioSource>();
    通过物体名称找到物体
    GameObject cube2 = GameObject.Find('Cube2');
    cube2.name = “new cube”;
    通过标签找到物体
    cube2 = GameObject.FindWithTag('Person');
    cube2.name = "new cube2"
    //GameObject.FindGameObjectsWithTag("Person")
    通过代码实例化预制体
    GameObject cube2 = Instantiate(prefab, Vector3.zero, Quaternion.identity);

void Start() {
//获取脚本挂载的游戏物体
GameObject go = this.gameObject;
// 游戏物体名称
Debug.Log(go.name);
//标签
Debug.Log(go.tag);
// 获取激活状态
//这个是获取真正的激活状态,就是是否显示出来了 例如自己显示否跟父物体也有关 这个包含了
Debug.Log(go.activeInHierarchy);
//只是激活状态的勾有没有打上 也就是只判断自己
Debug.Log(go.activeSelf); }

  1. unity 里面的时间设置
    fixeupdate() 固定时间间隔更新,一般为0.02s更新一次,可以放与物理属性操作相关代码
    也可以由用户更改时间间隔,Edit->Project Settings->Time 找到弹出面板的Fixed Timestep设置。
    在这里插入图片描述
    timeScale 是时间流逝速度的缩放比例
    timeScale为1.0时,时间是正常速度。timeScale为0.5时,时间流逝速度会降为正常速度的一般
    timeScale为0时,所有基于帧率的功能都将被暂停
    Time.realtimeSinceStartup这个值不受timeScale影响
    修改timeScale时,推荐同时与相同比例修改Time.fixedDeltaTime
    timeScale为0时,FixedUpdate函数不再执行
void Start() {
    //游戏从开始到现在所用的时间
    Debug.Log(Time.time);
    //时间缩放数值
    Debug.Log(Time.timeScale);
    // Time.timeScale = 0f;
    //固定时间间隔
    Debug.Log(Time.fixedDeltaTime)
}
void Update {
   //时间自增
   timer += Time.deltaTime;
   // 5s后
   if (timer > 5) {
      Debug.Log('大于5秒了');
      timer = 0;
   }
}
  1. 路径
    StreamingAssets文件夹 建在Assets目录下
    这是一个只读。不可写的目录;该目录下的资源会保持原始格式(比如图片不会被引擎进行纹理压缩);dll文件或者脚本放在该文件夹下也不会参与编译
    官网推荐使用Application.streamingAssetsPath来获取该文件夹的实际位置,其可以避免平台差异

    Assets路径: Application.dataPath

void Start () {
//Asset路径 移动端 主机游戏:可读 不可写 pc端:可读可写
Debug.Log(Application.dataPath + "/test.txt");
//持久化路径 可读可写
Debug.Log(Application.persistentDataPath);
//临时文件
Debug.Log(Application.temporaryCachePath)
// Assets下面的streamingAssetsPath路径
Debug.Log(Application.streamingAssetsPath);
//后台运行
Debug.Log(Application.runInBackground);
//打开一个网址
Application.OpenURL("http://...")
//退出
Application.Quit()
}
在这里插入图片描述

  1. 场景代码
    void Start() {
    //获取当前场景
    Scene scent = SceneManager.GetActiveScene();
    //名称
    Debug.Log(scene.name)
    //场景路径
    Debug.Log(scene.path)
    //场景是否加载完成
    Debug.Log(scene.isLoaded)
    //切换场景
    SceneManager.LoadScene(1);
    //用场景名切换
    SceneManager.LoadScene("Scene2")

    //场景中最外层的游戏物体
    GameObject[] gameObjects = scene.GetRootGameObjects();
    Debug.Log(gameObject.Length);

    //创建新场景
    tmp = SceneManager.CreateScene("abc");

    //切换场景
    SceneManager.LoadScene("Scene2",LoadSceneMode.Additive);
    }

LoadSceneMode.Additive:
当使用Unity的LoadSceneMode.Additive时,开发人员可以在当前场景中加载一个新的场景,而不需要卸载当前场景。这意味着两个场景将同时处于活动状态并可见,可以实现游戏不同区域或关卡之间的无缝过渡。这对于创建更大更复杂的游戏环境或根据需要动态加载和卸载游戏世界的部分非常有用。

  1. 携程加载场景
public class AsyncTest:MonoBehaviour
{
    AsyncOperation  operation;
    void Start()
    {
         StartCoroutine(loadScene());
    }
    // 携程方法用来异步加载场景
    IEnumerator  loadScene() {
          operation = SceneManager.LoadSceneAsync(1);
          //加载完场景不要自动跳转
          operation.allowSceneActivation = false;
          yield return operation;
    }
 
    float timer = 0;
 
    void Update()
    {
        //输出加载进度0-0.9
        Debug.Log(operation.progress);
        timer += Time.deltaTime;
        //如果到达5秒,在跳转
        if (time > 5) {
            operation.allowSceneActivation = true;
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1648109.html

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

相关文章

k8s部署Kubeflow v1.7.0

文章目录 环境介绍部署访问kubeflow ui问题记录 环境介绍 K8S版本&#xff1a;v1.23.17&#xff0c;需要配置默认的sc 参考&#xff1a;https://github.com/kubeflow/manifests/tree/v1.7.0 部署 #获取安装包 wget https://github.com/kubeflow/manifests/archive/refs/tag…

【方法】如何创建RAR格式压缩文件?

为了方便存储或者传输文件&#xff0c;我们经常会把文件打包成不同格式的压缩包&#xff0c;那如果想创建的是RAR格式的压缩包&#xff0c;要如何做呢&#xff1f; RAR是WinRAR软件独有的压缩格式&#xff0c;所以我们可以通过WinRAR软件来创建RAR格式压缩包。下面分享两种创建…

5000亿参数来了:微软将推出 MAI-1 模型硬刚谷歌和OpenAI|TodayAI

美国的科技巨头微软公司&#xff0c;正在积极扩展其人工智能&#xff08;AI&#xff09;技术的领域。最新消息显示&#xff0c;微软将推出一款名为MAI-1的全新AI模型&#xff0c;其规模巨大&#xff0c;预计将拥有5000亿个可调参数。这一开发工作由Inflection AI的CEO穆斯塔法苏…

cmake进阶:变量的作用域说明三(从函数作用域方面)

一. 简介 前一篇文章从函数作用域方面学习了 变量的作用域。文章如下&#xff1a; cmake进阶&#xff1a;变量的作用域说明一&#xff08;从函数作用域方面&#xff09;-CSDN博客cmake进阶&#xff1a;变量的作用域说明二&#xff08;从函数作用域方面&#xff09;-CSDN博客…

在Node.js(express 框架)中使用 JWT 进行身份认证

文章目录 一、JWT 认证机制二、安装 JWT 相关的包三、基本使用1、生成 JWT 字符串2、添加中间件&#xff0c;解析 JWT 字符串3、获取管理员信息(admin) 一、JWT 认证机制 JWT 认证机制&#xff08;图片来源于网络&#xff0c;侵权删除&#xff09;&#xff1a; 关于 JWT 原理可…

Wish、Newegg、Allegro卖家如何做测评补单 快速提升产品权重与销量

大部分主流平台卖家都会使用测评补单来增加产品权重、提高销量。经常会有一些平台的卖家咨询我其他平台能否像亚马逊一样通过测评补单来提升曝光。 其实大部分跨境电商都是可以通过补单来增加店铺权重提升产品排名。其实亚马逊相对来说风控是最严的&#xff0c;风控点多达几十…

Pytorch基础:内置类type的用法

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 在python中&#xff0c;一切数据类型都是对象&#xff08;即类的实例&#xff09;&#xff0c;包括整数、浮点数、字符串、列表、元组、集合、字典、复数、布尔、函数、…

Telnet的三种配置和SSH配置

Telnet的三种配置 实验配置思路&#xff1a; 配置接口IP地址&#xff1a; R1——配置接口IP地址 R2——配置接口IP地址 认证模式为none的配置 R1——认证模式配置为none R2——测试Telnet连接R1设备 认证模式为passwrd的配置 R1——认证模式配置为password R2——测试Telnet连…

C语言例题35、判断一个数是否是回文数

题目要求&#xff1a;输入一个5位数&#xff0c;判断它是不是回文数。即12321是回文数 #include <stdio.h>int main() {int x;int ge, shi, qian, wan;printf("请输入一个5位数&#xff1a;");scanf("%d", &x);ge x % 10; //个sh…

嵌入式硬件中PCB走线与过孔的电流承载能力分析

简介 使用FR4敷铜板PCBA上各个器件之间的电气连接是通过其各层敷着的铜箔走线和过孔来实现的。 由于不同产品、不同模块电流大小不同,为实现各个功能,设计人员需要知道所设计的走线和过孔能否承载相应的电流,以实现产品的功能,防止过流时产品烧毁。 文中介绍设计和测试FR4敷…

图解HTTP(2、简单的 HTTP 协议)

HTTP 协议用于客户端和服务器端之间的通信 请求访问文本或图像等资源的一端称为客户端&#xff0c;而提供资源响应的一端称为服务器端。 通过请求和响应的交换达成通信 请求必定由客户端发出&#xff0c;而服务器端回复响应报文 请求报文是由请求方法、请求 URI、协议版本、…

Baidu Comate 智能编码助手:编程新伙伴,效率新飞跃

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号&#xff1a;网络豆云计算学堂 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a; 网络豆的主页​​​​​ 目录 写在前面 一、Baidu Comate智能编码助手简介…

vue快速入门(五十七) 作用域插槽

注释很详细&#xff0c;直接上代码 上一篇 新增内容 作用域插槽实现表格删除数据 源码 App.vue <template><div id"app"><!-- 向子组件传值 --><MyTable :tableData"tableData"><!-- 接收子组件的传值&#xff0c;默认是对象格…

金三银四面试题(二十四):享元模式知多少?

什么是享元模式 享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;旨在通过共享对象来减少内存使用&#xff0c;从而提高性能。它主要用于处理大量细粒度对象的情况&#xff0c;通过将这些对象的可共享部分&#xff08;内部状态&#xff09…

“A”分考试经验分享:云计算HCIE考试请注意这几点...

大家好&#xff0c;我是誉天云计算HCIE的王同学&#xff0c;于4月2日"A"分通过了云计算3.0 HCIE的认证考试。 首先感谢誉天教育对我的辅导&#xff0c;感谢苗苗老师和石老师对我的帮助&#xff0c;通过这次考试让我对华为云计算有了一定的了解。接下来我就与大家分享…

嵌入式C语言教程:实现气压监测系统

气压监测在气象学、航空和户外活动装备中非常重要。本教程将介绍如何在STM32微控制器上使用数字气压传感器实现实时气压监测系统。 一、开发环境准备 硬件要求 微控制器&#xff1a;STM32L476RG&#xff0c;具备低功耗特性和足够的处理能力。开发板&#xff1a;STM32L4 Disc…

“40法则”视角下的中国网络安全公司

“40法则”视角下国内网安上市公司2023年业绩表现 采用“40法则”衡量&#xff0c;首先需要考虑的是营收增长和利润水平的衡量指标&#xff0c;在上一篇文章中已经详细说明&#xff0c;在此不再赘述。 增长速度的衡量指标&#xff0c;可以选择公司的营业收入的同比增长率。 …

软考 系统架构设计师系列知识点之软件可靠性基础知识(11)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之软件可靠性基础知识&#xff08;10&#xff09; 所属章节&#xff1a; 第9章. 软件可靠性基础知识 第2节 软件可靠性建模 9.2.3 软件可靠性模型模型分类 一个有效的软件可靠性模型应尽可能地将前文所述的因素在软件可…

deepin 社区月报 | 2024年4月,多款应用更新,还有线下相见!

deepin&#xff08;深度&#xff09;社区4月总览 2024年4月&#xff0c;有1131位小伙伴加入了deepin&#xff08;深度&#xff09;社区大家庭&#xff0c;目前共有论坛伙伴153,910位&#xff1b; 在4月&#xff0c;deepin V23 Beta3共进行了2次内测更新&#xff0c;共新增与更…

十七岁少女夸小沈阳:我瞅你长得有一种大海的感觉呢!

十七岁少女夸小沈阳&#xff1a;我瞅你长得有一种大海的感觉呢&#xff01; ——小品《超级大明星》&#xff08;上&#xff09;的台词 小沈阳&#xff1a;THANK YOU 哦了 不用拍 感谢大家 非常的感谢所有的好朋友们 把你们热情而洋溢的掌声呢 送给我们所有的演员 这…