- 博客(25)
- 资源 (3)
- 收藏
- 关注
原创 模型Mesh检测工具
在大型项目中经常遇到新旧模型替换的问题,如果没有一个好的替换习惯很容易造成模型Mesh丢失的情况。unity在切换场景的时候会因为模型丢失报错。虽然这种错误不是致命的,但是作为程序开发者不应该允许程序有报错而不解决的事情发生,因此我编写了一段简易检测模型Mesh是否丢失的代码。将此代码放到场景任意激活物体上运行即可,场景加载完成后点击空格就会打印Mesh丢失模型的具体路径。
2023-05-25 17:26:29
755
2
原创 Unity调用系统选择文件功能实现文件的选择及另存为
File类在copy文件时文件地址绝对不能有一点错误!在定义结构体时为了尽量满足超长路径,所以将openFileName.file的长度尽可能设定得更长。但是当你选择文件之后返回的地址并不合规,他会将不足设定长度的地址补足位数,补足的位数值为空导致打印出的地址和真实地址一模一样,所以我对其空字符做了删减处理。
2023-04-27 17:36:04
1867
原创 Unity指定使用某些屏幕(多屏开发)
在一些展示场景中我们会遇到有多个画面需要展示在多个屏幕中的时候,此时很有可能运行我们的项目的设备上还运行着其他展示程序。如果仅仅是多屏展示,那么很有可能在我们的程序打开时抢占了原本正在运行的程序的屏幕。所以我们需要程序能在多屏展示中由我们自己去选择哪些屏幕显示哪些内容,例如三个屏幕,有两个屏幕是展示我们自己的程序,另外一个展示其他程序。这种情况下很有可能是122、112或者121,所以通过修改配置文件手动控制多屏程序使用的屏幕就显得很方便了。
2023-02-14 15:45:14
4054
6
原创 PC&Android通用移动、放大、缩小
1.PC&Android适用同样的移动代码首先PC端的点击事件在Android端也同样适用,所以我们可以不用再写一次移动的代码。然后因为Android端是通过手指位置和数量进行判断的,如果直接使用PC端的移动代码会有些小bug。所以我们在结合两者使用的时候需要对移动操作的代码加以限制,让只用一根手指触碰的时候才会触发移动的代码,如果出现两根或多根手指则肯定是在Android设备上运行,此时放大缩小就只能使用Android特定的代码了。2.通用代码如下using System.Colle
2022-05-09 09:35:38
391
原创 2D地图的拖动与缩放
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;public class MapControl : MonoBehaviour, IPointerEnterHandler, IPointerDownHandler, IDragHandler, IPointerUpHandler{ private Vector3 targe.
2022-04-24 14:28:18
862
原创 Unity通过Url抓取网络图片
先上最开始我犯错的版本IEnumerator DownSprites(string url, Sprite sp) { using (UnityWebRequest request = new UnityWebRequest(url)) { DownloadHandlerTexture texDl = new DownloadHandlerTexture(true); request.downloadHandler
2022-04-12 14:30:35
3635
原创 Unity 编辑器扩展之 Attribute
Unity内置属性[Attribute]是一种类似修饰功能的标签。可以对OnSceneGUI,InspectorGUI,MenuGUI,WindowGUI等实现各种各样的GUI扩展。用户只要添加上特性标签,就能够自由的使用这些扩展功能。下面列出一些常用的标签:HideInInspector隐藏属性在Inspector面板上的显示。在继承了MonoBehaviour的类中,用public修饰的变量如果可以被序列化,那么就会在Inspector中显示,使用HideInInspector可以让他不显示。
2022-03-31 15:41:19
6313
原创 Unity——协程的基本用法
using UnityEngine;using System.Collections; //测试脚本,随意挂载,运行即可打印public class Coroutine : MonoBehaviour { void Start() { //StartCoroutine(Test()); StartCoroutine(TestStartCoroutine()); } IEnumerator TestNull() {..
2022-03-31 09:40:12
2234
2
原创 Data——PlayerPrefs
1.基本方法using System.Collections;using System.Collections.Generic;using UnityEngine;public class lesson1 : MonoBehaviour{ // Start is called before the first frame update void Start() { #region PlayerPrefs是什么 //是Unity提供的可以
2021-08-24 09:50:50
201
原创 Unity——入门
1.生命周期函数using System.Collections;using System.Collections.Generic;using UnityEngine;public class lesson1 : MonoBehaviour{ #region 了解帧的概念 //Unity 底层已经帮助我们做好了死循环 //我们需要学习Unity的生命周期函数 //利用它做好的规则来执行我们的游戏逻辑就行了 #endregion #region
2021-08-23 05:10:40
1493
2
原创 C#——进阶
1.ArrayList知识点using System;using System.Collections;namespace lesson1_ArrayList知识点{ class Program { class Test { } static void Main(string[] args) { Console.WriteLine("ArrayLis
2021-08-19 04:57:15
1923
原创 C#——核心
1.类和对象using System;namespace lesson1_类和对象{ #region 面对对象概念回顾 //万物皆对象 //用程序来抽象(形容)对象 //用面对对象思想来编程 #endregion #region 什么是类 //基本概念 //具有相同特征 //具有相同的行为 //一类事物的抽象 //类是对象的模板 //可以通过类创建出对象 //类的关键词 //cla
2021-08-10 16:51:25
2108
原创 C#——基础
1.枚举using System;namespace lesson1_枚举{ enum E_MonsterType { Normal,//0 Boos,//1 } enum E_PlayerType { main, other, } #region 基本概念 #region 1.枚举是什么 //枚举是一个特别的存在 //它是一个被命名的整形常量的集合
2021-08-07 02:51:59
3396
原创 从头开始——C#入门
using System;namespace lesson8_类型转换_显示转换_{ class Program { static void Main(string[] args) { Console.WriteLine("类型转换-显示转换"); #region 括号强转 //作用 一般情况下 将高精度的类型强制转换位低精度 //语法:变量类型 变量名 =(...
2021-08-07 02:21:36
816
DynamicBone 1.3.2
2022-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人