光电工程东莞网站建设asp古典网站源码

张小明 2026/1/10 14:29:03
光电工程东莞网站建设,asp古典网站源码,郑州网站建设 服务创业,青海公路建设服务网站我们平时是自己再创景里的Canvas上创建一个物体 物体上有Image组件 然后把美术给的Sprite拖进去 现在这个编辑器工具 直接批量选中 一键再场景生成好物体 上面挂载了相应精灵 以下脚本赋值以后 放到 Editor文件夹下 再工具栏的tools下面就有了 using UnityEditor; using UnityE…我们平时是自己再创景里的Canvas上创建一个物体 物体上有Image组件 然后把美术给的Sprite拖进去现在这个编辑器工具 直接批量选中 一键再场景生成好物体 上面挂载了相应精灵以下脚本赋值以后 放到 Editor文件夹下 再工具栏的tools下面就有了using UnityEditor;using UnityEditor.SceneManagement;using UnityEngine;using UnityEngine.SceneManagement;using UnityEngine.UI;public class Sprite2ImageTool:Editor{// 菜单入口Assets右键 Tools顶部[MenuItem(Assets/Sprite To UI Image,false,100)][MenuItem(Tools/UI/Sprite To UI Image,false,100)]staticvoidCreateImageFromSelectedSprite(){// 关键修改兼容所有选中场景 // 1. 获取所有选中的对象不限制类型Object[]selectedObjectsSelection.objects;if(selectedObjects.Length0){EditorUtility.DisplayDialog(提示,请先选中Project面板中的Sprite资源,确定);return;}// 2. 手动筛选出Sprite类型的对象兼容图集/Texture嵌套SpriteSystem.Collections.Generic.ListSpriteselectedSpritesnew System.Collections.Generic.ListSprite();foreach(Object obj in selectedObjects){// 情况1直接选中Spriteif(obj is Sprite sprite){selectedSprites.Add(sprite);}// 情况2选中的是Texture但该Texture导入为Sprite常见于单张Sprite图elseif(obj is Texture2D tex){Sprite texSpriteAssetDatabase.LoadAssetAtPathSprite(AssetDatabase.GetAssetPath(tex));if(texSprite!null){selectedSprites.Add(texSprite);}}}// 3. 仍无Sprite则提示并打印调试信息if(selectedSprites.Count0){string tip未识别到Sprite\n选中的对象类型\n;foreach(Object obj in selectedObjects){tip$- {obj.name} : {obj.GetType().Name}\n;}Debug.LogError(tip);// 控制台打印详细信息EditorUtility.DisplayDialog(提示,tip,确定);return;}// 以下逻辑和之前一致 // 查找/创建CanvasCanvas canvasFindOrCreateCanvasInEditMode();if(canvasnull){EditorUtility.DisplayDialog(错误,创建Canvas失败,确定);return;}// 批量创建ImageintsuccessCount0;foreach(Sprite sprite in selectedSprites){if(!CheckSpriteForUI(sprite)){EditorUtility.DisplayDialog(提示,$Sprite「{sprite.name}」导入设置错误\n请将Texture Type改为Sprite (2D and UI),确定);continue;}CreateSingleImage(sprite,canvas);successCount;}EditorSceneManager.MarkSceneDirty(canvas.gameObject.scene);EditorUtility.DisplayDialog(完成,$成功创建 {successCount} 个UI Image,确定);}// 菜单显隐验证只要选中对象就显示放宽限制[MenuItem(Assets/Sprite To UI Image,true)]staticboolValidateCreateImage(){returnSelection.objects.Length0;// 只要有选中对象就显示菜单}/// summary/// 查找/自动创建Canvas/// /summarystaticCanvasFindOrCreateCanvasInEditMode(){// 查找已有Canvasfor(inti0;iSceneManager.sceneCount;i){Scene sceneSceneManager.GetSceneAt(i);if(!scene.isLoaded)continue;GameObject[]rootObjsscene.GetRootGameObjects();foreach(GameObject rootObj in rootObjs){Canvas canvassrootObj.GetComponentInChildrenCanvas(true);if(canvass!null)returncanvass;}}// 自动创建CanvasGameObject canvasGOnewGameObject(Canvas,typeof(Canvas),typeof(CanvasScaler),typeof(GraphicRaycaster));Canvas canvascanvasGO.GetComponentCanvas();canvas.renderModeRenderMode.ScreenSpaceOverlay;EditorUtility.SetDirty(canvasGO);returncanvas;}/// summary/// 校验Sprite导入设置/// /summarystaticboolCheckSpriteForUI(Sprite sprite){string spritePathAssetDatabase.GetAssetPath(sprite);TextureImporter importerAssetImporter.GetAtPath(spritePath)as TextureImporter;if(importernull)returnfalse;returnimporter.textureTypeTextureImporterType.Sprite;}/// summary/// 创建单个Image匹配Sprite尺寸/// /summarystaticvoidCreateSingleImage(Sprite sprite,Canvas parentCanvas){GameObject imageGOnewGameObject(sprite.name,typeof(RectTransform),typeof(Image));RectTransform imageRectimageGO.GetComponentRectTransform();imageGO.transform.SetParent(parentCanvas.transform,false);imageRect.sizeDeltanewVector2(sprite.rect.width,sprite.rect.height);imageRect.anchoredPositionVector2.zero;imageRect.anchorMinnewVector2(0.5f,0.5f);imageRect.anchorMaxnewVector2(0.5f,0.5f);Image imageCompimageGO.GetComponentImage();imageComp.spritesprite;imageComp.preserveAspecttrue;EditorUtility.SetDirty(imageGO);}}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

世纪佳缘网站模板网站产品分类设计

Samba系统配置与管理全解析 1. Samba系统文件位置 Samba默认的构建和安装过程中,文件存放位置曾让不少用户感到困扰。20世纪90年代初选定的默认安装目录是 /usr/local/samba ,这在众多开源软件安装到 /usr/local 子目录的背景下,是个合理的选择。然而,一些UNIX厂商,尤…

张小明 2025/12/30 22:29:19 网站建设

福州网站制作公司营销制作手游需要学什么软件

自己手撸一个AI智能体—跟创业大佬对话 前言 **智能体(Agent)**已经成为创业者和技术人绕不开的话题。这样不仅能锻炼技术功底,还能在思维层面获得启发。 **AI智能体(AI Agent)**是一类能够感知环境、做出决策并执行行…

张小明 2026/1/8 2:14:16 网站建设

湖北网站设计制作开发网站开发需要哪些流程

LobeChat可观测性体系建设 在AI应用快速落地的今天,一个看似简单的“聊天窗口”背后,往往隐藏着复杂的系统交互:用户输入一句话,可能触发模型调用、插件执行、外部API访问、多轮上下文管理等一系列操作。当问题发生时——比如响应…

张小明 2026/1/2 1:56:08 网站建设

国内专业的室内设计网站建设企业网站电话是多少

降低AI使用门槛:anything-llm图形化操作界面深度体验 在企业知识管理日益复杂的今天,一个常见的痛点是:员工每天花数小时翻找合同模板、报销流程或产品手册,而这些信息明明就存在公司共享盘里——只是“看不见、搜不到、用不上”…

张小明 2025/12/30 5:17:34 网站建设

兰州建设工程信息网站网站规划建设前期规划方案

国内共享单车数据集完整指南:免费获取交通数据分析资源 【免费下载链接】国内某共享单车数据集 这是一个专门为交通行业学生设计的国内共享单车数据集,包含两个CSV文件,分别记录共享单车的行程数据和车辆信息。虽然数据集可能不具备高科研价值…

张小明 2025/12/25 23:48:57 网站建设

洛阳霞光做网站的公司网站 建设 欢迎你

授权简介前面我们了解的用户登录认证,不管是用户密码还是图像验证码都是为了让系统知道你是谁,你可以在这个系统中做什么事情,这个情况就是叫做授权。其实也就是你是否能够控制访问某个url路径。我们在应用系统中,如果想要控制用户…

张小明 2025/12/25 22:49:17 网站建设