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

unity 点击事件

目录

点击按钮,显示图片功能教程

第1步添加ui button,添加ui RawImage

第2步 添加脚本:

第3步,把脚本拖拽到button,点击button,设置脚本的变量,

GameObject添加 Component组件


点击按钮,显示图片功能教程

第1步添加ui button,添加ui RawImage

第2步 添加脚本:

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.UI;public class LoadImageByString : MonoBehaviour
{public RawImage showImage;public Button loadImage;private string imgPath;private string imageStr;// Start is called before the first frame updateprivate void Awake(){Debug.Log("醒了");imgPath = @"C:\Users\Administrator\Pictures\mm\pics\005953_4.jpg";Debug.Log(imgPath);imageStr = SetImageToString(imgPath);}void Start(){Debug.Log("醒了");imgPath = @"C:\Users\Administrator\Pictures\mm\pics\005953_4.jpg";Debug.Log(imgPath);imageStr = SetImageToString(imgPath);//  loadImage = gameObject.GetComponent<Button>();//  showImage = gameObject.GetComponent<RawImage>();Debug.Log("开始");// showImage.texture = GetTextureByString(imageStr);loadImage.onClick.AddListener(() =>{showImage.texture = GetTextureByString(imageStr);});}/// <summary>/// 将图片转化为字符串/// </summary>private string SetImageToString(string imgPath){Debug.Log("将图片转化为字符串");FileStream fs = new FileStream(imgPath, FileMode.Open);byte[] imgByte = new byte[fs.Length];fs.Read(imgByte, 0, imgByte.Length);fs.Close();return Convert.ToBase64String(imgByte);}/// <summary>/// 将字符串转换为纹理/// </summary>private Texture2D GetTextureByString(string textureStr){Debug.Log("将字符串转换为纹理");Texture2D tex = new Texture2D(10, 10);byte[] arr = Convert.FromBase64String(textureStr);tex.LoadImage(arr);tex.Apply();return tex;}public void onclick(){Debug.Log("按下了");}
}

第3步,把脚本拖拽到button,点击button,设置脚本的变量,

运行,点击button,看RawImage显示图片,至此ok。 

左边选择场景,canvas,选择button,正常情况下,onclick会关联事件函数。

但是从网上开源项目改的,就没有。

GameObject添加 Component组件

相关文章:

unity 点击事件

目录 点击按钮&#xff0c;显示图片功能教程 第1步添加ui button&#xff0c;添加ui RawImage 第2步 添加脚本&#xff1a; 第3步&#xff0c;把脚本拖拽到button&#xff0c;点击button&#xff0c;设置脚本的变量&#xff0c; GameObject添加 Component组件 点击按钮&am…...

idea自带的HttpClient使用

