GFScreenTransitionEffect¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/utilities/scene/gf_screen_transition_effect.gd - 模块:
Standard - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
3.23.0
屏幕覆盖式转场效果配置。 只描述通用覆盖层颜色、透明度、时长、缓动和可选 ShaderMaterial 进度参数, 不绑定具体场景切换流程或项目视觉资源。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 枚举 | EasingMode |
enum EasingMode |
| 属性 | duration_seconds |
var duration_seconds: float = 0.25 |
| 属性 | from_alpha |
var from_alpha: float = 0.0 |
| 属性 | to_alpha |
var to_alpha: float = 1.0 |
| 属性 | color |
var color: Color = Color.BLACK |
| 属性 | layer |
var layer: int = 120 |
| 属性 | block_input |
var block_input: bool = true |
| 属性 | easing_mode |
var easing_mode: EasingMode = EasingMode.SMOOTH_STEP |
| 属性 | shader_material |
var shader_material: ShaderMaterial = null |
| 属性 | progress_parameter |
var progress_parameter: StringName = &"progress" |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | configure |
func configure( new_duration_seconds: float, new_from_alpha: float, new_to_alpha: float, new_color: Color = Color.BLACK ) -> GFScreenTransitionEffect: |
| 方法 | sample_weight |
func sample_weight(elapsed_seconds: float) -> float: |
| 方法 | sample_alpha |
func sample_alpha(weight: float) -> float: |
| 方法 | duplicate_effect |
func duplicate_effect() -> GFScreenTransitionEffect: |
| 方法 | to_dict |
func to_dict() -> Dictionary: |
枚举¶
EasingMode¶
- API:
public
enum EasingMode { ## 线性采样。 LINEAR, ## smoothstep 采样。 SMOOTH_STEP, ## 二次缓入。 EASE_IN, ## 二次缓出。 EASE_OUT, ## 二次缓入缓出。 EASE_IN_OUT, }
转场权重采样的缓动模式。
属性¶
duration_seconds¶
- API:
public
转场时长,单位秒。小于等于 0 时会在下一次推进时立即完成。
from_alpha¶
- API:
public
起始透明度。
to_alpha¶
- API:
public
结束透明度。
color¶
- API:
public
覆盖层颜色。
layer¶
- API:
public
CanvasLayer 层级。
block_input¶
- API:
public
是否让覆盖层拦截鼠标和触摸输入。
easing_mode¶
- API:
public
权重采样缓动模式。
shader_material¶
- API:
public
可选 ShaderMaterial。Utility 会复制该材质并写入 progress_parameter。
progress_parameter¶
- API:
public
shader_material 中表示进度的参数名。为空时不写入 shader 参数。
metadata¶
- API:
public
项目自定义元数据。框架不解释该字段。
结构:
metadata: Dictionary[String, Variant],项目自定义元数据;框架不会读取或改写其中字段。
方法¶
configure¶
- API:
public
func configure( new_duration_seconds: float, new_from_alpha: float, new_to_alpha: float, new_color: Color = Color.BLACK ) -> GFScreenTransitionEffect:
批量配置转场效果。
参数:
| 名称 | 说明 |
|---|---|
new_duration_seconds |
转场时长,单位秒。 |
new_from_alpha |
起始透明度。 |
new_to_alpha |
结束透明度。 |
new_color |
覆盖层颜色。 |
返回:当前资源,便于链式配置。
sample_weight¶
- API:
public
根据已流逝时间采样 0 到 1 的转场权重。
参数:
| 名称 | 说明 |
|---|---|
elapsed_seconds |
已流逝秒数。 |
返回:缓动后的权重。
sample_alpha¶
- API:
public
根据转场权重采样覆盖层透明度。
参数:
| 名称 | 说明 |
|---|---|
weight |
0 到 1 的转场权重。 |
返回:插值后的透明度。
duplicate_effect¶
- API:
public
复制转场效果配置。
返回:深拷贝后的转场效果。
to_dict¶
- API:
public
转换为 Dictionary。
返回:配置字典。
结构:
return: Dictionary,包含 duration_seconds、from_alpha、to_alpha、color、layer、block_input、easing_mode、progress_parameter、has_shader_material 和 metadata。