【Unity3D_UGUI速成班】——04. Canvas

本文详细介绍了Unity3D中UGUI的重要组成部分Canvas,包括其Render Mode的三种模式:Screen Space - Overlay、Screen Space - Camera和World Space,以及Canvas Scaler的UI Scale Mode设置,如Constant Pixel Size、Scale With Screen Size和Constant Physical Size。同时,讨论了Canvas在不同渲染模式下的行为和适应屏幕分辨率的方法。此外,还提到了Graphic Raycaster在处理触控事件和Canvas交互中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一节将主要讲述所有UGUI物体的最顶级父物体——Canvas前几讲为大家介绍了Text、Image和Button,主要陈述的是UGUI的功能性,但说到底凡是UI都需要考虑其界面排布和呈现等因素。因此在此章节的Canvas和下一章节的Rect Transform快速为大家补上!

-----------------------

4.Canvas

Canvas 意思为画布,在Hierarchy栏目下右键==>UI,选择Canvas或者任何UGUI控件,我们仍以Image为例,那么在Hierarchy栏目下会多出携带了Image的Canvas控件和EventSystem控件,这里就不再次附图了。

Canvas的尺寸和形状,其实是由Unity里Game视窗决定的。再次我强烈建议所有初学者,不论开发什么Demo,都一定先设置好Game视窗的长宽比,方便对于已经排布好的东西一目了然。在Game视窗下点开,如果不知道用什么尺寸的话,建议先用16:9,因为大部分显示屏不论PC还是手机都采用1920*1080的分辨率,当然,如果手机竖屏使用的话当然得9:16。也可以在下方添加自己常用的长宽比,笔者有很长一段时间用的是自己添加的2560:1440。


好,我们终于正视Canvas控件下的组件了。


 

一、             Canvas组件,包含有RenderMode、Pixel Perfect、Sort Order和Target Display等条目

### Flink SQL Gateway 的概述 Flink SQL Gateway 是 Apache Flink 提供的一个 RESTful 接口服务,用于简化基于 SQL 的交互操作。它允许用户通过 HTTP 请求提交 SQL 查询并获取结果,而无需直接与底层的 Flink 集群进行复杂的交互[^1]。 #### 启动方式 Flink SQL Gateway 可以通过 `sql-gateway.sh` 脚本启动,该脚本位于 Flink 安装目录的 `bin/` 文件夹下。支持多种配置选项,例如设置会话超时时间或启用特定的功能模块。一个常见的启动命令如下所示: ```bash ./bin/sql-gateway.sh start -Dsql-gateway.session.idle-timeout=5min ``` 此命令设置了会话空闲超时时间为 5 分钟[^3]。 --- ### 支持的部署模式 Flink SQL Gateway 主要支持两种部署模式:YARN Session 和 YARN Per-Job 模式。 1. **YARN Session Mode**: 在这种模式下,SQL Gateway 将作为长期运行的服务实例化在一个预先分配好的 YARN 应用程序中。这意味着一旦集群初始化完成,后续所有的查询都可以重用相同的资源环境[^1]。 2. **YARN Per-Job Mode**: 对于每一个新的请求或者作业,都会动态创建一个新的独立 YARN 应用程序来执行对应的逻辑处理流程。这种方式适合那些需要高度隔离性和灵活性的任务场景[^1]。 --- ### 基础配置说明 当使用 CLI 工具启动 SQL Gateway 时,可以传递额外参数来自定义行为。比如查看帮助文档可通过以下指令实现: ```bash ./bin/sql-gateway.sh start --help ``` 这将展示所有可用选项及其描述信息[^2]。另外还可以利用 `-D<property=value>` 形式的键值对形式修改默认设定,像上面提到的例子那样调整 session timeout 参数。 --- ### 实际应用案例分析 假设我们希望构建这样一个工作流——从 Kafka 中读取数据源并通过窗口聚合计算每分钟内的平均温度值再写回到另一个主题里去,则整个过程大致分为以下几个部分(伪代码表示): ```sql CREATE TABLE kafka_input ( id STRING, temperature DOUBLE, event_time TIMESTAMP(3), WATERMARK FOR event_time AS event_time - INTERVAL '5' SECOND ) WITH ( 'connector' = 'kafka', 'topic' = 'input-topic', 'properties.bootstrap.servers' = 'localhost:9092' ); CREATE TABLE kafka_output ( window_start TIMESTAMP(3), avg_temperature DOUBLE ) WITH ( 'connector' = 'kafka', 'topic' = 'output-topic', 'properties.bootstrap.servers' = 'localhost:9092' ); INSERT INTO kafka_output SELECT TUMBLE_START(event_time, INTERVAL '1' MINUTE), AVG(temperature) FROM kafka_input GROUP BY TUMBLE(event_time, INTERVAL '1' MINUTE); ``` 以上片段展示了如何借助标准 DDL/DML 结构表达复杂业务需求,并最终由 SQL Gateway 执行解析编译优化等一系列动作之后分发到实际物理引擎上去落地实施[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值