当前位置: 首页 > 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组件

相关文章:

  • upload-labs文件上传漏洞靶场
  • VTK 三维场景的基本要素(相机) vtkCamera
  • 知识图谱 多模态学习 2024 最新综述
  • nginx限制网段访问
  • 算法沉淀——哈希算法(leetcode真题剖析)
  • OpenGL-ES 学习(2)---- DepthTest
  • 【头歌·计组·自己动手画CPU】三、存储系统设计(HUST)(理论版) 【计算机硬件系统设计】
  • 3D裸眼技术行业研究:2026年市场投资规模为10.78亿元
  • 前端vite+vue3——自动化配置路由布局
  • LLM大模型相关问题汇总---包括问题与答案
  • BUGKU-WEB 矛盾
  • 书生浦语大模型实战营-课程笔记(2)
  • 数据结构:并查集讲解
  • Uipath 实现Excel 文件合并
  • 龟速乘法+快速幂,P2044 [NOI2012] 随机数生成器
  • 时间复杂度分析经典问题——最大子序列和
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 78. Subsets
  • Bytom交易说明(账户管理模式)
  • golang 发送GET和POST示例
  • java正则表式的使用
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • JS函数式编程 数组部分风格 ES6版
  • LeetCode18.四数之和 JavaScript
  • node.js
  • overflow: hidden IE7无效
  • Python连接Oracle
  • python学习笔记 - ThreadLocal
  • SQLServer插入数据
  • 半理解系列--Promise的进化史
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 简单易用的leetcode开发测试工具(npm)
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • Java数据解析之JSON
  • raise 与 raise ... from 的区别
  • !!java web学习笔记(一到五)
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #pragma once
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (3)(3.5) 遥测无线电区域条例
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (solr系列:一)使用tomcat部署solr服务
  • (阿里云万网)-域名注册购买实名流程
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (层次遍历)104. 二叉树的最大深度
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (九)信息融合方式简介
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (译) 函数式 JS #1:简介
  • (转)真正的中国天气api接口xml,json(求加精) ...