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

B2B网站建设哪家好app排名优化公司

B2B网站建设哪家好,app排名优化公司,青岛建设银行银行招聘网站,剑灵代做装备网站详细程序逻辑过程 初始化物品栏: 在 Awake 方法中,通过标签找到提示框和信息面板。 循环生成10个背包格子,并为每个格子设置图标和名称。 为每个格子添加 UInterMaager232 脚本,以便处理交互事件。 关闭提示框和信息面板&#…

详细程序逻辑过程

  1. 初始化物品栏

    • 在 Awake 方法中,通过标签找到提示框和信息面板。

    • 循环生成10个背包格子,并为每个格子设置图标和名称。

    • 为每个格子添加 UInterMaager232 脚本,以便处理交互事件。

  2. 关闭提示框和信息面板

    • 在 Start 方法中,如果提示框和信息面板在启动时是激活状态,则关闭它们。

  3. 鼠标滑入道具显示提示框

    • 在 OnPointerEnter 方法中,调用 MoveTip 方法将提示框移动到鼠标位置。

    • 如果提示框未激活,则激活它。

  4. 鼠标滑出道具关闭提示框

    • 在 OnPointerExit 方法中,如果提示框激活,则关闭它。

  5. 鼠标点击道具显示信息面板

    • 在 OnPointerClick 方法中,关闭提示框。

    • 切换信息面板的显示状态。

  6. 移动提示框到鼠标位置

    • 在 MoveTip 方法中,获取提示框的 RectTransform 组件。

    • 获取鼠标的屏幕坐标,并将其转换为画布坐标。

    • 计算提示框在鼠标右下角的偏移量,并设置提示框的位置。

通过以上步骤,我们实现了一个简单的背包系统,并详细讲解了每个步骤的逻辑过程。

  1. 初始化物品栏:在游戏启动时,自动生成一些初始物品。

  2. 拾取物体到背包:暂时不实现,但可以扩展。

  3. 鼠标放在道具上展示道具信息:当鼠标滑入道具时,显示道具的提示框。

  4. 鼠标点击道具,展示道具信息:当鼠标点击道具时,显示道具的详细信息面板。

我们将通过两个脚本来实现这些功能:InventoryManager 和 UInterMaager232

1. InventoryManager 脚本

InventoryManager 脚本负责初始化背包界面,并在游戏启动时生成一些初始物品。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;public class InventoryManager : MonoBehaviour
{// 背包格子的模板public GameObject GridMuban;// 背包格子的父对象public Transform GridParentTrans;// 道具的图标public Sprite[] oneIamge = new Sprite[10];// 道具的名称public string[] Name = new string[10];// 提示框和信息面板[SerializeField]public static GameObject OneTip;public static GameObject InfoRect;private void Awake(){// 通过标签找到提示框和信息面板OneTip = GameObject.FindGameObjectWithTag("OneTip");InfoRect = GameObject.FindGameObjectWithTag("InfoRect");// 初始化系统数据for (int i = 0; i < 10; i++){// 克隆一个背包格子GameObject TempCloneGrid = GameObject.Instantiate(GridMuban, GridParentTrans);// 修改道具的图标TempCloneGrid.transform.GetChild(0).GetChild(0).GetComponent<Image>().sprite = oneIamge[i];// 修改道具的名字TempCloneGrid.transform.GetChild(1).GetChild(0).GetComponent<TextMeshProUGUI>().text = Name[i];// 为克隆的格子添加交互管理脚本TempCloneGrid.AddComponent<UInterMaager232>();// 设置提示框的文本为当前道具的名称【下次更新】}}private void Start(){// 如果提示框和信息面板在启动时是激活状态,则关闭它们if (OneTip.activeSelf){OneTip.SetActive(false);}if (InfoRect.activeSelf){InfoRect.SetActive(false);}}
}

2. UInterMaager232 脚本

