SpringAnimation QML Type

프로퍼티가 스프링과 같은 동작으로 값을 추적할 수 있습니다. 더 보기...

Import Statement: import QtQuick
Inherits:

NumberAnimation

속성

상세 설명

스프링 애니메이션은 스프링의 진동 동작을 모방하며, 적절한 spring 상수를 사용하여 가속도를 제어하고 damping 을 사용하여 효과가 사라지는 속도를 제어합니다.

애니메이션의 최대값 velocity 을 제한할 수도 있습니다.

다음 Rectangle 은 마우스를 클릭하면 스프링 애니메이션을 사용하여 마우스 위치로 이동합니다. xy 값에 Behavior 을 사용하는 것은 이러한 값이 변경될 때마다 스프링 애니메이션이 적용되어야 함을 나타냅니다.

import QtQuick

Item {
    width: 300; height: 300

    Rectangle {
        id: rect
        width: 50; height: 50
        color: "red"

        Behavior on x { SpringAnimation { spring: 2; damping: 0.2 } }
        Behavior on y { SpringAnimation { spring: 2; damping: 0.2 } }
    }

    MouseArea {
        anchors.fill: parent
        onClicked: (mouse)=> {
            rect.x = mouse.x - rect.width/2
            rect.y = mouse.y - rect.height/2
        }
    }
}

다른 애니메이션 유형과 마찬가지로 스프링 애니메이션은 트랜지션, 동작 및 속성 값 소스 등 다양한 방식으로 적용될 수 있습니다. Qt Quick 의 애니메이션 및 트랜지션 문서에는 애니메이션을 만드는 다양한 방법이 나와 있습니다.

SmoothedAnimation, Qt Quick 의 애니메이션 및 트랜지션, Qt Quick 예제 - 애니메이션Qt Quick 데모 - 시계도참조하세요 .

프로퍼티 문서

damping : real

이 프로퍼티는 스프링 댐핑 값을 보유합니다.

이 값은 스프링과 같은 동작이 얼마나 빨리 멈추는지를 나타냅니다. 기본값은 0입니다.

유용한 값 범위는 0 - 1.0입니다. 값이 낮을수록 더 빨리 정지합니다.


epsilon : real

이 속성은 스프링 엡실론을 보유합니다.

엡실론은 0에 충분히 가까워서 0과 같다고 간주되는 값의 변화 속도와 양을 말합니다. 이는 값의 용도에 따라 달라집니다. 픽셀 위치의 경우 0.25이면 충분합니다. 배율의 경우 0.005이면 충분합니다.

기본값은 0.01입니다. 이 값을 조정하면 약간의 성능 향상을 얻을 수 있습니다.


mass : real

이 프로퍼티는 이동 중인 프로퍼티의 "질량"을 보유합니다.

기본값은 1.0입니다.

질량이 클수록 이동 속도가 느려지고 항목이 멈출 때 스프링처럼 더 큰 움직임이 발생합니다.


modulus : real

이 프로퍼티는 모듈러스 값을 보유합니다. 기본값은 0입니다.

modulus 을 설정하면 목표 값이 모듈러스에서 "랩 어라운드"됩니다. 예를 들어, 계수를 360으로 설정하면 370의 값이 10으로 래핑됩니다.


spring : real

이 속성은 타깃이 소스 쪽으로 얼마나 강하게 당겨지는지를 설명합니다. 기본값은 0입니다(즉, 스프링과 같은 동작이 비활성화됨).

유용한 값 범위는 0 - 5.0입니다.

이 속성을 설정하고 velocity 값이 0보다 크면 velocity 에서 최대 속도를 제한합니다.


velocity : real

이 속성은 소스를 추적할 때 허용되는 최대 속도를 유지합니다.

기본값은 0(최대 속도 없음)입니다.


© 2025 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.