1. 全局变量配置 {"local":{"baseUrl": "http://localhost:9001/"},"test": {"baseUrl": "http://localhost:9002/"} }2. 登录并将结果设置到全局变量 PostMapping("/login")public JSONObject login(H…...

vue3-应用规模化-路由和状态

客户端 vs. 服务端路由 服务端路由指的是服务器根据用户访问的 URL 路径返回不同的响应结果。当我们在一个传统的服务端渲染的 web 应用中点击一个链接时&#xff0c;浏览器会从服务端获得全新的 HTML&#xff0c;然后重新加载整个页面。 然而&#xff0c;在单页面应用中&…...

网络安全检查表

《网络攻击检查表》 1.应用安全漏洞 2.弱口令&#xff0c;默认口令 3.服务器互联网暴露 4.操作系统&#xff0c;中间件安全漏洞 5.研发服务器&#xff0c;邮件服务器等安全检查...

SSM框架,Maven的学习(下)

依赖传递和依赖冲突 依赖传递指的是当一个模块或库 A 依赖于另一个模块或库 B&#xff0c;而 B 又依赖于模块或库 C&#xff0c;那么 A 会间接依赖于 C。这种依赖传递结构可以形成一个依赖树。当我们引入一个库或框架时&#xff0c;构建工具&#xff08;如 Maven、Gradle&…...

Vivado开发FPGA使用流程、教程 verilog(建立工程、编译文件到最终烧录的全流程)

目录 一、概述 二、工程创建 三、添加设计文件并编译 四、线上仿真 五、布局布线 六、生成比特流文件 七、烧录 一、概述 vivado开发FPGA流程分为创建工程、添加设计文件、编译、线上仿真、布局布线&#xff08;添加约束文件&#xff09;、生成比特流文件、烧录等步骤&a…...

C语言之动态内存管理

目录 1. 为什么要有动态内存分配2. malloc和freemallocfree 3. calloc和realloccallocrealloc 4. 常见的动态内存的错误对NULL直接的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放一块动态开辟内存的一部分对同一块动态内存多次释放动态开辟内存…...

【AIGC风格prompt深度指南】掌握绘画风格关键词,实现艺术模仿的革新实践

[小提琴家]ASCII风格&#xff0c;点&#xff0c;爆炸&#xff0c;光&#xff0c;射线&#xff0c;计算机代码 由冰和水制成的和平标志]非常详细&#xff0c;寒冷&#xff0c;冰冻&#xff0c;大气&#xff0c;照片逼真&#xff0c;流动&#xff0c;16K 胡迪尼模拟火和水&#x…...

Qt安装配置教程windows版(包括:Qt5.8.0版本,Qt5.12,Qt5.14版本下载安装教程)(亲测可行)

目录 Qt5.8.0版本安装教程Qt5.8.0版本下载安装 Qt5.12.2版本安装教程下载安装 Qt 5.14.2安装教程下载安装和创建项目 参考视频 QT为嵌入式系统提供了大量的库和可重用组件。 WPS Office&#xff0c;咪咕音乐&#xff0c;Linux桌面环境等都是QT开发的。 Qt5.8.0版本安装教程 Q…...

SpringCloud-Ribbon实现负载均衡

在微服务架构中&#xff0c;负载均衡是一项关键的技术&#xff0c;它可以确保各个服务节点间的负载分布均匀&#xff0c;提高整个系统的稳定性和性能。Spring Cloud 中的 Ribbon 就是一种负载均衡的解决方案&#xff0c;本文将深入探讨 Ribbon 的原理和在微服务中的应用。 一、…...

Qt网络编程-TCP与UDP

网络基础 TCP与UDP基础 关于TCP与UDP的基础这里就不过多介绍了&#xff0c;具体可以查看对应百度百科介绍&#xff1a; TCP&#xff08;传输控制协议&#xff09;_百度百科 (baidu.com) UDP_百度百科 (baidu.com) 需要知道这两者的区别&#xff1a; 可靠性&#xff1a; TC…...

Promise 常见题目

微信搜索“好朋友乐平”关注公众号。 1. Promise 对象池 请你编写一个异步函数 promisePool &#xff0c;它接收一个异步函数数组 functions 和 池限制 n。它应该返回一个 promise 对象&#xff0c;当所有输入函数都执行完毕后&#xff0c;promise 对象就执行完毕。 池限制 定…...

五大架构风格之五:仓库架构风格

仓库架构风格&#xff1a; 仓库风格架构&#xff08;Repository Architecture Style&#xff09;是一种软件架构模式&#xff0c;它主要用于处理系统中的持久化数据存储和检索。在这一风格中&#xff0c;仓库&#xff08;Repository&#xff09;作为应用程序与数据库或其他持久…...

探索设计模式的魅力:外观模式简化术-隐藏复杂性,提供简洁接口的设计秘密

设计模式专栏&#xff1a;http://t.csdnimg.cn/U54zu 目录 引言&#xff1a;探索简化之路 一、起源和演变 二、场景案例分析 2.1 不用模式实现&#xff1a;用一坨坨代码实现 2.2 问题 2.3 外观模式重构代码 定义 界面 接口 利用外观模式解决问题步骤 外观模式结构和说明 重构…...

java之Maven

1. maven Maven是管理和构建java项目的工具 项目依赖资源(jar包)的管理,避免版本冲突统一项目结构项目构建&#xff0c;标准跨平台(Linux,window,MacOS)的自动化项目管理 2.maven依赖仓库 2.maven安装 maven安装视频教程 3. IDEA集成Maven 4. maven的依赖范围 5. maven生命…...

Elasticsearch(四)

是这样的前面的几篇笔记&#xff0c;感觉对我没有形成知识体系&#xff0c;感觉乱糟糟的&#xff0c;只是大概的了解了一些基础知识&#xff0c;仅此而已&#xff0c;而且对于这技术栈的学习也是为了在后面的java开发使用&#xff0c;但是这里的API学的感觉有点乱&#xff01;然…...

蓝桥杯-X图形

问题描述 给定一个字母矩阵。一个 X 图形由中心点和由中心点向四个 45度斜线方向引出的直线段组成&#xff0c;四条线段的长度相同&#xff0c;而且四条线段上的字母和中心点的字母相同。 一个 X 图形可以使用三个整数 r,c,L 来描述&#xff0c;其中 r,c 表示中心点位于第 r 行…...

2. Maven 继承与聚合

目录 2. 2.1 继承 2.2继承关系 2.2.1 思路分析 2.2.2 实现 2.1.2 版本锁定 2.1.2.1 场景 2.1.2.2 介绍 2.1.2.3 实现 2.1.2.4 属性配置 2.2 聚合 2.2.1 介绍 2.2.2 实现 2.3 继承与聚合对比 maven1&#xff1a;分模块设计开发 2. 在项目分模块开发之后啊&#x…...

如何把手机平板变为电脑的屏幕

文章目录 安装软件运行效果结尾 本文首发地址 https://h89.cn/archives/181.html 最新更新地址 https://gitee.com/chenjim/chenjimblog 闲置的手机平板、触屏音箱等&#xff0c;均可作为电脑的扩展屏&#xff0c;为电脑增加一块显示屏&#xff0c;本文介绍如何使用免费的软件s…...

Amazon Dynamo学习总结

目录 一、Amazon Dynamo的问世 二、Amazon Dynamo主要技术概要 三、数据划分算法 四、数据复制 五、版本控制 六、故障处理 七、成员和故障检测 一、Amazon Dynamo的问世 Amazon Dynamo是由亚马逊在2007年开发的一种高度可扩展和分布式的键值存储系统&#xff0c;旨在解…...

STM32CubeIDE实战指南:从代码编译到一键下载的完整流程解析

1. STM32CubeIDE开发环境概述 对于刚接触STM32开发的工程师来说&#xff0c;选择一款合适的集成开发环境(IDE)至关重要。STM32CubeIDE是ST官方推出的免费开发工具&#xff0c;它集成了代码编辑、编译、调试和下载功能于一体&#xff0c;特别适合新手快速上手。我在实际项目中使…...

Windows Defender终极移除指南:高效卸载13项核心服务完整教程

Windows Defender终极移除指南&#xff1a;高效卸载13项核心服务完整教程 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mirr…...

别再拷贝exe到NXBIN了!用批处理文件搞定NX二次开发外部exe的环境变量(附VS2015/NX12配置)

告别手动拷贝&#xff1a;用批处理智能管理NX二次开发环境变量 每次修改完NX二次开发的外部exe程序&#xff0c;都要手动拷贝到NXBIN目录&#xff1f;这种重复劳动不仅低效&#xff0c;还容易导致版本混乱。其实只需一个简单的批处理脚本&#xff0c;就能彻底解决环境变量配置问…...

量子控制中的动态校正门与SCQC几何方法

1. 量子控制中的噪声挑战与动态校正门在超导量子处理器上实现高保真度的量子门操作&#xff0c;最大的障碍来自环境噪声。这些噪声主要分为两类&#xff1a;失谐噪声&#xff08;δz&#xff09;和幅度噪声&#xff08;ϵ&#xff09;。失谐噪声源于量子比特频率的漂移&#xf…...

【最新v2.7.1 版本安装包】OpenClaw 小白入门必看,零基础无需命令零代码保姆级教学

OpenClaw v2.7.1 一键安装部署教程&#xff5c;可视化傻瓜式搭建 ✨适配系统&#xff1a;Windows10/11 64 位 ✨当前版本&#xff1a;v2.7.1 版本&#xff08;虾壳云版&#xff09; ✨安装包大小&#xff1a;58.7MB 【点击下载最新安装包】https://xiake.yun/api/download/…...

MedAgentBench:大语言模型在医学诊断中的动态评估与智能体构建实践

1. 项目概述&#xff1a;当大语言模型成为医学诊断的“实习生”最近在医学人工智能的圈子里&#xff0c;一个名为MedAgentBench的项目引起了我的注意。它来自斯坦福大学机器学习组&#xff0c;这个名字本身就自带光环。简单来说&#xff0c;这不是一个直接看病的AI&#xff0c;…...

开源容器镜像仓库cc-hub:从协议兼容到生产部署的完整实践指南

1. 项目概述&#xff1a;一个面向容器化应用的开源镜像仓库最近在整理团队内部的容器镜像管理方案时&#xff0c;我重新审视了开源镜像仓库这个领域。虽然市面上有 Harbor、Docker Registry 等成熟方案&#xff0c;但总有一些场景&#xff0c;比如轻量级内网部署、特定架构&…...

MPLAB代码配置器实战:图形化配置PIC/AVR单片机外设,提升开发效率

1. 项目概述&#xff1a;为什么你需要关注MPLAB代码配置器如果你正在使用Microchip的PIC或AVR单片机&#xff0c;并且还在手动编写外设初始化代码、一遍遍翻阅数据手册核对寄存器位&#xff0c;那今天聊的这个工具&#xff0c;可能会让你有种“相见恨晚”的感觉。我说的就是MPL…...

Python Pydantic介绍(数据校验、自动类型转换、结构化数据建模、序列化JSON、配置管理)pydantic-settings、核心BaseModel、字段约束Field()、FastAPI

文章目录Python 数据校验神器&#xff1a;Pydantic 完全指南一、什么是 Pydantic二、Pydantic 能解决什么问题1&#xff09;数据校验&#xff08;Validation&#xff09;2&#xff09;自动类型转换&#xff08;Parsing&#xff09;3&#xff09;结构化数据建模4&#xff09;序列…...

OpenAgents开源框架:模块化AI智能体开发实战指南

1. 项目概述&#xff1a;一个面向未来的智能体开发框架最近在AI智能体这个圈子里&#xff0c;OpenAgents这个项目讨论度挺高的。简单来说&#xff0c;它不是一个单一的AI应用&#xff0c;而是一个旨在降低智能体开发门槛、加速智能体应用落地的开源框架。你可以把它想象成一个“…...