Unity UIWidgets 之 UIWidgets 简单入门使用之 简单点击事件的数据交互使用

 

 

Unity UIWidgets 之 UIWidgets 简单入门使用之 简单点击事件的数据交互使用

 

目录

Unity UIWidgets 之 UIWidgets 简单入门使用之 简单点击事件的数据交互使用

一、简单介绍

二、实现原理

三、注意事项

四、效果预览

五、实现步骤

六、具体代码


 

一、简单介绍

UIWidgets是Unity编辑器的一个插件包,可帮助开发人员通过Unity引擎来创建、调试和部署高效的跨平台应用。

UIWidgets主要来自Flutter。但UIWidgets通过使用强大的Unity引擎为开发人员提供了许多新功能,显著地改进他们开发的应用性能和工作流程。

UIWidgets 数据交互不像UGUI一样,直接交互,而是 UIWidgets 有一套自己的机制。

本节介绍,UIWidgets 点击事件中数据交互的使用。

 

二、实现原理

1、关键是 UIWidgets State 相关组件的使用,在 SetState 中设置数据的更新

 

三、注意事项

1、要配置好UIWidgets才能使用哦

参考 UIWidgets 下载安装配置地址:https://blog.csdn.net/u014361280/article/details/109194172 

2、数据交互不像UGUI一样,直接交互,而是 UIWidgets 有一套自己的机制

 

四、效果预览

 

五、实现步骤

1、新建Unity工程,配置好 UIWidgets  环境

参考 UIWidgets 下载安装配置地址:https://blog.csdn.net/u014361280/article/details/109194172 

 

2、创景中创建 Panel ,并且移除 Image 组件

 

3、在工程中创建一个脚本 OnClickState,实现点击交互的逻辑

 

4、把 OnClickState 挂载到 Panel 上

 

5、运行场景,点击 UI,效果如上

 

六、具体代码

using System.Collections;
using System.Collections.Generic;
using Unity.UIWidgets.engine;
using Unity.UIWidgets.painting;
using Unity.UIWidgets.widgets;
using UnityEngine;

namespace MyTestUIWidgets
{
    /// <summary>
    /// 继承 UIWidgetsPanel
    /// 实现一个简单的点击事件数据交互
    /// </summary>
    public class OnClickState : UIWidgetsPanel
    {
        // 创建一个 Widget
        protected override Widget createWidget()
        {
            return new Counter();
        }

        /// <summary>
        /// 状态 Widget
        /// </summary>
        class Counter : StatefulWidget {

            // 创建状态
            public override State createState()
            {
                return new CounterState();
            }
        }

        /// <summary>
        /// 依附 Counter 的具体状态形态
        /// </summary>
        class CounterState : State<Counter> {

            private int mCount { get; set; } = 0;

            // 构建改状态下的 Widget
            public override Widget build(BuildContext context)
            {
                return new GestureDetector(child: new Text("Click Conut : " + mCount, style: new TextStyle(fontSize: 40)),      // 创建文本内容
                                        onTap: () =>        // 点击事件
                                        {
                                            // 状态设置
                                            this.setState(() =>
                                            {
                                                Debug.Log("Click...");
                                                mCount++;

                                            });
                                        }
                );
            }
        }
    }
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙魁XAN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值