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

网站的设计路线网站建设需求表

网站的设计路线,网站建设需求表,赞友商城电商平台排名第几,深圳房地产最新消息【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ UI部分暂时完结#xff01;#xff01;#xff01; 本章节优化了UI中物品描述的显示效果#xff0c;技能描述的显示效果 并且可以批…【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址https://www.udemy.com/course/2d-rpg-alexdev/ UI部分暂时完结 本章节优化了UI中物品描述的显示效果技能描述的显示效果 并且可以批量化更改文本描述 主要通过更改继承实现 UI_ToolTip.cs 以下脚本都不同程度改变了继承 脚本功能概述 提示框位置动态调整 根据鼠标位置动态调整提示框的位置避免提示框超出屏幕边界。字体大小调整 根据提示框内文本的长度动态调整字体大小以适配长文本。 方法 1: AdjustPosition() 功能 动态调整提示框位置避免提示框超出屏幕边界。 关键逻辑 mousePosition.x xLimit 如果鼠标靠近屏幕右侧提示框会向左偏移-xOffset否则向右偏移xOffset。mousePosition.y yLimit 如果鼠标靠近屏幕顶部提示框会向下偏移-yOffset否则向上偏移yOffset。transform.position 更新提示框的位置为鼠标位置加偏移量的坐标。 方法 2: AdjustFontSize(TextMeshProUGUI _text) 功能 根据文本长度动态调整字体大小防止长文本溢出。关键逻辑 如果文本长度大于12个字符字体大小缩小至80%。使用TextMeshProUGUIUnity的高级文本组件处理文本渲染支持复杂的文本特效。 using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine;//2024.11.22 //szq public class UI_ToolTip : MonoBehaviour {[SerializeField] private float xLimit960;[SerializeField] private float yLimit540;[SerializeField] private float xOffset 150;[SerializeField] private float yOffset 150;public virtual void AdjustPosition(){Vector2 mousePosition Input.mousePosition;float newXoffset 0;float newYoffset 0;if (mousePosition.x xLimit)newXoffset -xOffset;elsenewXoffset xOffset;//鼠标靠近屏幕右侧时提示框向左偏移否则向右偏移if (mousePosition.y yLimit)newYoffset -yOffset;elsenewYoffset yOffset;//鼠标靠近屏幕顶部时提示框向下偏移否则向上偏移transform.position new Vector2(mousePosition.x newXoffset, mousePosition.y newYoffset);//更新提示框位置为鼠标位置偏移后的点}public void AdjustFontSize(TextMeshProUGUI _text)//根据文本长度调整字体大小{if(_text.text.Length 12 )_text.fontSize _text.fontSize * .8f;} }UI_SkillToolTip.cs using TMPro; using UnityEngine;public class UI_SkillToolTip : UI_ToolTip {[SerializeField] private TextMeshProUGUI skillText;//显示技能描述的文本组件[SerializeField] private TextMeshProUGUI skillName;[SerializeField] private TextMeshProUGUI skillCost;[SerializeField] private float defaultNameFontSize;public void ShowToolTip(string _skillDescprtion, string _skillName,int _price)//显示工具提示{skillName.text _skillName;skillText.text _skillDescprtion;skillCost.text Cost: _price;AdjustPosition();AdjustFontSize(skillName);gameObject.SetActive(true);}public virtual void HideToolTip() //隐藏工具提示{skillName.fontSize defaultNameFontSize;gameObject.SetActive(false);} }UI_ItemTooltip.cs using TMPro; using UnityEngine;//2024年11月14日 public class UI_ItemTooltip : UI_ToolTip {[SerializeField] private TextMeshProUGUI itemNameText; // 名称显示文本[SerializeField] private TextMeshProUGUI itemTypeText; // 类型显示文本[SerializeField] private TextMeshProUGUI itemDescription;// 描述显示文本[SerializeField] private int defaultFontSize32;public void ShowToolTIp(ItemData_Equipment item)//于显示工具提示,当玩家鼠标悬停在物品上时调用{if (item null)return;itemNameText.text item.itemName;itemTypeText.text item.equipmentType.ToString();itemDescription.text item.GetDescription();AdjustFontSize(itemNameText);AdjustPosition();gameObject.SetActive(true);}public void HideToolTip()//该方法用于隐藏工具提示当玩家离开物品时调用{itemNameText.fontSize defaultFontSize;gameObject.SetActive(false);} }UI_ItemSlot.cs using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;//物品数量的UI放在ItemSlot上 // p105添加了Grad Layout Group自动排列public class UI_ItemSlot : MonoBehaviour, IPointerDownHandler, IPointerEnterHandler, IPointerExitHandler//实现接口 {[SerializeField] protected Image itemImage;// 物品图标[SerializeField] protected TextMeshProUGUI itemText;// 显示堆叠数量的文本protected UI ui;public InventoryItem item;// 当前物品槽中所显示的物品protected virtual void Start(){ui GetComponentInParentUI();//获取UI组件}public void UpdataSlot(InventoryItem _newitem)//更新物品槽{item _newitem;// 传入的新物品itemImage.color Color.white;//获取了物品itemslot透明变成白色变得可见if (item ! null)//列表中的物体不是空的{itemImage.sprite item.data.icon;//获得图标if (item.stackSize 1){itemText.text item.stackSize.ToString();//显示堆叠数量}else{itemText.text ;//不显示数量}}}public void CleanUpSlot()清空物品槽{item null;// 将物品槽内物品设为空itemImage.sprite null;// 清除物品图标itemImage.color Color.clear;// 让物品槽变得不可见itemText.text ; // 清空堆叠数量的显示}public virtual void OnPointerDown(PointerEventData eventData)//拾取之后点击物品,改成virtual之后可以被子类重写{if (item null)//如果物品槽为空return;if (Input.GetKey(KeyCode.LeftControl)){Inventory.instance.RemoveItem(item.data);//移除物品return;}if (item.data.itemType ItemType.Equipment)// 如果点击的物品是装备类型Inventory.instance.EquipItem(item.data);//装备物品ui.itemToolTip.HideToolTip();//隐藏物品详情}public void OnPointerEnter(PointerEventData eventData){if(item null)return;ui.itemToolTip.ShowToolTIp(item.data as ItemData_Equipment);//显示物品详情}public void OnPointerExit(PointerEventData eventData){if (item null)return;ui.itemToolTip.HideToolTip();//隐藏物品详情} } ItemData_Equipment.cs using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine;//2024年11月1日 public enum EquipmentType {Weapon,Armor,Amulet,//护身符Flask//药水瓶 }[CreateAssetMenu(fileName New Item Data, menuName Data/Equipment)]//因为继承了ItemData所以在资源管理器中创建新的Item创建的物品自带这个脚本public class ItemData_Equipment : ItemData {public EquipmentType equipmentType;[Header(独特效果)]public float itemCoolDown;//物品冷却时间public ItemEffect[] itemEffects;//可以添加物品的效果[Header(主属性)]public int strength;//力量1点增加1攻击力和%1爆伤public int agility;//敏捷1点增加1%闪避和%1暴击率public int intelligence;//智力1点增加1法术强度和%1魔抗public int vitality;//活力1点增加3生命值[Header(攻击属性)]public int damage;public int critChance;//暴击率public int critPower;//暴击伤害,默认%150[Header(防守属性)]public int maxHealth;public int armor;//护甲public int evasion;//闪避public int magicResistance;//魔抗[Header(魔法属性)]public int fireDamage;public int iceDamage;public int lightningDamage;[Header(制作需求)]//Craft requirementspublic ListInventoryItem craftingMaterials;private int descriptionLength;public void Effect(Transform _enemyPositon)//执行物品效果{foreach (var item in itemEffects){item.ExcuteEffect(_enemyPositon);}}public void AddModifiers(){PlayerStats playerStats PlayerManager.instance.player.GetComponentPlayerStats();playerStats.strength.AddModifier(strength);playerStats.agility.AddModifier(agility);playerStats.intelligence.AddModifier(intelligence);playerStats.vitality.AddModifier(vitality);playerStats.damage.AddModifier(damage);playerStats.critChance.AddModifier(critChance);playerStats.critPower.AddModifier(critPower);playerStats.maxHealth.AddModifier(maxHealth);playerStats.armor.AddModifier(armor);playerStats.evasion.AddModifier(evasion);playerStats.magicResistance.AddModifier(magicResistance);playerStats.fireDamage.AddModifier(fireDamage);playerStats.iceDamage.AddModifier(iceDamage);playerStats.lightingDamage.AddModifier(lightningDamage);}public void RemoveModifiers(){PlayerStats playerStats PlayerManager.instance.player.GetComponentPlayerStats();playerStats.strength.RemoveModifier(strength);playerStats.agility.RemoveModifier(agility);playerStats.intelligence.RemoveModifier(intelligence);playerStats.vitality.RemoveModifier(vitality);playerStats.damage.RemoveModifier(damage);playerStats.critChance.RemoveModifier(critChance);playerStats.critPower.RemoveModifier(critPower);playerStats.maxHealth.RemoveModifier(maxHealth);playerStats.armor.RemoveModifier(armor);playerStats.evasion.RemoveModifier(evasion);playerStats.magicResistance.RemoveModifier(magicResistance);playerStats.fireDamage.RemoveModifier(fireDamage);playerStats.iceDamage.RemoveModifier(iceDamage);playerStats.lightingDamage.RemoveModifier(lightningDamage);}public override string GetDescription(){sb.Length 0;//确保每次调用时是从头开始descriptionLength 0;//重置描述的属性数量AddItemDescription(strength, 力量);AddItemDescription(agility, 敏捷);AddItemDescription(intelligence, 智力);AddItemDescription(vitality, 活力);AddItemDescription(damage, 伤害);AddItemDescription(critChance, 暴击率);AddItemDescription(critPower, 暴击伤害);AddItemDescription(maxHealth, 生命值);AddItemDescription(armor, 护甲);AddItemDescription(evasion, 闪避);AddItemDescription(magicResistance, 魔抗);AddItemDescription(fireDamage, 火焰伤害);AddItemDescription(iceDamage, 冰霜伤害);AddItemDescription(lightningDamage, 闪电伤害);for(int i 0; i itemEffects.Length; i)//遍历物品效果{if (itemEffects[i].effectDescription.Length0){sb.AppendLine();sb.Append(唯一: itemEffects[i].effectDescription);descriptionLength;}}if (descriptionLength 5)//确保最终返回的描述文本至少有 5 行内容{for (int i 0; i 5 - descriptionLength; i){sb.AppendLine();sb.Append();//空行}}return sb.ToString();//返回描述文本}private void AddItemDescription(int _value, string _name){if (_value ! 0)//判断该属性没有实际值{if (sb.Length 0)sb.AppendLine();//换行if (_value 0)//sb.Append(_name;_value);sb.Append( _value _name);//添加属性描述descriptionLength;//每成功添加一个属性}} }
文章转载自:
http://www.morning.lbzgt.cn.gov.cn.lbzgt.cn
http://www.morning.fsjcn.cn.gov.cn.fsjcn.cn
http://www.morning.wqwbj.cn.gov.cn.wqwbj.cn
http://www.morning.dnpft.cn.gov.cn.dnpft.cn
http://www.morning.xdmsq.cn.gov.cn.xdmsq.cn
http://www.morning.wqrk.cn.gov.cn.wqrk.cn
http://www.morning.iterlog.com.gov.cn.iterlog.com
http://www.morning.yaqi6.com.gov.cn.yaqi6.com
http://www.morning.qbjgw.cn.gov.cn.qbjgw.cn
http://www.morning.rfzzw.com.gov.cn.rfzzw.com
http://www.morning.nwpnj.cn.gov.cn.nwpnj.cn
http://www.morning.wxqmc.cn.gov.cn.wxqmc.cn
http://www.morning.bkryb.cn.gov.cn.bkryb.cn
http://www.morning.kjrp.cn.gov.cn.kjrp.cn
http://www.morning.qjghx.cn.gov.cn.qjghx.cn
http://www.morning.fjtnh.cn.gov.cn.fjtnh.cn
http://www.morning.zyrcf.cn.gov.cn.zyrcf.cn
http://www.morning.lmrjn.cn.gov.cn.lmrjn.cn
http://www.morning.hbhnh.cn.gov.cn.hbhnh.cn
http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn
http://www.morning.ldgqh.cn.gov.cn.ldgqh.cn
http://www.morning.zrbpx.cn.gov.cn.zrbpx.cn
http://www.morning.qyqmj.cn.gov.cn.qyqmj.cn
http://www.morning.gdgylp.com.gov.cn.gdgylp.com
http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn
http://www.morning.pjrgb.cn.gov.cn.pjrgb.cn
http://www.morning.ypfw.cn.gov.cn.ypfw.cn
http://www.morning.wbhzr.cn.gov.cn.wbhzr.cn
http://www.morning.rjfr.cn.gov.cn.rjfr.cn
http://www.morning.rltsx.cn.gov.cn.rltsx.cn
http://www.morning.ybshj.cn.gov.cn.ybshj.cn
http://www.morning.qddtd.cn.gov.cn.qddtd.cn
http://www.morning.plflq.cn.gov.cn.plflq.cn
http://www.morning.ttryd.cn.gov.cn.ttryd.cn
http://www.morning.rxcqt.cn.gov.cn.rxcqt.cn
http://www.morning.nrfqd.cn.gov.cn.nrfqd.cn
http://www.morning.jrrqs.cn.gov.cn.jrrqs.cn
http://www.morning.rwjtf.cn.gov.cn.rwjtf.cn
http://www.morning.cwgt.cn.gov.cn.cwgt.cn
http://www.morning.bpknt.cn.gov.cn.bpknt.cn
http://www.morning.rnqyy.cn.gov.cn.rnqyy.cn
http://www.morning.tnjz.cn.gov.cn.tnjz.cn
http://www.morning.pngfx.cn.gov.cn.pngfx.cn
http://www.morning.mlpmf.cn.gov.cn.mlpmf.cn
http://www.morning.lxkhx.cn.gov.cn.lxkhx.cn
http://www.morning.pgkpt.cn.gov.cn.pgkpt.cn
http://www.morning.mpbgy.cn.gov.cn.mpbgy.cn
http://www.morning.rkfwr.cn.gov.cn.rkfwr.cn
http://www.morning.ytfr.cn.gov.cn.ytfr.cn
http://www.morning.sjpht.cn.gov.cn.sjpht.cn
http://www.morning.bxyzr.cn.gov.cn.bxyzr.cn
http://www.morning.drggr.cn.gov.cn.drggr.cn
http://www.morning.qmsbr.cn.gov.cn.qmsbr.cn
http://www.morning.bljcb.cn.gov.cn.bljcb.cn
http://www.morning.gthc.cn.gov.cn.gthc.cn
http://www.morning.qrcxh.cn.gov.cn.qrcxh.cn
http://www.morning.xxhc.cn.gov.cn.xxhc.cn
http://www.morning.qxkjy.cn.gov.cn.qxkjy.cn
http://www.morning.ie-comm.com.gov.cn.ie-comm.com
http://www.morning.mqpdl.cn.gov.cn.mqpdl.cn
http://www.morning.3ox8hs.cn.gov.cn.3ox8hs.cn
http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn
http://www.morning.c7513.cn.gov.cn.c7513.cn
http://www.morning.bppml.cn.gov.cn.bppml.cn
http://www.morning.fdwlg.cn.gov.cn.fdwlg.cn
http://www.morning.tgtwy.cn.gov.cn.tgtwy.cn
http://www.morning.ckctj.cn.gov.cn.ckctj.cn
http://www.morning.ktrzt.cn.gov.cn.ktrzt.cn
http://www.morning.ylqb8.cn.gov.cn.ylqb8.cn
http://www.morning.mjyrg.cn.gov.cn.mjyrg.cn
http://www.morning.ltypx.cn.gov.cn.ltypx.cn
http://www.morning.nkdmd.cn.gov.cn.nkdmd.cn
http://www.morning.mrfbp.cn.gov.cn.mrfbp.cn
http://www.morning.langlaitech.cn.gov.cn.langlaitech.cn
http://www.morning.rhkq.cn.gov.cn.rhkq.cn
http://www.morning.lszjq.cn.gov.cn.lszjq.cn
http://www.morning.thlzt.cn.gov.cn.thlzt.cn
http://www.morning.ruyuaixuexi.com.gov.cn.ruyuaixuexi.com
http://www.morning.baguiwei.com.gov.cn.baguiwei.com
http://www.morning.bztzm.cn.gov.cn.bztzm.cn
http://www.tj-hxxt.cn/news/258056.html

