unity2D: Dialog 对话框 - 弹出、淡入和淡出

unity2D: Dialog 对话框 - 弹出、淡入和淡出

注:本文为学习笔记。详情请看b站upMichael-Studio的Unity 2D入门教程:13 Enemy Enemy!

环境:unity2020.3

章节目标:在游戏中制作弹出窗口

控制板

对话框必须是面板,所以先新建一个面板

画布——右键——UI——面板

然后调整面板的属性

Position:UI一般是锁定位置对齐

, 确认后手动调整到您要放置的位置。

尺寸:我选择的是bottom-center,所以我需要调整的是宽度和高度(不同的选择可能不同

jquery点击弹出模态框_unity 点击弹出对话框_js点击登录弹出登录框

颜色:颜色和透明度可选,在Image组件的Color中,点击后的最后一行是透明度

还可以加个背景图什么的,这里就不多说了

刑罚与文本

一般对话框都有提示游戏角色,所以可以使用Panel作为父节点添加Text子节点unity 点击弹出对话框,文本的样式调整就不会重复了。

小白小时候做过一件很傻的事:把字体弄的很大,然后发现文字里什么都没有显示。事实上,您的文字太小而无法容纳,所以只需将其放大即可。

一个小技巧(与本文内容无关

按alt键以中心为对称点调整大小(我用它来调整Text的大小

js点击登录弹出登录框_unity 点击弹出对话框_jquery点击弹出模态框

弹出面板

底层逻辑:触发事件——弹出惩罚

比如角色走到某个位置,弹框自动弹出,比如走到这里

jquery点击弹出模态框_unity 点击弹出对话框_js点击登录弹出登录框

最简单的方法是在这里放一个对撞机

创建一个空的游戏对象 - 添加对撞机组件 - 将对撞机调整到合适的大小并将其放置在所需的位置并勾选 Trigger 选项 - 脚本实现触发后的反应

代码如下,挂在碰撞体放置的物体上即可

public class Dialog : MonoBehaviour
{
    public GameObject GGDialog;
    private void OnTriggerEnter2D(Collider2D obj) 
    {
        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关键帧unity 点击弹出对话框,在一个点调整一个状态,在下一个点调整到另一个状态,然后播放,做成视频

前面的步骤和给对象添加动画一样,但是点击左上角的小红点开始录制,而不是在图片中拖动

js点击登录弹出登录框_jquery点击弹出模态框_unity 点击弹出对话框

我一共录了三帧,完全没有——一点点——全屏显示

unity 点击弹出对话框_js点击登录弹出登录框_jquery点击弹出模态框

我觉得很能穿越一波统一,绝对的,它甚至会自动补间!!

就是这样,很好,对吧?