在本页

Sprite QML Type

指定精灵动画。更多

Import Statement: import QtQuick

属性

详细说明

精灵(Sprite)定义了一系列由一个或多个帧组成的动画,并由SpriteSequence 渲染。这些精灵可以位于图像文件的中间,也可以沿多行分割,只要它们能形成一条连续的线,从文件的左边缘缠绕到文件的下一行即可。

有关详细信息,请参阅 "精灵动画"概述。

属性文档

duration : int

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

如果frameRate 有效,则将使用它来计算帧的持续时间。如果不是,且frameDuration 有效,则将使用frameDuration 。否则将使用持续时间。

durationVariation : int

动画的持续时间最多可以改变这个数量。变化不会将动画的长度减至小于 0。

durationVariation 只有在计算帧的持续时间时才会生效。

默认值为 0。

frameCount : int

该精灵的帧数。

frameDuration : int

动画每帧的持续时间(毫秒)。低于 0 的值无效。

如果frameRate 有效,则将使用它来计算帧的持续时间。如果不是,且 frameDuration 有效,则使用 frameDuration。否则将使用持续时间。

frameDurationVariation : int

动画中每一帧的持续时间最多可以改变这个数量。变化不会使动画的长度小于 0。

frameDurationVariation 只有在frameDuration 用于计算帧的持续时间时才会生效。

默认值为 0。

frameHeight : int

该精灵单帧的高度。

frameRate : real

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

如果 frameRate 有效,则将使用它来计算帧的持续时间。如果不是,且frameDuration 有效,则将使用frameDuration 。否则将使用持续时间。

frameRateVariation : real

动画之间的帧频变化幅度可以达到这个数值。帧速率的变化绝不会使动画的长度小于 0。

frameRateVariation 只有在frameRate 用于计算帧的持续时间时才会生效。

默认值为 0。

frameSync : bool

如果为 true,则动画没有持续时间。相反,每向屏幕渲染一帧,动画就前进一帧。这将使动画与绘制速度同步,而不是与流逝时间同步。

如果 frameSync 设置为 true,它将覆盖所有持续时间、frameRateframeDuration

默认值为 false。

frameWidth : int

该精灵单帧的宽度。

frameX : int

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

frameY : int

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

name : string

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

randomStart : bool

如果为 "true",则动画在开始第一个动画时会随机跳过一段动画时间。这样,当动画开始时,它们看起来就不会像刚刚开始一样。

这只会影响播放的第一个动画。过渡到另一个动画或再次播放同一个动画不会触发此操作。

默认值为 false。

reverse : bool

如果为 "true",动画将反向播放。

默认为假。

source : url

动画的图像源。

如果未指定frameHeightframeWidth ,则假定为一长排正方形帧。否则,可以是多个连续行或矩形帧,当一行用完时,将使用下一行。

如果指定了frameXframeY ,则将以该 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.