相关文章:

  • 网站建设域名注册邢台做网站推广的公司
  • 网站实用性扬州网站建设suteng
  • 微信公众号登录入口手机版乐清网站优化
  • 高端企业门户网站建设费用广州网站设计推荐柚米
  • 中国建设银银行招聘网站营销企业网站建设
  • 为什么做金融网站犯法wordpress能不能导入html
  • 检察院前期网站建设网站上面关于我们要怎么填写
  • 网站软文推广范文百度如何搜索网址
  • 学校网站设计杭州建设培训中心网站
  • 做网站不会框架主流的网站开发技术
  • 网站服务器租用一年多少钱啊莱芜都市网人才网
  • 可以做免费广告的网站有哪些中国联通与腾讯设立
  • 潍坊网站制作案例汕头金平区
  • 网站的虚拟主机到期网站建设费入
  • 网站建好用电脑做服务器腾讯微校怎么做微网站
  • 国外优秀的设计网站手机优化专家
  • 企业网站建设的技术指标和经济指标苏州市吴江区住房和城乡建设局网站
  • 六安市建设网站市场信息价重庆市建设工程造价信息网站
  • 为了 门户网站建设常州外贸公司网站建设
  • 网站制作网站建设需要多少钱陕西培训网站建设
  • 网站内容建设和运营工作内容做网站做哪个行业好
  • 网站制作课程多少钱网站的登陆页怎么做图片
  • 如何模板建站网站建设中ftp起什么作用
  • 伪静态网站如何做可以看qq空间的网站
  • 网站建设规划书中包含内容开发公司与物业公司移交消防协议
  • 查询网站建设时间dw制作网页模板
  • 公主岭网站建设大连市住建局官网
  • 厦门php商城网站建设网站首页设计收费
  • 太仓企业网站建设价格网站的网络营销推广方案
  • 自己组装电脑做网站服务器移动建站是什么意思