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

网站推广实践内容无锡企业建设网站公司

网站推广实践内容,无锡企业建设网站公司,wordpress建好站了打不开首页,如何用wordpress主题Unity3D 自定义窗口的实现。 自定义窗口 Unity3D 可以通过编写代码#xff0c;扩展编辑器的菜单栏和窗口。 简单的功能可以直接一个菜单按钮实现#xff0c;复杂的功能就需要绘制一个窗口展示更多的信息。 编辑器扩展的脚本#xff0c;需要放在 Editor 文件夹中。 菜单栏…Unity3D 自定义窗口的实现。 自定义窗口 Unity3D 可以通过编写代码扩展编辑器的菜单栏和窗口。 简单的功能可以直接一个菜单按钮实现复杂的功能就需要绘制一个窗口展示更多的信息。 编辑器扩展的脚本需要放在 Editor 文件夹中。 菜单栏 首先需要引用命名空间 UnityEditor然后在类里编写静态方法在方法的头顶上面添加 MenuItem填写菜单栏的路径。 using UnityEditor;public class CustomizeWindow {[MenuItem(自定义窗口/打开窗口)]public static void OpenWindow(){} }编译一下就能看到多出了一个菜单栏选项。 窗口 需要继承 EditorWindow通过 GetWindow 方法创建一个窗口对象调用 Show 方法显示。 可以通过修改 titleContent 设置窗口标题。 这里的 GUIContent 需要引用命名空间 UnityEngine。 using UnityEngine; using UnityEditor;public class CustomizeWindow : EditorWindow {[MenuItem(自定义窗口/打开窗口)]public static void OpenWindow(){// 创建窗口对象CustomizeWindow window GetWindowCustomizeWindow();// 设置窗口标题window.titleContent new GUIContent(自定义窗口);// 显示窗口window.Show();} }现在再去点击菜单栏的打开窗口按钮就能显示自定义窗口了。 按钮 现在窗口空荡荡的可以先加两个按钮。 在窗口中绘制 UI 元素需要写在生命周期函数 OnGUI 里面使用 GUILayout.Button 创建按钮使用 GUILayout.Height 设置按钮高度。 创建按钮的代码之所以放在 if 语句的条件判断里是因为点击按钮后会返回一个布尔值可以判断按钮是否被点击。 using UnityEngine; using UnityEditor;public class CustomizeWindow : EditorWindow {// ...void OnGUI(){if (GUILayout.Button(确定, GUILayout.Height(50))){}if (GUILayout.Button(取消, GUILayout.Height(50))){}} }现在窗口就有了两个按钮了。 文本 使用 GUILayout.Label 绘制文本。 using UnityEngine; using UnityEditor;public class CustomizeWindow : EditorWindow {// ...void OnGUI(){GUILayout.Label(这是一个自定义的窗口可以自由编写功能);// ...} }现在窗口有文本了。 文本输入框 使用 EditorGUILayout.TextField 绘制文本输入框它有返回值是输入框的内容。 可以在按钮里面打印一下文本输入框的内容。 using UnityEngine; using UnityEditor;public class CustomizeWindow : EditorWindow {// ...string input 请输入...;void OnGUI(){// ...input EditorGUILayout.TextField(input);if (GUILayout.Button(确定, GUILayout.Height(50))){Debug.Log(input input);}// ...} }现在窗口有文本输入框了。 样式 按钮文本的样式也可以自定义。 先定义 GUIStyle 变量在 InitGUIStyle 方法中分别对三种控件的样式进行初始化设置然后传递给控件的第二个参数。 using UnityEngine; using UnityEditor;public class CustomizeWindow : EditorWindow {GUIStyle buttonStyle;GUIStyle labelStyle;GUIStyle textFieldStyle;// ...void OnGUI(){InitGUIStyle();GUILayout.Label(这是一个自定义的窗口可以自由编写功能, labelStyle);input EditorGUILayout.TextField(input, textFieldStyle);if (GUILayout.Button(确定, buttonStyle, GUILayout.Height(50))){Debug.Log(input input);}if (GUILayout.Button(取消, buttonStyle, GUILayout.Height(50))){}}void InitGUIStyle(){if (buttonStyle null){buttonStyle new GUIStyle(GUI.skin.button);buttonStyle.fontSize 14;buttonStyle.margin.left 20;buttonStyle.margin.right 20;buttonStyle.margin.top 20;buttonStyle.margin.bottom 20;}if (labelStyle null){labelStyle new GUIStyle(EditorStyles.boldLabel);labelStyle.fontSize 14;labelStyle.margin.left 20;labelStyle.margin.right 20;labelStyle.margin.top 20;labelStyle.margin.bottom 20;}if (textFieldStyle null){textFieldStyle new GUIStyle(EditorStyles.toolbarTextField);textFieldStyle.fontSize 14;textFieldStyle.fixedHeight 30;textFieldStyle.margin.left 20;textFieldStyle.margin.right 20;textFieldStyle.margin.top 20;textFieldStyle.margin.bottom 20;}} }现在窗口焕然一新。 布局 窗口内的控件可以调整摆放的布局。 例如把两个垂直摆放的按钮改成水平布局。 在按钮代码的开头加上 EditorGUILayout.BeginHorizontal();在按钮代码的结尾加上 EditorGUILayout.EndHorizontal(); 被这两行代码包围的控件就会处于同一个水平布局之中。 using UnityEngine; using UnityEditor;public class CustomizeWindow : EditorWindow {// ...void OnGUI(){// ...EditorGUILayout.BeginHorizontal();if (GUILayout.Button(确定, buttonStyle, GUILayout.Height(50))){Debug.Log(input input);}if (GUILayout.Button(取消, buttonStyle, GUILayout.Height(50))){}EditorGUILayout.EndHorizontal();} }现在两个按钮就在同一个水平布局之中了。 间隔 使用 GUILayout.Space 绘制间隔。 例如在文本输入框和按钮之间加入 10 的间隔。 using UnityEngine; using UnityEditor;public class CustomizeWindow : EditorWindow {// ...void OnGUI(){// ...input EditorGUILayout.TextField(input, textFieldStyle);GUILayout.Space(10);EditorGUILayout.BeginHorizontal();// ...} }现在文本输入框和按钮之间就不会那么贴近了。 滚动视图 滚动视图也是两行代码包围控件。 EditorGUILayout.BeginScrollView(scrollPos);EditorGUILayout.EndScrollView(); 不过滚动视图需要定义一个 Vector2 scrollPos在滚动时记录当前的位置。 using UnityEngine; using UnityEditor;public class CustomizeWindow : EditorWindow {// ...GUIStyle scrollViewStyle;Vector2 scrollPos Vector2.zero;void OnGUI(){// ...GUILayout.Label(搜索结果, labelStyle);scrollPos EditorGUILayout.BeginScrollView(scrollPos, scrollViewStyle);GUILayout.Label(结果 1, labelStyle);GUILayout.Label(结果 2, labelStyle);EditorGUILayout.EndScrollView();}void InitGUIStyle(){// ...if (scrollViewStyle null){scrollViewStyle new GUIStyle(GUI.skin.scrollView);scrollViewStyle.fontSize 14;scrollViewStyle.margin.left 20;scrollViewStyle.margin.right 20;scrollViewStyle.margin.top 20;scrollViewStyle.margin.bottom 20;}} }现在就有了一个展示结果列表的滚动视图。 弹窗 现在点按钮是没有反馈的通常情况下可以给一个弹窗提示。 弹窗附带一个确定和一个关闭按钮使用 EditorUtility.DisplayDialog返回 true 或者 false弹窗附带一个确定、一个取消、一个可选和一个关闭按钮使用 EditorUtility.DisplayDialogComplex返回 0、1、2 例如在确定和取消按钮中添加弹窗提示。 using UnityEngine; using UnityEditor;public class CustomizeWindow : EditorWindow {// ...void OnGUI(){// ...if (GUILayout.Button(确定, buttonStyle, GUILayout.Height(50))){int id EditorUtility.DisplayDialogComplex(温馨提示, 搜索完成, okk, oh no, good);Debug.Log(id);}if (GUILayout.Button(取消, buttonStyle, GUILayout.Height(50))){bool flag EditorUtility.DisplayDialog(温馨提示, 已取消, okk);Debug.Log(flag);}} }现在点击确定按钮弹出附带三个按钮和关闭按钮的弹窗。 点击取消按钮弹出附带一个按钮和关闭按钮的弹窗。
http://www.hkea.cn/news/14565881/

