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

wordpress添加站点新闻发布会是一种

wordpress添加站点,新闻发布会是一种,互联网技术岗位校园招聘,wordpress自定义首页笔刷大小调节 上面的代码中其实我们已经提供了笔刷大小的字段#xff0c;即brushSize#xff0c;现在只需要将该字段和界面中的Slider绑定即可#xff0c;Slider值的范围我们设置为1~20 代码中只需要做如下改动#xff1a; public Slider brushSizeSlider; //控制笔刷大…笔刷大小调节 上面的代码中其实我们已经提供了笔刷大小的字段即brushSize现在只需要将该字段和界面中的Slider绑定即可Slider值的范围我们设置为1~20 代码中只需要做如下改动 public Slider brushSizeSlider; //控制笔刷大小的滑动条 public float brushSize brushSizeSlider.value; //笔刷大小取滑动条的值 完整代码如下 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class Painter : MonoBehaviour {public RenderTexture renderTexture;public Slider brushSizeSlider;public Texture2D brushTexture; //笔刷纹理public float brushSize brushSizeSlider.value; //笔刷大小public float resolutionMultiplier 5; //线性插值密度调节private Vector2 previousMousePos; //记录上一帧鼠标的位置 void Update(){if (Input.GetMouseButtonDown(0)){previousMousePos Input.mousePosition;}if (Input.GetMouseButton(0)){var mousePosition Input.mousePosition;DrawLine(previousMousePos, mousePosition);previousMousePos mousePosition;}}private void DrawLine(Vector2 start, Vector2 end){float distance Vector2.Distance(start, end);int steps Mathf.CeilToInt(distance * resolutionMultiplier);for (int i 0; i steps; i){float t i / (float)steps;int x Mathf.FloorToInt(Mathf.Lerp(start.x, end.x, t));int y Mathf.FloorToInt(Mathf.Lerp(start.y, end.y, t));DrawBrush(x, y);}}private void DrawBrush(int x, int y){Rect brushRect new Rect(x, y, brushSize, brushSize);Graphics.SetRenderTarget(renderTexture);GL.PushMatrix();GL.LoadPixelMatrix(0, renderTexture.width, 0, renderTexture.height);Graphics.DrawTexture(brushRect, brushTexture);GL.PopMatrix();Graphics.SetRenderTarget(null);}}效果优化  运行效果如下图可见虽然笔刷粗细已可以调节但是在调节过程中滑动的同时滑动条周围有绘制的线条这本不该出现的出现的原因是因为我们监听了鼠标按下的事件来绘制这导致在操作滑动条的时候绘制依然在进行。 操作UI时屏蔽绘制 我们需要检测当前的鼠标是否在UI元素上如果在则不进行绘制这可以使用EventSystem的射线检测来实现如下我们定义一个函数当光标在UI元素上的时候返回true否则返回false private bool IsPointerOverUIElement() {PointerEventData eventData new PointerEventData(EventSystem.current);eventData.position Input.mousePosition;ListRaycastResult results new ListRaycastResult();EventSystem.current.RaycastAll(eventData, results);return results.Count 0; } 我们在鼠标左键点击的时候判断是否在UI元素上如果在则禁止绘制 但有个问题我们用来绘制的RawImage也是UI元素它铺满整个屏幕这会导致我们始终没办法绘制我们可以将其Raycast Target关掉这样再操作UI元素的时候就不会进行多余的绘制了 完整代码如下 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;public class Painter : MonoBehaviour {public RenderTexture renderTexture;public Slider brushSizeSlider; //控制笔刷大小的滑动条public Texture2D brushTexture; //笔刷纹理public float brushSize brushSizeSlider.value; //笔刷大小取滑动条的值public float resolutionMultiplier 5; //线性插值密度调节private Vector2 previousMousePos; //记录上一帧鼠标的位置 private bool startFromUIElement false; //点击是否是从UI元素上开始的void Update(){//判断光标是否在UI元素上if (Input.GetMouseButtonDown(0)){if (IsPointerOverUIElement()){startFromUIElement true;}previousMousePos Input.mousePosition;}if (Input.GetMouseButton(0) !startFromUIElement){var mousePosition Input.mousePosition;DrawLine(previousMousePos, mousePosition);previousMousePos mousePosition;}if (Input.GetMouseButtonUp(0)){startFromUIElement false;}}private void DrawLine(Vector2 start, Vector2 end){float distance Vector2.Distance(start, end);int steps Mathf.CeilToInt(distance * resolutionMultiplier);for (int i 0; i steps; i){float t i / (float)steps;int x Mathf.FloorToInt(Mathf.Lerp(start.x, end.x, t));int y Mathf.FloorToInt(Mathf.Lerp(start.y, end.y, t));DrawBrush(x, y);}}private void DrawBrush(int x, int y){Rect brushRect new Rect(x, y, brushSize, brushSize);Graphics.SetRenderTarget(renderTexture);GL.PushMatrix();GL.LoadPixelMatrix(0, renderTexture.width, 0, renderTexture.height);Graphics.DrawTexture(brushRect, brushTexture);GL.PopMatrix();Graphics.SetRenderTarget(null);}private bool IsPointerOverUIElement(){PointerEventData eventData new PointerEventData(EventSystem.current);eventData.position Input.mousePosition;ListRaycastResult results new ListRaycastResult();EventSystem.current.RaycastAll(eventData, results);return results.Count 0;}}在下一节我将为大家介绍如何调节线条的颜色~
http://www.hkea.cn/news/14451033/

相关文章:

  • 游戏点卡平台网站开发页面优化
  • 网站建设考试重点河南省工程建设业协会网站
  • dede网站模版免费商城系统源码
  • 平邑网站优化专门做兼职的网站有哪些
  • 网络营销对于个人而言有什么作用深圳做网站优化
  • 公司名称logo设计江门网站优化快速排名
  • 社区平安建设基层网站泰州网站建设电话
  • 如何创建游戏网站网页优化方案
  • 如何搭建公司内部网站网站建设淘宝客模板下载
  • 上海比较好的网站建设公司停止wordpress
  • 有网站开发专业吗网站建设网站网站建设网站
  • 电商网站建设的目标做网站的版式会侵权吗
  • wordpress 4.1 主题seo推广公司网站模板
  • 建设环保网站查询系统郑州注册公司流程及费用
  • 怎么健手机网站阿里云网站怎么备案域名解析
  • 淘宝上网站建设为啥这么便宜wordpress防止文章被采集
  • 做logo赚钱的网站公众号怎么建立
  • 佛山门户网站建设公司江西最新新闻事件
  • 什么是网站的功能模块工程监理行业为什么做网站
  • 校园文化网站建设莱芜在线论坛莱芜话题西关规划图
  • 集团网站推广哈尔滨一恒建设
  • 网站详情页链接怎么做wordpress忘记密码邮件收不到
  • 昆明seo博客南网站建设网站页面设计分析
  • 自适应 网站开发二次开发招聘
  • 义乌网站建设工作室高端网站制作公
  • 深圳高端做网站东莞便宜做网站
  • 深夜小网站网站建设流程 费用
  • 毕业设计论文网站开发需要多少wordpress 屏蔽搜索引擎
  • 浙江做网站找谁免费海外网站建设
  • 青岛网站搜索排名西安网站建设怎样