美文网首页
Unity开发不定期归纳总结2

Unity开发不定期归纳总结2

作者: 达屯菜狗 | 来源:发表于2020-07-23 13:02 被阅读0次

设置固定比例自动适配的UI组件

之前在制作UI组件时,当屏幕上有多个子物体同时撑满一个画布时,会通过设置绝对值得方式来设置不同的子控件父对象在基画布上的Strech位置,如下图:

绝对值设置

但是这样做就带来一个问题,在进行横竖屏UI适配时,上方控件的高度因为是绝对值250,在各种机型变换时只有高:宽小于原比例后才能开始缩放,如下图:

某些时候我们希望可以实现持续的比例缩放,即上下比例按照最初的设计在适配时持续变化;于是在制作时就要打开Gizmos使得我们可以快速的可视化的调整控件锚点。在此之前我们将绝对值还原为0,然后调整锚点位置如下图:

比例适配,忽略中间差点旋转的误操作ˊ_>ˋ

这样操作完毕之后我们再来看看适配的效果。

持续等比例缩放

这样就大功告成了。

使用Layout Element实现UGUI相对于某个物体对齐

UGUI并没有给我们提供在同层级下相对于某个物体A对齐的方式,即如果物体A运动那相应的设置好的物体也应该按设置好的数据进行运动。之前都是给A建一个子物体来实现,但某些情况下必须在同层级处理。这就需要我们对物体A的父物体添加某种Layout布局组建后添加ContenSizeFitter,对需要设置的物体添加Layout Element同时设置为Ignore Layout,然后将该物体的Strech方式设置为你想要的方式既可以。

获取和设置一个Image物体的Width和Height

开发过程中会遇到需要拿到某个Image的大小并设置给其他图片,首先声明一个Rect变量用来存储要取得的图片的RectTransform的rect属性,然后直接将Rect变量的width和height声明为一个新的Vector2并赋值给需要设置的图片的sizeDelta。

实例:

Rect origiRect = icon.gameObject.GetComponent<RectTransform>().rect;

cloneIcon.GetComponent<RectTransform>().sizeDelta = new Vector2(origiRect.width, origiRect.height);

引申一下,需要拿到某个UGUI控件的大小都可以这么操作。

获取当前Canvas的真实像素大小

在Canvas进行各种手机屏幕适配的时候,我们通常会加入CanvasScaler来协助调整画布大小适配不同机型,但同时就给某些需要在特定物体的相对位置的弹窗生成造成了一定的困扰,需要取到当前Canvas的真实像素尺寸,很简单:

float realScreenWidth = gameObject.GetComponent<CanvasScaler>().referenceResolution.y;

长按事件搭建

为当前物体添加脚本,脚本中继承IPointerDownHandler和IPointerUpHandler在继承的函数内分别实现想要的长按事件及抬起手指效果。

另一种更加可视化的方法是,为当前物体添加EventTrigger控件,然后在其中添加所需类型,如PointerDown及PointerUp,之后在下拉列表中拖入想要调用的对象以及对象身上的方法。

相关文章

  • Unity开发不定期归纳总结2

    设置固定比例自动适配的UI组件 之前在制作UI组件时,当屏幕上有多个子物体同时撑满一个画布时,会通过设置绝对值得方...

  • Unity开发不定期归纳总结1

    Sprite点击事件快速搭建 大多2D游戏都需要Sprite可以被点击,小伙伴们也可以在网上查到很多种类的教程,这...

  • 2020-12-30 游戏开发学习规划

    Unity 2D游戏开发 目标 快速学习Unity开发掌握unity2d的使用、程序编写能力美术能力:美术资源获取...

  • Unity导出IOS项目

    1、参考链接 Unity3D开发-导出IOS项目 Unity打包ios 2、Unity开发 (1)新建一个场景,保...

  • “噩梦射手小结”

    Unity开发'噩梦射手'的疑问与总结 1,为什么刚体这个组件无法通过enabled=false来关掉呢? 2,走...

  • 关于优秀

    以归纳总结以及个案观察方法,总结我认为的优秀与不够优秀的特质。以自省: (有强主观性。不定期更) 否: 1. 在没...

  • unity开发经验(不定期更新)

    希望我的开发日志记录的经验越来越多,给以后得自己留个记录和参考,同时也能为广大的同样是想做unity独立开发者的朋...

  • Unity开发C#代码规范与优化说明

    因为我从事Unity游戏开发,所以此处都是基于Unity开发过程中C#的使用所进行的总结。内容还在持续进行补充 代...

  • Unity大魔王私藏的开发2D游戏的常用插件合集

    Unity以开发3D游戏见长,早期版本的Unity在开发2D游戏时不慎方便,因此Asset Store出现了很多2...

  • Unity初学者第一堂课

    总结: 1、VR/AR/游戏 2、Unity引擎:可以做VR/AR/游戏 3、C#和Unity Engine 4、...

网友评论

      本文标题:Unity开发不定期归纳总结2

      本文链接:https://www.haomeiwen.com/subject/hfaqlktx.html