رفتن به مطلب
  • 0

کمک در کد انیمیشن


طاها

سوال

سلام دوستان. من یه سورس انیمیشن دارم ولی هر کاری میکنم نمیتونم کد موردنظرم رو بیرون بکشم. من میخوام انیمیشن باتن 3 رو در سورس روی یک باتن دیگر به اسم star اجرا کنم.

به این صورت که تایمر هر 5 ثانیه این انیمیشن رو اجرا کنه.

#Region Module Attributes
	#FullScreen: False
	#IncludeTitle: True
	#ApplicationLabel: Animation Example
	#VersionCode: 1
	#VersionName: 
	#SupportedOrientations: unspecified
#End Region

'Activity module
Sub Process_Globals
	
End Sub

Sub Globals
	Dim Button1 As Button
	Dim Button2 As Button
	Dim Button3 As Button
	Dim Button4 As Button
	Dim Button5 As Button
	Dim Button6 As Button
	Dim Button7 As Button
	Dim Button8 As Button
	Dim Button9 As Button
	Dim a6, a7, a8, a9 As Animation
End Sub 

Sub Activity_Create(FirstTime As Boolean)
	Dim a1, a2, a3, a4, a5 As Animation
	Activity.LoadLayout("1")
	a1.InitializeAlpha("", 1, 0)
	Button1.Tag = a1
	a2.InitializeRotate("", 0, 180)
	Button2.Tag = a2
	a3.InitializeRotateCenter("", 0, 180, Button3)
	Button3.Tag = a3
	a4.InitializeScale("", 1, 1, 0, 5)
	Button4.Tag = a4
	a5.InitializeScaleCenter("", 1, 1, 0, 0, Button4)
	Button5.Tag = a5
	Dim animations() As Animation
	animations = Array As Animation(a1, a2, a3, a4, a5)
	For i = 0 To animations.Length - 1
		animations(i).Duration = 1000
		animations(i).RepeatCount = 1
		animations(i).RepeatMode = animations(i).REPEAT_REVERSE
	Next
	a6.InitializeTranslate("Animation", 0, 0, 0dip, 200dip) 'we want to catch the AnimationEnd event for these animations
	a7.InitializeTranslate("Animation", 0dip, 200dip, -200dip, 200dip) 
	a8.InitializeTranslate("Animation", -200dip, 200dip, -200dip, 0dip) 
	a9.InitializeTranslate("Animation", -200dip, 0dip, 0dip, 0dip)
	Button6.Tag = a6
	animations = Array As Animation(a6, a7, a8, a9)
	For i = 0 To animations.Length - 1
		animations(i).Duration = 500
	Next
End Sub
Sub Animation_AnimationEnd
	If Sender = a6 Then
		a7.Start(Button6)
	Else If Sender = a7 Then
		a8.Start(Button6)
	Else If Sender = a8 Then
		a9.Start(Button6)
	End If
End Sub
Sub Button_Click
	Dim b As Button
	b = Sender
	'Safety check. Not really required in this case.
	If Not(b.Tag Is Animation) Then Return
	Dim a As Animation
	a = b.Tag
	a.Start(b)
End Sub

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

6 پاسخ به این سوال تاکنون داده شده است

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

مشکل حل شد. کد نهایی را برای دوستان قرار دادم. (باتشکر از آقای نیکروان و آباد)

Sub Globals
Dim ani As Animation
Dim t As Timer
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("main")
ani.InitializeRotateCenter("", 0, 180, star)
ani.Duration = 1000
t.Initialize("t",5000)
t.Enabled=True
End Sub

Sub t_tick
	ani.Start(star)
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

به این صورت کار کن:


Sub Globals
Dim ani As Animation
Dim t As Timer
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("main")
ani.InitializeRotateCenter("", 0, 180, star)
t.Initialize("t",5000)
t.Enabled=True
End Sub

Sub t_tick
	ani.Start(star)
End Sub

یه انیمیشن و یه تایمر تعریف شده.

که انیمیشن InitializeRotateCenter شد ، مثل سورس بالا و تایمر هم روی 5ثانیه قرار گرفت.

اسم باتن هم star هست. و هر 5ثانیه میاد استارت میکنه.

ممنون. ولی سرعت انیمیشن خیلی بالاست. چیکار کنم کم بشه؟

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

کاری که من میخوام انجام بدم:

موقع شروع اکتیویتی، تایمر شروع به کار کنه. بعد از اتمام شمارش، انیمیشن باتن شروع به کار کنه. (انیمیشن مد نظر من، انیمیشن باتن 3 در کد بالاست). و این روند همینطور ادامه پیدا کنه

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

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

داداش این کدی که من گذاشتم مربوط به همین سورسه.

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

سلام.

به این صورت کار کن:


Sub Globals
Dim ani As Animation
Dim t As Timer
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("main")
ani.InitializeRotateCenter("", 0, 180, star)
t.Initialize("t",5000)
t.Enabled=True
End Sub

Sub t_tick
	ani.Start(star)
End Sub

یه انیمیشن و یه تایمر تعریف شده.

که انیمیشن InitializeRotateCenter شد ، مثل سورس بالا و تایمر هم روی 5ثانیه قرار گرفت.

اسم باتن هم star هست. و هر 5ثانیه میاد استارت میکنه.

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

بایگانی شده

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

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

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