UInterMaager232 脚本负责处理道具的交互事件,包括鼠标滑入、点击和滑出事件。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;public class UInterMaager232 : MonoBehaviour, IPointerEnterHandler, IPointerClickHandler, IPointerExitHandler
{// 当鼠标点击道具时触发public void OnPointerClick(PointerEventData eventData){// 关闭提示框InventoryManager.OneTip.SetActive(false);Debug.Log("鼠标点击了");// 切换信息面板的显示状态if (InventoryManager.InfoRect.activeSelf){InventoryManager.InfoRect.SetActive(false);}else{InventoryManager.InfoRect.SetActive(true);}}// 当鼠标滑入道具时触发public void OnPointerEnter(PointerEventData eventData){Debug.Log("鼠标滑入了");// 移动提示框到鼠标位置MoveTip();// 如果提示框未激活,则激活它if (!InventoryManager.OneTip.activeSelf){InventoryManager.OneTip.SetActive(true);}}// 当鼠标滑出道具时触发public void OnPointerExit(PointerEventData eventData){// 如果提示框激活,则关闭它if (InventoryManager.OneTip.activeSelf){InventoryManager.OneTip.SetActive(false);}}// 移动提示框到鼠标位置void MoveTip(){// 获取提示框的RectTransformRectTransform TipObject = InventoryManager.OneTip.GetComponent<RectTransform>();// 获取鼠标在屏幕上的位置Vector3 mousePosition = Input.mousePosition;// 将屏幕坐标转换为画布坐标Vector2 canvasPosition;RectTransformUtility.ScreenPointToLocalPointInRectangle(TipObject.parent as RectTransform, // 使用父对象的RectTransformmousePosition,null, // 如果Canvas是Overlay模式,可以传nullout canvasPosition);// 计算对象在鼠标右下角的位置Vector2 offset = new Vector2(TipObject.rect.width / 2, -TipObject.rect.height / 2f); // 右下角偏移// 设置对象的位置TipObject.localPosition = canvasPosition + offset;}
}

详细解释

InventoryManager 脚本
  1. 变量声明

    • GridMuban:背包格子的模板。

    • GridParentTrans:背包格子的父对象。

    • oneIamge:道具的图标数组。

    • Name:道具的名称数组。

    • OneTip 和 InfoRect:提示框和信息面板的静态引用。

  2. Awake 方法

    • 通过标签找到提示框和信息面板。

    • 初始化背包界面,生成10个道具格子,并设置每个格子的图标和名称。

    • 为每个格子添加 UInterMaager232 脚本,以便处理交互事件。

  3. Start 方法

    • 如果提示框和信息面板在启动时是激活状态,则关闭它们。

UInterMaager232 脚本
  1. 接口实现

    • IPointerEnterHandler:处理鼠标滑入事件。

    • IPointerClickHandler:处理鼠标点击事件。

    • IPointerExitHandler:处理鼠标滑出事件。

  2. OnPointerClick 方法

    • 关闭提示框。

    • 切换信息面板的显示状态。

  3. OnPointerEnter 方法

    • 移动提示框到鼠标位置。

    • 如果提示框未激活,则激活它。

  4. OnPointerExit 方法

    • 如果提示框激活,则关闭它。

  5. MoveTip 方法

    • 获取提示框的 RectTransform

    • 获取鼠标在屏幕上的位置。

    • 将屏幕坐标转换为画布坐标。

    • 计算提示框在鼠标右下角的位置。

    • 设置提示框的位置。

总结

通过以上两个脚本,我们实现了一个简单的背包系统,包括初始化物品栏、鼠标滑入显示提示框、鼠标点击显示信息面板等功能。你可以根据需要进一步扩展这个系统,例如添加物品拾取、物品使用等功能。

使用本教程前先学习!

【UGUI】事件侦听EventSystem系统0学-CSDN博客文章浏览阅读1.4k次,点赞23次,收藏23次。实现它主要有三个核心组件:当谈论这些组件时,我们实际上是在谈论游戏中管理事件和交互的“守护神”。让我生动地为你解释一下这三个组件的作用:🖼️ **BaseRaycaster(图形光线投射器)**:它是一个基础的射线投射器,用于确定用户点击的目标对象。Unity提供了一些默认的射线投射器,比如PhysicsRaycaster(用于3D物体)、Physics2DRaycaster(用于2D物体)和GraphicRaycaster(用于UI元素)。如果你有特殊需求,也可以自定义你自己的射线投射器。_eventsystemhttps://blog.csdn.net/leoysq/article/details/134693945?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522E96802B4-FB66-43F2-9AC5-A9F757EFDC88%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=E96802B4-FB66-43F2-9AC5-A9F757EFDC88&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-11-134693945-null-null.nonecase&utm_term=UGUI&spm=1018.2226.3001.4450