相关文章:

  • 网站建设托管模式网站建设功能文案
  • 怎样做网站教程深圳做软件开发的公司
  • 创意字体设计网站wordpress音乐直链插件
  • 东莞物流网站建设佛山哪里有网站开发?
  • 010-58813333 可信网站广州市天河区住房和建设局网站
  • 网站安全风险提示单可以做问答的网站
  • 美食网站设计的基本思路在线销售网站设计文献
  • 公司加强网站建设沙漠风网站开发怎样
  • 企业网站建设目标网站安全性怎么做
  • 网站建设服务套餐电商网站设计思路
  • 免费注册网站云空间高端上海网站设计公司价格
  • 最全做暖暖网站在线制作头像框
  • docker 做网站江西省赣州市有什么好玩的地方
  • 怎么利用招聘网站做薪酬调查管家婆软件
  • 如何借用别人静态网站做模板公司网络营销方案
  • 网站建设服务公网站开发流程及顺序
  • 和外国人做古玩生意的网站自己电脑做网站访问快吗
  • 免费搭建微信网站多少钱做旅游网站的论文
  • 重庆企业网站推广服务河南工程建设
  • 苏州网站建设哪家做得好网站核验单怎么下载
  • 淄博网站优化首选公司优酷网站怎么做的
  • 外贸soho通过网站开发客户做网站怎么在主机上放图片
  • 网站照片加水印织梦怎么做中英文网站切换
  • 做网站找什么公司工作爱企查官网
  • 建设一个百度百科类网站wordpress文字黑提
  • 一个简单的游戏网站建设免费编程软件手机版
  • 北京城乡住房建设官方网站怎么为网站网页注册免费网址
  • 网站建设的栏目义乌做网站多少钱
  • 一家公司做网站需要什么资料广州市建设工程定额管理网站
  • 网站地址大全折一把古风扇子