رفتن به مطلب

انیمیشن زیبا با SetLayoutAnimated


Salar82

ارسال‌های توصیه شده

سلام

با قطعه کد زیر، میتونید یه انیمیشن به برنامتون اضاف کنید:

قبل از اینکه کد رو بذارم، یه پیش نمایش بهتون بدم:

anim1-gif.87298    و   anim2-gif.87299

 

کد زیر رو به اکتیویتی اضاف کنید:

Sub Animated(l1 As Long, l2 As Long, t1 As Long, t2 As Long)
    Dim p As B4XView = xui.CreatePanel("")
    Activity.AddView(p, Rnd(l1,l2), Rnd(t1,t2), 30dip, 30dip)
    p.SendToBack 'this is optional
    p.SetColorAndBorder(xui.Color_ARGB(255, Rnd(0,255), Rnd(0,255), Rnd(0,255)), 0dip, xui.Color_White, Rnd(0,20))
    p.SetLayoutAnimated(1000, Rnd(l1,l2), Rnd(t1,t2), 5dip, 5dip)
    p.SetVisibleAnimated(1000, False)
    Sleep(1000)
    p.RemoveViewFromParent
End Sub

 

همونطور که می‌بینید، این ساب چهارتا ورودی میگیره.

اگر به کد دقت کنید، تو خط دوم ساب، از این چهار تا ورودی، برای اد کردن ویوهای رنگی، دو به دو با تابع Rnd، از اونا استفاده شده.

 

l1 و l2: سمت چپ ویو رو مشخص میکنه.(در واقع محدودش رو) یعنی ویویی که اد میشه، Left اون، عددی بین l1وl2 هست.

t1 و t2: این دو تا هم، Top ویو رو مشخص میکنن. درست عین بالا

 

مثال زیر، کد عکس سمت راستی:

Sub SwiftButton1_Click
    Dim l1, l2, t1, t2 As Long
    Dim btn As SwiftButton = SwiftButton1
  
    l1 = btn.mBase.Left - 50dip
    l2 = btn.mBase.Left + btn.mBase.Width + 50dip
    t1 = btn.mBase.Top - 50dip
    t2 = btn.mBase.Top + btn.mBase.Height + 50dip
  
    For i = 1 To 8
        Animated(l1,l2,t1,t2)
    Next
End Sub

 

کد زیر هم مال سمت چپی:

Sub Activity_Touch (Action As Int, X As Float, Y As Float)
    Dim l1, l2, t1, t2 As Long
  
    l1 = x - 100dip
    l2 = x + 100dip
    t1 = y - 100dip
    t2 = y + 100dip
  
    For i = 1 To 2
        Animated(l1,l2,t1,t2)
    Next
End Sub

 

 

اگر نتونستم منظورم رو درست برسونم، ببخشید. :53:

 

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...