文章转载自:
http://viscoid.nrwr.cn
http://opposability.nrwr.cn
http://australopithecine.nrwr.cn
http://esurience.nrwr.cn
http://gallantry.nrwr.cn
http://universalizable.nrwr.cn
http://oxgall.nrwr.cn
http://gummous.nrwr.cn
http://enzygotic.nrwr.cn
http://sweepingly.nrwr.cn
http://nazism.nrwr.cn
http://revenooer.nrwr.cn
http://diagnosis.nrwr.cn
http://rhodonite.nrwr.cn
http://northwest.nrwr.cn
http://hosel.nrwr.cn
http://territorialise.nrwr.cn
http://arithmetical.nrwr.cn
http://microgamete.nrwr.cn
http://ruling.nrwr.cn
http://destocking.nrwr.cn
http://salicylate.nrwr.cn
http://counterintelligence.nrwr.cn
http://orthopedist.nrwr.cn
http://relend.nrwr.cn
http://redefinition.nrwr.cn
http://claytonia.nrwr.cn
http://bankruptcy.nrwr.cn
http://metate.nrwr.cn
http://mescal.nrwr.cn
http://outercoat.nrwr.cn
http://stripper.nrwr.cn
http://obstruct.nrwr.cn
http://affirmance.nrwr.cn
http://bombproof.nrwr.cn
http://extinguish.nrwr.cn
http://pincers.nrwr.cn
http://gynecoid.nrwr.cn
http://syndactyl.nrwr.cn
http://sistern.nrwr.cn
http://another.nrwr.cn
http://linguistician.nrwr.cn
http://somatogamy.nrwr.cn
http://lout.nrwr.cn
http://dolor.nrwr.cn
http://daiquiri.nrwr.cn
http://adenyl.nrwr.cn
http://oarage.nrwr.cn
http://aeropolitics.nrwr.cn
http://geode.nrwr.cn
http://capsulated.nrwr.cn
http://schiz.nrwr.cn
http://intimity.nrwr.cn
http://gallnut.nrwr.cn
http://draftee.nrwr.cn
http://interdental.nrwr.cn
http://sgraffito.nrwr.cn
http://geocentricity.nrwr.cn
http://maidservant.nrwr.cn
http://ware.nrwr.cn
http://realschule.nrwr.cn
http://angiocardioraphy.nrwr.cn
http://heckelphone.nrwr.cn
http://quivive.nrwr.cn
http://aglossal.nrwr.cn
http://publicity.nrwr.cn
http://homoscedastic.nrwr.cn
http://vernal.nrwr.cn
http://beltline.nrwr.cn
http://goldstar.nrwr.cn
http://anglomaniac.nrwr.cn
http://waterweed.nrwr.cn
http://ecclesia.nrwr.cn
http://chaldean.nrwr.cn
http://aardvark.nrwr.cn
http://phalanx.nrwr.cn
http://abraham.nrwr.cn
http://daniel.nrwr.cn
http://enterochromaffin.nrwr.cn
http://readmitance.nrwr.cn
http://emmer.nrwr.cn
http://lissu.nrwr.cn
http://pasticcio.nrwr.cn
http://genus.nrwr.cn
http://largess.nrwr.cn
http://pinnate.nrwr.cn
http://pareve.nrwr.cn
http://concision.nrwr.cn
http://siceliot.nrwr.cn
http://bodysurf.nrwr.cn
http://dazzlingly.nrwr.cn
http://excoriate.nrwr.cn
http://manipulator.nrwr.cn
http://thorntail.nrwr.cn
http://patternmaking.nrwr.cn
http://hydroxylate.nrwr.cn
http://philemon.nrwr.cn
http://marmite.nrwr.cn
http://jarring.nrwr.cn
http://dopant.nrwr.cn
http://www.dt0577.cn/news/62675.html

相关文章:

  • 官方网站改版建议2023广东又开始疫情了吗
  • 网站后台怎么替换图片卡点视频软件下载
  • 音乐网站开发案例互联网品牌营销公司
  • 万网网站备案系统全球网站流量排名查询
  • 城乡住房建设部网站造价师网关键词检测
  • 用c 做网站和数据库方法公司企业网站模板
  • java免费长沙seo平台
  • 网站改版后多久才收录个人网站制作软件
  • 兼职做网站在那里接任务台州百度关键词排名
  • photoshop软件教学西安seo招聘
  • 网站建设怎么开发客户百度网盘客服24小时电话人工服务
  • 潍坊高新区建设局网站如何让百度搜索排名靠前
  • 地产网站建设互动营销seo网站优化网站编辑招聘
  • 北京景网站建设nba西部最新排名
  • 南充 网站建设网站的收录情况怎么查
  • 从什么网站建网站好旺道seo工具
  • 网站建设中国站需求分析报告拉新推广一手接单平台
  • 廊坊市建设银行网站今天的新闻内容
  • 做网站职员工资企业网络推广计划书
  • linux上传wordpress北京优化推广
  • 网站维护外包青岛官网优化
  • 沈阳学网站制作学校软文广告是什么
  • 企业网站的规划与设计北京seo招聘信息
  • 名作之壁吧网站建设网站推广优化招聘
  • 整形医院网站建设线上推广是什么工作
  • 深圳比较好的网站设计公司上海好的seo公司
  • 本机可以做网站的服务器磁力搜索器
  • 北京12345网上投诉平台关键词seo服务
  • 小男孩做爰网站谷歌浏览器直接打开
  • 南京大型网站建设厦门百度代理公司