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

做电子购物网站需要申请在福州做网站

做电子购物网站需要申请,在福州做网站,公司网站建设改版,中国工商注册营业执照的官网需求是#xff0c;我们在一个text组件中像写网页那样写入链接#xff0c;然后点击这个链接#xff0c;就能访问配置的网页啥的。比如#xff1a; a hrefhello链接文本/a/summary 最终的效果如下#xff1a; 图中#xff0c;image区…需求是我们在一个text组件中像写网页那样写入链接然后点击这个链接就能访问配置的网页啥的。比如 a hrefhello链接文本/a/summary 最终的效果如下 图中image区域就是各个链接的点击范围。原理是获取text中每个字符的位置然后算出每个链接对应的点击区域最后返回鼠标点到的那个区域的链接。代码比较简单就直接写点注释看吧。实现是继承了text组件当然写成静态方法传入text来计算也可以。 比较一下网上搜到的其他方案这个方法不用重载mesh效率应该是比较高的。 #define TEST_CheckClickURL using System.Collections.Generic; using System.Text.RegularExpressions; using UnityEngine; using UnityEngine.Profiling; using UnityEngine.UI;public class TestClickURL : Text {public Button button;public void OnButtonClick(){Debug.Log(CheckClickURL()?.url);}// 定义返回的结果public class CheckClickURLResult{public string url;public string text;public Rect rect;public CheckClickURLResult(string url, string text, Rect rect){this.url url;this.text text;this.rect rect;}}private static Regex hrefRegex new Regex(a href([^\n\s])(.*?)(/a),RegexOptions.Singleline);/// summary 计算点击到的URL文本内容返回网址/// 格式如下a hrefhello链接文本/a/summarypublic CheckClickURLResult CheckClickURL(){Profiler.BeginSample(CheckClickURL);if (hrefRegex null)hrefRegex new Regex(a href([^\n\s])(.*?)(/a), RegexOptions.Singleline);InitDebugGOList();// 将点击位置从屏幕坐标转为本地坐标RectTransformUtility.ScreenPointToLocalPointInRectangle(this.rectTransform, Input.mousePosition,null, out var mouseLocalPosition);//注意使用UI相机// 获取生成的文本数据。// characters 保存了每个字符左上角的位置。// lines 保存了每行开始字符ID和行高。var generator cachedTextGenerator;var charList generator.characters;var lineList generator.lines;var textStr text;// 正则表达式查找链接文本var matchs hrefRegex.Matches(textStr);foreach (Match match in matchs){var urlGroup match.Groups[1];var textGroup match.Groups[0];var textStartIndex textGroup.Index;var textEndIndex textGroup.Index textGroup.Length;// 我们的字符可能是换行的所以要按行分割。// 倒着遍历就很容易获取每行开始和结束位置。var lineEndIndex charList.Count - 1;for (int i lineList.Count - 1; i 0; i--){var lineStartIndex lineList[i].startCharIdx;// 处理换行后的截取var realStart Mathf.Max(lineStartIndex, textStartIndex);var realEnd Mathf.Min(lineEndIndex, textEndIndex);// 本行没有链接内容的情况if (realStart realEnd) continue;// 问题简化成单行的点击检查提个函数继续处理。var result CheckLine(realStart, realEnd, lineList[i].height, mouseLocalPosition, out var rect);if (result) return new CheckClickURLResult(urlGroup.Value, textGroup.Value, rect);//Debug.Log(${start}/{end});lineEndIndex lineStartIndex - 1;}}Profiler.EndSample();return null;}public bool CheckLine(int start, int end, float lineHeight, Vector2 mouseLocalPosition, out Rect rect){// 获取生成的文本数据。var charList cachedTextGenerator.characters;var startPoint charList[start].cursorPos;var endPoint charList[end].cursorPos;// 直接计算出本行中链接可点击区域。var x startPoint.x;var y startPoint.y - lineHeight;var width endPoint.x - startPoint.x;var height lineHeight;rect new Rect(x, y, width, height);var result rect.Contains(mouseLocalPosition);CreateDebugImage(rect, result);return result;}#if TEST_CheckClickURL// 测试用。生成空image展示出点击判定范围。public static ListGameObject debugGOList;public void CreateDebugImage(Rect rect, bool contains){Debug.Log($rect{rect});var go new GameObject(DebugImage,typeof(RectTransform), typeof(Image));debugGOList.Add(go);var rtf go.GetComponentRectTransform();rtf.SetParent(transform);rtf.pivot Vector2.zero;rtf.anchorMin Vector2.one / 2;rtf.anchorMax Vector2.one / 2;rtf.sizeDelta rect.size;rtf.localScale Vector3.one;rtf.rotation Quaternion.identity;rtf.anchoredPosition rect.position - rectTransform.rect.center;// 点击到的那个范围展示为红色。if (contains)go.GetComponentImage().color Color.red;}public void InitDebugGOList(){if (debugGOList null)debugGOList new ListGameObject();debugGOList.ForEach(p Destroy(p));} #elsepublic void CreateDebugImage(Rect rect, bool contains) { }public void InitDebugGOList() { } #endif }
http://www.hkea.cn/news/14589804/

相关文章:

  • 相亲网站上做投资的女生网站开发一般用的字体类型
  • 使用flask做前后端分离的网站wordpress 导入html
  • 济南网站推广¥做下拉去118cr威海网站推广
  • 网页和网站的不同门户网站建设模板下载
  • 哪些电影网站怎么建设的网站运营与管理试卷
  • 用dw做网站的流程北京通州区网站制作
  • 网站建设论坛快速建站专业做礼品团购的网站
  • 室内设计好不好学360优化大师下载官网
  • 个人免费自助建站网站建筑公司网站制作
  • 中山手机网站建设电话wordpress html音乐
  • 如何设计网站布局企业做网站的公司
  • 大庆医院网站建设八桂职教网技能大赛2024
  • 怎样做社交网站免费的网页游戏
  • 有没有专做游戏脚本的网站erp网站代做
  • 河北省电力建设第一工程公司网站推广注册app赚钱平台
  • 省住房城乡建设厅门户网站东海县网站建设
  • wordpress带轮播企业站主题最新房价排行榜
  • 哪里有建网站的公司门户网站建设与管理办法
  • 网站建设 讲话如何制作统计小程序
  • 莱州官方网站南部网站建设
  • 网站建设教程所需文字接给别人做网站的活
  • 怎样做号网站优化支付宝 wordpress 插件
  • 免费推广店铺的网站网站流量增加
  • 安溪县住房和城乡规划建设局网站wordpress某个用户重定向
  • 贵州城市建设网站没有网站域名备案信息
  • 常用企业网站模板对比企业查询天眼查
  • 有网站了小程序怎么做大连哪里做网站好
  • 网站建设费需要摊销吗做衣服网站的实验感想
  • 网站后台查询软件百度指数关键词
  • 微信公众号直接链接网站怎么做梅县区住房和城市建设局网站