本页内容

Sprite QML Type

指定精灵动画。更多...

Import Statement: import QtQuick

属性

详细说明

Sprite 定义了一系列将由SpriteSequence 进行动画处理和渲染的一个或多个帧。这些 Sprite 可以位于图像文件的中间,也可以分多行排列,只要它们从文件的左边缘开始形成一条连续的行,并在文件中向下一行环绕即可。

有关完整详情,请参阅“精灵动画”概述。

属性文档

duration : int

动画的持续时间。小于 0 的值无效。

如果frameRate 有效,则将使用该值来计算帧的持续时间。如果无效,且frameDuration 有效,则将使用frameDuration 。否则,将使用duration。

durationVariation : int

动画的持续时间最多可在此范围内波动。该变动绝不会使动画时长缩短至小于 0。

只有当使用 duration 来计算帧的持续时间时,durationVariation 才会生效。

默认值为 0。

frameCount : int

该精灵的帧数。

frameDuration : int

动画中每个帧的持续时间(单位:毫秒)。小于 0 的值无效。

如果 `frameRate ` 有效,则将使用该值计算帧的持续时间。如果无效,且 `frameDuration` 有效,则使用 `frameDuration`。否则,使用 `duration`。

frameDurationVariation : int

动画中单帧的持续时间最多可在此范围内波动。这种波动绝不会使动画时长缩短至小于0。

只有当使用frameDuration 来计算帧时长时,frameDurationVariation才会生效。

默认值为 0。

frameHeight : int

此精灵中单帧的高度。

frameRate : real

动画中显示的每秒帧数。小于 0 的值无效。

如果 frameRate 有效,则将其用于计算帧的持续时间。如果无效,且frameDuration 有效,则使用frameDuration 。否则,使用 duration。

frameRateVariation : real

动画之间的帧率波动幅度最多可达此值。这种波动绝不会导致动画时长缩短至小于0。

只有当使用frameRate 来计算帧的持续时间时,frameRateVariation才会生效。

默认值为 0。

frameSync : bool

如果为 true,则动画将没有持续时间。相反,每次将帧渲染到屏幕上时,动画都会前进一帧。这使其与绘制频率同步,而非与经过的时间同步。

如果 frameSync 设置为 true,则会覆盖 duration、frameRate 和frameDuration 的所有设置。

默认值为 false。

frameWidth : int

该精灵中单个帧的宽度。

frameX : int

精灵第一帧图像文件中的 X 坐标。

frameY : int

精灵第一帧图像文件中的 Y 坐标。

name : string

此精灵的名称,用于其他精灵的 to 属性中。

randomStart : bool

如果为真,则动画将在跳过其持续时间中随机一段后开始播放第一个动画。这样可以避免动画开始时看起来像是所有动画都刚好同时启动。

此设置仅影响播放的第一个动画。过渡到另一个动画或再次播放同一个动画时,不会触发此效果。

默认值为 false。

reverse : bool

如果为 true,则动画将倒着播放。

默认值为 false。

source : url

动画的图像来源。

如果未指定frameHeight 和frameWidth ,则默认采用单行长列的正方形帧。否则,可以是多行连续的帧或矩形帧,当一行用完时将自动使用下一行。

如果指定了frameX 和frameY ,则将以该x/y坐标作为左上角来选取帧行。

to : QVariantMap

其他精灵及其过渡权重的列表,例如 {"a":1, "b":2, "c":0} 表示当该精灵结束时,三分之一应过渡到精灵“a”,三分之二应过渡到精灵“b”。 由于过渡效果是随机选择的,因此这些比例不会完全精确。如果列表中包含 "c":0,则不会有精灵随机过渡到 "c",但如果设置了精灵目标,这仍将是一条有效的路径。

如果未指定列表,或者列表中权重的总和为零,则精灵在完成当前动画后将重复播放自身。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.