unity2D:对话框Dialog——弹出、渐⼊渐出
注:该⽂为学习笔记,具体请看b站upMichael-Studio的unity教程2D⼊门:13敌⼈Enemy!
环境:unity2020.3
本章⽬标:制作游戏中的弹出窗⼝
Panel
对话框肯定是⼀个⾯板嘛,所以先新建⼀个⾯板
canvas——右键——UI——Panel
之后调节⾯板的属性
位置:UI⼀般是要锁定位置对齐⽅式的,确定之后再⼿动调节到想要放置的位置即可
⼤⼩:我选的是对其⽅式是bottom-center所以我需要调节的是宽度和⾼度(不同的选择有可能不同
颜⾊:颜⾊和透明度⾃选,在Image组件的Color⾥⾯,点开之后最后⼀⾏是透明度
还可以加背景图⽚什么的,这⾥先不说
Penal配Text
⼀般对话框都是要有提⽰语的嘛,所以可以以该Panel为⽗节点添加Text⼦节点,其中⽂字的样式调节就不赘述了
⼩⽩的时候⼲过⼀件傻事:我把字体调的很⼤,然后发现Text⾥⾯什么都不显⽰,其实是你的text太⼩了,盛不下,拉⼤⼀点就⾏了⼀个⼩技巧(与本⽂内容⽆关
按下alt键,可以以中⼼为对称点调节⼤⼩(我是⽤来调节Text的⼤⼩的
弹出Panel
底层逻辑:触发某个事件——弹出Penal
⽐如,⾓⾊⾛到某个位置,弹框⾃动弹出,⽐如说⾛到这⾥
最简单的⽅法就是在这放⼀个碰撞体
新建⼀个空的gameobject——添加collider组件——将collider调到合适的⼤⼩放在想要的位置并勾选Trigger选项——脚本实现碰撞到该触发器后的反应
代码如下,挂到放置碰撞体的object上即可
public class Dialog : MonoBehaviour
{
public GameObject GGDialog;
private void OnTriggerEnter2D(Collider2D obj)
{
unity 教程if(obj.tag=="Player")// 这⾥注意,根据tag不同⾃⾏改动,只是这⾥我的物体tag叫做Player
{
GGDialog.SetActive(true);
}
}
private void OnTriggerExit2D(Collider2D obj)
{
if(obj.tag=="Player")
{
GGDialog.SetActive(false);
}
}
}
Penal渐⼊渐出的效果
如果没有很多图⽚怎么形成动画?unity提供录制功能,开始录制后就相当于K关键帧,在⼀点调整好⼀个状态,在下⼀点调整到另⼀个状态,然后播放,使之成为⼀段视频
前期的步骤和给物体添加animation是⼀样的,但是要点击左上⾓的⼩红点开始录制⽽⾮拖⼊图⽚
我⼀共录了三帧,完全没有——⼀点点——完全显⽰
我觉得很有⽐要跨⼀波unity,绝了,居然还⾃动补间!!这样就可以了,就很nice,对吧?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。