Unity3D MineCraft 我的世界 UGUI屏幕自适应以及按钮事件传输
来源:互联网 发布:c语言socket编程 编辑:程序博客网 时间:2024/05/05 09:33
Unity3D MineCraft 我的世界 UGUI屏幕自适应以及按钮事件传输
最近制作的内容大都在内部,没有明显的视觉变化,所以没有很多的更新。不过这两天学习到了如何使用UGUI,个人感觉比NGUI要好用,所以到这里来和大家分享一些比较实用且关键的内容。
一:UGUI的屏幕自适应。
实用UGUI,就是先要创建CANVAS,画布。画布在视觉上是不可见的,但是在逻辑上就和它的名字一样,是张画布,所有要画的UI控件都必须在这张画布上,否则UNITY会很尴尬,不知道怎么操作。创建画布以后,要让UI自适应屏幕的大小,也就是UI控件可以自动调整相对位置,就如下图这样选择即可:
我这里说得比较简单,但是用过NGUI的人一看就明白是怎么回事了,如果还不清楚,请大家留言,我可以做一期视频给大家看看。
另外一个就是button点击事件如何在自己写的代码里面获得。我采用的是最简单的方法。
首先你在代码里面申明public的gameobject
public GameObject TxtStamina; public GameObject ButtonRock; public GameObject ButtonSoil; public GameObject ButtonWood; public GameObject ButtonLeaf; public GameObject ButtonSand;
然后,在编辑器里面讲UI的按钮引入:
然后申明一个函数,注意函数的参数,必须要有gameobject的引入:
void ButtonOnClick(GameObject go) { switch (go.name) { case "ButtonRock": CurrentBlockIndex = 0; break; case "ButtonSoil": CurrentBlockIndex = 1; break; case "ButtonWood": CurrentBlockIndex = 2; break; case "ButtonLeaf": CurrentBlockIndex = 3; break; case "ButtonSand": CurrentBlockIndex = 4; break; default: CurrentBlockIndex = 0; break; } }
再然后,在类的初始化或者start函数里面初始化事件申明:
ButtonRock.GetComponent<Button>().onClick.AddListener(delegate () { this.ButtonOnClick(ButtonRock); }); ButtonSoil.GetComponent<Button>().onClick.AddListener(delegate () { this.ButtonOnClick(ButtonSoil); }); ButtonWood.GetComponent<Button>().onClick.AddListener(delegate () { this.ButtonOnClick(ButtonWood); }); ButtonLeaf.GetComponent<Button>().onClick.AddListener(delegate () { this.ButtonOnClick(ButtonLeaf); }); ButtonSand.GetComponent<Button>().onClick.AddListener(delegate () { this.ButtonOnClick(ButtonSand); });
如果编译不通过,则加入引用:
using UnityEngine.UI;using UnityEngine.Events;
这样,当这些按钮按下后,就会去调用ButtonOnClick这个函数,并且将按钮自己当参数传进去。
0 0
- Unity3D MineCraft 我的世界 UGUI屏幕自适应以及按钮事件传输
- Unity3D MineCraft 使用Unity3D制作MineCraft 我的世界 存盘和读取问题解决
- Unity3D MineCraft 我的世界 类似游戏的地形编辑器
- Unity3D MineCraft 我的世界 用Unity3D制作类似MineCraft我的世界的游戏:各种树
- 我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 洞穴算是完成了
- 我的世界 Unity3D MineCraft 用Unity3D制作类似MineCraft我的世界的游戏 正经梳理一下开发01
- unity3d 4.6 UGUI自适应屏幕
- 我的世界 unity3d minecraft 用unity3d制作我的世界的游戏 优化
- Unity3D的ugui之按钮事件
- 我的世界 unity3d minecraft 用unity3d来制作类似我的世界的游戏 优化树和草
- 【Unity3D】UGUI自适应屏幕与锚点
- Unity3d UGUI屏幕自适应(多分配率适配)
- Unity3D UGUI 按钮事件绑定的4种方法
- Minecraft我的世界开服教程
- Unity实现类似我的世界(Minecraft)的创建物体以及销毁物体的功能
- Unity3D UGUI按钮长按事件
- Unity3d学习笔记 UGUI锚点屏幕自适应问题
- Unity3D 实例化UGUI自适应的预设
- 怎样选择TCP还是选择UDP
- javaweb用拦截器计算action执行时间
- Mybatis:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
- sqlite3.7.0移植
- WPF 自定义进度条
- Unity3D MineCraft 我的世界 UGUI屏幕自适应以及按钮事件传输
- 开发手记——基于XMPP的Android即时通讯APP(二)
- 超越影像——RSNA 2016参展随感 (二)
- 输出倒逼输入
- 对象分类
- oracle分区索引
- 字符、字节的概念及其区别
- Microsoft Authentication
- PHP面向对象中的构造函数和析构函数