تمام سوالات سوالات بدون پاسخ سوال بپرسید

سلام
چطور میتونم یک انیمیشن رو درست در لحظه تغییر مقدار یک property اجرا کنم؟

2 پاسخ

سلام
با استفاده از behavior میشه این کار رو انجام داد.
شما ابتدا خاصیت running انیمیشنی که تعریف کردید رو برابر false قرار بدید.
بعد داخل شئی که با تغییر property اون باید انیمیشن اجرا بشه،یک behavior به صورت زیر تعریف کنید:

Text {
        id: text1
        x: 12
        y: 34
        width: 276
        color: "red"
        height: 152
        text: qsTr("please wait...")
        anchors.verticalCenterOffset: -5
        anchors.horizontalCenterOffset: 0
        anchors.horizontalCenter: parent.horizontalCenter
        anchors.verticalCenter: parent.verticalCenter
        font.family: "Arial"
        wrapMode: Text.WordWrap
        horizontalAlignment: Text.AlignRight
        font.pixelSize: 14
        Behavior on color {
            PropertyAction { target: anim; property: "running"; value: "true" }
        }
    }
SequentialAnimation{
    id:anim
    running: false
    NumberAnimation { target: text1; property: "rotation"; from:0; to: 60; duration: 1000 }
}

حالا بلافاصله در لحظه تغییر مقدار color انیمیشن هم اجرا میشه.


سلام
در QtQuick برای هر property یک رویداد درونی تعریف شده (بصورت اتومات تعریف میشه). می‌تونید از این رویدادها برای کنترل نما استفاده کنید. در زیر مثالی را مشاهده می‌کنید که در آن با تغییر مقدار color مربوط به rect1، انیمیشن anim اجرا می‌شود:

Rectangle {
    id: rec1
    width: 100; height: 100
    color: "#343434"
    onColorChanged: { anim.start(); }
}
SequentialAnimator {
    id: anim
    RotationAnimation {
        target: rec1
        property: "rotate"
        from: 0; to: 360; duration: 1000
    }
}
toggle preview



آموزش زبان برنامه نویسی C#
آموزش jquery
آموزش برنامه نویسی
آموزش طراحی وبسایت
آموزش مدیریت وبسایت
آموزش جاوا Java
آموزش پایتون Python
آموزش سی شارپ C#‎
آموزش HTML و CSS
آموزش JavaScript جاوااسکریپت
آموزش jQuery جی کوئری
آموزش ساخت ربات تلگرام
آموزش برنامه‌نویسی PHP
آموزش برنامه‌نویسی اندروید
● آموزش‌های رایگان

سوالات مرتبط

راهنمای استفاده از ویرایشگر
  • *ایتالیک*‌ یا __ایتالیک__
  • **ضخیم** یا __ضخیم__
  • آدرس:[متن](http://url.com/ "عنوان")
  • عکس?![alt متن](/path/img.jpg "عنوان")
  • لیست عددی: 1. Foo 2. Bar
  • برای رفتن به خط بعد، هر جا مایلید که خط جدید شروع شود دو کاراکتر فاصله (space) قرار دهید
  • تگ‌های ساده HTML هم پشتیبانی می‌شوند

تگها:
  • ×52
  • ×43
  • ×10
  • ×4
  • پرسیده شده: 15 ژوئیه '12, 13:38
  • بازدید: 2,070 بار
  • آخرین بروزرسانی: 07 سپتامبر '15, 02:29

این سوال را دنبال کنیدتوسط ایمیل: ایمیل شما (باید معتبر باشد, هرگز به دیگران نمایش داده نمیشود):

هنگامی که شما به سیستم وارد شوید،قادر خواهید بود برای بروز رسانی ها مشترک شوید.


توسط RSS:

پاسخها

پاسخها و نظرها