Sub FullRefreshLandscape(Engine As LWEngine)
'Refresh background at start
Dim aRectOffSet_small As Rect
Dim aRectOffSet_medium As Rect
Dim aRectOffSet_big As Rect
Dim aRect As Rect
Dim starsmallrect As Rect
Dim starsmallrect_offset As Rect
Dim starmediumrect As Rect
Dim starmediumrect_offset As Rect
Dim starbigrect As Rect
Dim starbigrect_offset As Rect
'set sparkles
Dim sparkleRect As Rect
Dim sparkleRectOffset_small1 As Rect
Dim sparkleRectOffset_small2 As Rect
Dim sparkleRectOffset_small3 As Rect
Dim sparkleRectOffset_small4 As Rect
Dim sparkleRectOffset_small5 As Rect
Dim sparkleRectOffset_small6 As Rect
Dim sparkleRectOffset_small7 As Rect
Dim sparkleRectOffset_small8 As Rect
Dim sparkleRectOffset_medium1 As Rect
Dim sparkleRectOffset_medium2 As Rect
Dim sparkleRectOffset_medium3 As Rect
Dim sparkleRectOffset_medium4 As Rect
Dim sparkleRectOffset_medium5 As Rect
Dim sparkleRectOffset_medium6 As Rect
Dim sparkleRectOffset_medium7 As Rect
Dim sparkleRectOffset_medium8 As Rect
Dim sparkleRectOffset_big1 As Rect
Dim sparkleRectOffset_big2 As Rect
Dim sparkleRectOffset_big3 As Rect
Dim sparkleRectOffset_big4 As Rect
Dim sparkleRectOffset_big5 As Rect
Dim sparkleRectOffset_big6 As Rect
Dim sparkleRectOffset_big7 As Rect
Dim sparkleRectOffset_big8 As Rect
getrotatespeed
If getrotspd = 0 Then AngleStep = 0.05
If getrotspd = 1 Then AngleStep = 0.30
If getrotspd = 2 Then AngleStep = 0.65
If getrotspd = 3 Then AngleStep = 0.80
If getrotspd = 4 Then AngleStep = 1.00
If getrotspd = 5 Then AngleStep = 5.00
Angle = (Angle+AngleStep) Mod 360
aRectOffSet_small.Initialize(0.1*bgsmall.width,0, bgsmall.width-(bgsmall.width-Engine.ScreenWidth)+(0.1*bgsmall.width), bgsmall.height-(bgsmall.height-Engine.ScreenHeight))
aRectOffSet_medium.Initialize(0.1*bgmedium.width,0, bgmedium.width-(bgmedium.width-Engine.ScreenWidth)+(0.1*bgmedium.width), bgmedium.height-(bgmedium.height-Engine.ScreenHeight))
aRectOffSet_big.Initialize(0.1*bgbig.width,0, bgbig.width-(bgbig.width-Engine.ScreenWidth)+(0.1*bgbig.width), bgbig.height-(bgbig.height-Engine.ScreenHeight))
'set the star rotation
starsmallrect_offset.Initialize(DipToCurrent(0.1*Engine.ScreenWidth),DipToCurrent(0.1*Engine.ScreenHeight),(DipToCurrent((0.1*Engine.ScreenWidth)))+250, 250+DipToCurrent((0.1*Engine.ScreenHeight)))
starmediumrect_offset.Initialize(DipToCurrent(0.15*Engine.ScreenWidth),DipToCurrent(0.1*Engine.ScreenHeight),(DipToCurrent((0.15*Engine.ScreenWidth)))+500, 500+DipToCurrent((0.1*Engine.ScreenHeight)))
starbigrect_offset.Initialize(DipToCurrent(0.1*Engine.ScreenWidth),DipToCurrent(0.1*Engine.ScreenHeight),(DipToCurrent((0.1*Engine.ScreenWidth)))+800, 800+DipToCurrent((0.1*Engine.ScreenHeight)))
'set the sparkles small
sparkleRectOffset_small1.Initialize((0.1*bgsmall.width), 100 ,((0.1*bgsmall.width))+200, bmpbs.height+100)
sparkleRectOffset_small2.Initialize((0.3*bgsmall.width), 500 ,((0.3*bgsmall.width))+200, bmpbs.height+500)
sparkleRectOffset_small3.Initialize((0.4*bgsmall.width), 100 ,((0.4*bgsmall.width))+200, bmpbs.height+100)
sparkleRectOffset_small4.Initialize((0.5*bgsmall.width), 400 ,((0.5*bgsmall.width))+200, bmpbs.height+400)
sparkleRectOffset_small5.Initialize((0.7*bgsmall.width), 100 ,((0.7*bgsmall.width))+200, bmpbs.height+100)
sparkleRectOffset_small6.Initialize((0.7*bgsmall.width), 300 ,((0.7*bgsmall.width))+200, bmpbs.height+300)
sparkleRectOffset_small7.Initialize((0.1*bgsmall.width), 300 ,((0.1*bgsmall.width))+200, bmpbs.height+300)
sparkleRectOffset_small8.Initialize((0.7*bgsmall.width), 300 ,((0.7*bgsmall.width))+200, bmpbs.height+300)
'set the sparkles medium
sparkleRectOffset_medium1.Initialize((0.1*bgmedium.width), 100 ,((0.1*bgmedium.width))+200, bmpbs.height+100)
sparkleRectOffset_medium2.Initialize((0.3*bgmedium.width), 500 ,((0.3*bgmedium.width))+200, bmpbs.height+500)
sparkleRectOffset_medium3.Initialize((0.4*bgmedium.width), 100 ,((0.4*bgmedium.width))+200, bmpbs.height+100)
sparkleRectOffset_medium4.Initialize((0.5*bgmedium.width), 400 ,((0.5*bgmedium.width))+200, bmpbs.height+400)
sparkleRectOffset_medium5.Initialize((0.7*bgmedium.width), 100 ,((0.7*bgmedium.width))+200, bmpbs.height+100)
sparkleRectOffset_medium6.Initialize((0.7*bgmedium.width), 600 ,((0.7*bgmedium.width))+200, bmpbs.height+600)
sparkleRectOffset_medium7.Initialize((0.1*bgmedium.width), 650 ,((0.1*bgmedium.width))+200, bmpbs.height+650)
sparkleRectOffset_medium8.Initialize((0.7*bgmedium.width), 650 ,((0.7*bgmedium.width))+200, bmpbs.height+650)
'set the sparkles big
sparkleRectOffset_big1.Initialize((0.1*bgbig.width), 100 ,((0.1*bgbig.width))+200, bmpbs.height+100)
sparkleRectOffset_big2.Initialize((0.3*bgbig.width), 500 ,((0.3*bgbig.width))+200, bmpbs.height+500)
sparkleRectOffset_big3.Initialize((0.4*bgbig.width), 100 ,((0.4*bgbig.width))+200, bmpbs.height+100)
sparkleRectOffset_big4.Initialize((0.5*bgbig.width), 400 ,((0.5*bgbig.width))+200, bmpbs.height+400)
sparkleRectOffset_big5.Initialize((0.7*bgbig.width), 100 ,((0.7*bgbig.width))+200, bmpbs.height+100)
sparkleRectOffset_big6.Initialize((0.7*bgbig.width), 600 ,((0.7*bgbig.width))+200, bmpbs.height+600)
sparkleRectOffset_big7.Initialize((0.03*bgbig.width), 800 ,((0.03*bgbig.width))+200, bmpbs.height+800)
sparkleRectOffset_big8.Initialize((0.8*bgbig.width), 800 ,((0.8*bgbig.width))+200, bmpbs.height+800)
'DrawBackground (Engine)
sparkleRect.Initialize(0,0,200,200)
starsmallrect.Initialize(0,0,250,250)
starmediumrect.Initialize(0,0,500,500)
starbigrect.Initialize(0,0,800,800)
aRect.Initialize(0,0,Engine.ScreenWidth,Engine.ScreenHeight)
' Log("arecoffset_small : " &aRectOffSet_small)
' Log("arecoffset_medium : " &aRectOffSet_medium)
' Log("arecoffset_big : " &aRectOffSet_big)
' Log("arect : " &aRect)
'
'Portrait
If Engine.ScreenWidth <= 480 Then
Engine.Canvas.DrawBitmap(bgsmall,aRectOffSet_small,aRect)
getpattern
If getpat="0" Then Engine.Canvas.DrawBitmapRotated(starbig,Null,starsmallrect_offset,Angle)
If getpat="1" Then Engine.Canvas.DrawBitmapRotated(starbig2,Null,starsmallrect_offset,Angle)
If getpat="2" Then Engine.Canvas.DrawBitmapRotated(starbig3,Null,starsmallrect_offset,Angle)
If getpat="3" Then Engine.Canvas.DrawBitmapRotated(starbig4,Null,starsmallrect_offset,Angle)
If getpat="4" Then Engine.Canvas.DrawBitmapRotated(starbig5,Null,starsmallrect_offset,Angle)
If getpat="5" Then Engine.Canvas.DrawBitmapRotated(starbig6,Null,starsmallrect_offset,Angle)
If getpat="6" Then Engine.Canvas.DrawBitmapRotated(starbig7,Null,starsmallrect_offset,Angle)
If getpat="7" Then Engine.Canvas.DrawBitmapRotated(starbig8,Null,starsmallrect_offset,Angle)
If getpat="8" Then Engine.Canvas.DrawBitmapRotated(starbig9,Null,starsmallrect_offset,Angle)
If getpat="9" Then Engine.Canvas.DrawBitmapRotated(starbig10,Null,starsmallrect_offset,Angle)
bmpbs.Initialize(File.DirAssets,anim.get(animindex))
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_small1) ' ground...
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_small2)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_small3)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_small4)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_small5)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_small6)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_small7)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_small8)
Else If Engine.ScreenWidth <= 960 Then
Engine.Canvas.DrawBitmap(bgmedium,aRectOffSet_medium,aRect)
getpattern
If getpat="0" Then Engine.Canvas.DrawBitmapRotated(starbig,Null,starmediumrect_offset,Angle)
If getpat="1" Then Engine.Canvas.DrawBitmapRotated(starbig2,Null,starmediumrect_offset,Angle)
If getpat="2" Then Engine.Canvas.DrawBitmapRotated(starbig3,Null,starmediumrect_offset,Angle)
If getpat="3" Then Engine.Canvas.DrawBitmapRotated(starbig4,Null,starmediumrect_offset,Angle)
If getpat="4" Then Engine.Canvas.DrawBitmapRotated(starbig5,Null,starmediumrect_offset,Angle)
If getpat="5" Then Engine.Canvas.DrawBitmapRotated(starbig6,Null,starmediumrect_offset,Angle)
If getpat="6" Then Engine.Canvas.DrawBitmapRotated(starbig7,Null,starmediumrect_offset,Angle)
If getpat="7" Then Engine.Canvas.DrawBitmapRotated(starbig8,Null,starmediumrect_offset,Angle)
If getpat="8" Then Engine.Canvas.DrawBitmapRotated(starbig9,Null,starmediumrect_offset,Angle)
If getpat="9" Then Engine.Canvas.DrawBitmapRotated(starbig10,Null,starmediumrect_offset,Angle)
bmpbs.Initialize(File.DirAssets,anim.get(animindex))
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_medium1) ' ground...
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_medium2)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_medium3)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_medium4)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_medium5)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_medium6)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_medium7)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_medium8)
Else If Engine.ScreenWidth <= 1280 Then
Engine.Canvas.DrawBitmap(bgbig,aRectOffSet_big,aRect)
getpattern
If getpat="0" Then Engine.Canvas.DrawBitmapRotated(starbig,Null,starbigrect_offset,Angle)
If getpat="1" Then Engine.Canvas.DrawBitmapRotated(starbig2,Null,starbigrect_offset,Angle)
If getpat="2" Then Engine.Canvas.DrawBitmapRotated(starbig3,Null,starbigrect_offset,Angle)
If getpat="3" Then Engine.Canvas.DrawBitmapRotated(starbig4,Null,starbigrect_offset,Angle)
If getpat="4" Then Engine.Canvas.DrawBitmapRotated(starbig5,Null,starbigrect_offset,Angle)
If getpat="5" Then Engine.Canvas.DrawBitmapRotated(starbig6,Null,starbigrect_offset,Angle)
If getpat="6" Then Engine.Canvas.DrawBitmapRotated(starbig7,Null,starbigrect_offset,Angle)
If getpat="7" Then Engine.Canvas.DrawBitmapRotated(starbig8,Null,starbigrect_offset,Angle)
If getpat="8" Then Engine.Canvas.DrawBitmapRotated(starbig9,Null,starbigrect_offset,Angle)
If getpat="9" Then Engine.Canvas.DrawBitmapRotated(starbig10,Null,starbigrect_offset,Angle)
bmpbs.Initialize(File.DirAssets,anim.get(animindex))
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_big1) ' ground...
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_big2)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_big3)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_big4)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_big5)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_big6)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_big7)
Engine.Canvas.DrawBitmap(bmpbs,sparkleRect,sparkleRectOffset_big8)
End If
animindex=animindex+1 ' increase anim index to show picname+1
If animindex>29 Then animindex=0 ' block animindex at 51 coze we have 0+51=52 pics
End Sub
'Fungsi untuk menganimasikan item ke atas
Sub MoveUp(Engine As LWEngine)
getnumber
If xyinit = False Then
For i=0 To getnum-1
bubblexrnd(i)=Rnd(5,Engine.ScreenWidth)
Next
For i=0 To getnum-1
bubbleyrnd(i)=Engine.ScreenHeight+Rnd(1,Engine.ScreenHeight)
Next
For i=0 To bubbledynamicx.Length-1
bubbledynamicx(i)=Rnd(5,Engine.ScreenWidth)
Next
For i=0 To bubbledynamicy.Length-1
bubbledynamicy(i)=Engine.ScreenHeight+Rnd(1,Engine.ScreenHeight)
Next
xyinit = True
End If
For i=0 To getnum-1
Engine.Canvas.DrawBitmap(bubblesrndshow(i),Null,rectbubblerndshow(i))
If bubblesrndshow(i) = bubblesrnd(0) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+10, bubbleyrnd(i)+10)
Else If bubblesrndshow(i) = bubblesrnd(1) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+20, bubbleyrnd(i)+20)
Else If bubblesrndshow(i) = bubblesrnd(2) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+30, bubbleyrnd(i)+30)
Else If bubblesrndshow(i) = bubblesrnd(3) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+40, bubbleyrnd(i)+40)
Else If bubblesrndshow(i) = bubblesrnd(4) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+40, bubbleyrnd(i)+40)
Else If bubblesrndshow(i) = bubblesrnd(5) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+50, bubbleyrnd(i)+50)
Else If bubblesrndshow(i) = bubblesrnd(6) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+100, bubbleyrnd(i)+100)
End If
If getspd==0 Then
bubbleyrnd(i)=bubbleyrnd(i)-Rnd(0,2)
Else If getspd==1 Then
bubbleyrnd(i)=bubbleyrnd(i)-Rnd(1,3)
Else If getspd==2 Then
bubbleyrnd(i)=bubbleyrnd(i)-Rnd(5,10)
End If
If bubbleyrnd(i)<0 Then
bubbleyrnd(i)=Engine.ScreenHeight+Rnd(1,Engine.ScreenHeight)
bubblexrnd(i)=Rnd(5,Engine.ScreenWidth)
End If
Next
MoveUpDynamic(Engine)
End Sub
Sub MoveUpDynamic(Engine As LWEngine)
Engine.Canvas.DrawBitmap(bubbledynamic(0),Null,bubbledynamicrect(0))
Engine.Canvas.DrawBitmap(bubbledynamic(1),Null,bubbledynamicrect(1))
Engine.Canvas.DrawBitmapRotated(bubbledynamic(2),Null,bubbledynamicrect(2),Angle)
Engine.Canvas.DrawBitmapRotated(bubbledynamic(3),Null,bubbledynamicrect(3),Angle)
Engine.Canvas.DrawBitmap(bubbledynamic(4),Null,bubbledynamicrect(4))
Engine.Canvas.DrawBitmapRotated(bubbledynamic(5),Null,bubbledynamicrect(5),Angle)
Engine.Canvas.DrawBitmap(bubbledynamic(6),Null,bubbledynamicrect(6))
bubbledynamicrect(0).Initialize(bubbledynamicx(0),bubbledynamicy(0),bubbledynamicx(0)+10,bubbledynamicy(0)+10)
bubbledynamicrect(1).Initialize(bubbledynamicx(1),bubbledynamicy(1),bubbledynamicx(1)+20,bubbledynamicy(1)+20)
bubbledynamicrect(2).Initialize(bubbledynamicx(2),bubbledynamicy(2),bubbledynamicx(2)+30,bubbledynamicy(2)+30)
bubbledynamicrect(3).Initialize(bubbledynamicx(3),bubbledynamicy(3),bubbledynamicx(3)+40,bubbledynamicy(3)+40)
bubbledynamicrect(4).Initialize(bubbledynamicx(4),bubbledynamicy(4),bubbledynamicx(4)+40,bubbledynamicy(4)+40)
bubbledynamicrect(5).Initialize(bubbledynamicx(5),bubbledynamicy(5),bubbledynamicx(5)+50,bubbledynamicy(5)+50)
bubbledynamicrect(6).Initialize(bubbledynamicx(6),bubbledynamicy(6),bubbledynamicx(6)+100,bubbledynamicy(6)+100)
bubbledynamicy(0)=bubbledynamicy(0)-Rnd(6,7)
bubbledynamicy(1)=bubbledynamicy(1)-Rnd(1,2)
bubbledynamicy(2)=bubbledynamicy(2)-Rnd(2,3)
bubbledynamicy(3)=bubbledynamicy(3)-Rnd(3,4)
bubbledynamicy(4)=bubbledynamicy(4)-Rnd(6,7)
bubbledynamicy(5)=bubbledynamicy(5)-Rnd(4,5)
bubbledynamicy(6)=bubbledynamicy(6)-Rnd(2,3)
For i=0 To bubbledynamic.Length-1
' Angle = (Angle+AngleStep) Mod 360
If bubbledynamicy(i)<0 Then
bubbledynamicy(i)=Engine.ScreenHeight+Rnd(1,Engine.ScreenHeight)
bubbledynamicx(i)=Rnd(5,Engine.ScreenWidth)
End If
Next
End Sub
'Fungsi untuk menganimasikan item ke bawah
Sub MoveDown(Engine As LWEngine)
getnumber
If xyinit = False Then
For i=0 To getnum-1
bubblexrnd(i)=Rnd(5,Engine.ScreenWidth)
Next
For i=0 To getnum-1
bubbleyrnd(i)=Rnd(-Engine.ScreenHeight,-5)
Next
For i=0 To bubbledynamicx.Length-1
bubbledynamicx(i)=Rnd(5,Engine.ScreenWidth)
Next
For i=0 To bubbledynamicy.Length-1
bubbledynamicy(i)=Rnd(-Engine.ScreenHeight,-5)
Next
xyinit = True
End If
For i=0 To getnum-1
Engine.Canvas.DrawBitmap(bubblesrndshow(i),Null,rectbubblerndshow(i))
If bubblesrndshow(i) = bubblesrnd(0) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+10, bubbleyrnd(i)+10)
Else If bubblesrndshow(i) = bubblesrnd(1) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+20, bubbleyrnd(i)+20)
Else If bubblesrndshow(i) = bubblesrnd(2) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+30, bubbleyrnd(i)+30)
Else If bubblesrndshow(i) = bubblesrnd(3) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+40, bubbleyrnd(i)+40)
Else If bubblesrndshow(i) = bubblesrnd(4) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+40, bubbleyrnd(i)+40)
Else If bubblesrndshow(i) = bubblesrnd(5) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+50, bubbleyrnd(i)+50)
Else If bubblesrndshow(i) = bubblesrnd(6) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+100, bubbleyrnd(i)+100)
End If
If getspd==0 Then
bubbleyrnd(i)=bubbleyrnd(i)+Rnd(0,2)
Else If getspd==1 Then
bubbleyrnd(i)=bubbleyrnd(i)+Rnd(1,3)
Else If getspd==2 Then
bubbleyrnd(i)=bubbleyrnd(i)+Rnd(5,10)
End If
'Log("move"&move)
If bubbleyrnd(i)>Engine.ScreenHeight Then
bubbleyrnd(i)=Rnd(-800,-5)
bubblexrnd(i)=Rnd(5,Engine.ScreenWidth)
End If
Next
MoveDownDynamic(Engine)
End Sub
Sub MoveDownDynamic(Engine As LWEngine)
Engine.Canvas.DrawBitmap(bubbledynamic(0),Null,bubbledynamicrect(0))
Engine.Canvas.DrawBitmap(bubbledynamic(1),Null,bubbledynamicrect(1))
Engine.Canvas.DrawBitmapRotated(bubbledynamic(2),Null,bubbledynamicrect(2),Angle)
Engine.Canvas.DrawBitmapRotated(bubbledynamic(3),Null,bubbledynamicrect(3),Angle)
Engine.Canvas.DrawBitmap(bubbledynamic(4),Null,bubbledynamicrect(4))
Engine.Canvas.DrawBitmapRotated(bubbledynamic(5),Null,bubbledynamicrect(5),Angle)
Engine.Canvas.DrawBitmap(bubbledynamic(6),Null,bubbledynamicrect(6))
bubbledynamicrect(0).Initialize(bubbledynamicx(0),bubbledynamicy(0),bubbledynamicx(0)+10,bubbledynamicy(0)+10)
bubbledynamicrect(1).Initialize(bubbledynamicx(1),bubbledynamicy(1),bubbledynamicx(1)+20,bubbledynamicy(1)+20)
bubbledynamicrect(2).Initialize(bubbledynamicx(2),bubbledynamicy(2),bubbledynamicx(2)+30,bubbledynamicy(2)+30)
bubbledynamicrect(3).Initialize(bubbledynamicx(3),bubbledynamicy(3),bubbledynamicx(3)+40,bubbledynamicy(3)+40)
bubbledynamicrect(4).Initialize(bubbledynamicx(4),bubbledynamicy(4),bubbledynamicx(4)+40,bubbledynamicy(4)+40)
bubbledynamicrect(5).Initialize(bubbledynamicx(5),bubbledynamicy(5),bubbledynamicx(5)+50,bubbledynamicy(5)+50)
bubbledynamicrect(6).Initialize(bubbledynamicx(6),bubbledynamicy(6),bubbledynamicx(6)+100,bubbledynamicy(6)+100)
bubbledynamicy(0)=bubbledynamicy(0)+Rnd(4,5)
bubbledynamicy(1)=bubbledynamicy(1)+Rnd(1,2)
bubbledynamicy(2)=bubbledynamicy(2)+Rnd(5,6)
bubbledynamicy(3)=bubbledynamicy(3)+Rnd(3,4)
bubbledynamicy(4)=bubbledynamicy(4)+Rnd(4,5)
bubbledynamicy(5)=bubbledynamicy(5)+Rnd(4,5)
bubbledynamicy(6)=bubbledynamicy(6)+Rnd(2,3)
For i=0 To bubbledynamic.Length-1
' Angle = (Angle+AngleStep) Mod 360
If bubbledynamicy(i)>Engine.ScreenHeight Then
bubbledynamicy(i)=Rnd(-800,-5)
bubbledynamicx(i)=Rnd(5,Engine.ScreenWidth)
End If
Next
End Sub
'Fungsi untuk menganimasikan item ke kiri
Sub MoveLeft(Engine As LWEngine)
getnumber
If xyinit = False Then
For i=0 To getnum-1
bubblexrnd(i)=Engine.ScreenWidth+Rnd(1,Engine.ScreenWidth*2)
Next
For i=0 To getnum-1
bubbleyrnd(i)=Rnd(1,Engine.ScreenHeight)
Next
For i=0 To bubbledynamicx.Length-1
bubbledynamicx(i)=Engine.ScreenWidth+Rnd(1,Engine.ScreenWidth*2)
Next
For i=0 To bubbledynamicy.Length-1
bubbledynamicy(i)=Rnd(1,Engine.ScreenHeight)
Next
xyinit = True
End If
For i=0 To getnum-1
Engine.Canvas.DrawBitmap(bubblesrndshow(i),Null,rectbubblerndshow(i))
If bubblesrndshow(i) = bubblesrnd(0) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+10, bubbleyrnd(i)+10)
Else If bubblesrndshow(i) = bubblesrnd(1) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+20, bubbleyrnd(i)+20)
Else If bubblesrndshow(i) = bubblesrnd(2) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+30, bubbleyrnd(i)+30)
Else If bubblesrndshow(i) = bubblesrnd(3) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+40, bubbleyrnd(i)+40)
Else If bubblesrndshow(i) = bubblesrnd(4) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+40, bubbleyrnd(i)+40)
Else If bubblesrndshow(i) = bubblesrnd(5) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+50, bubbleyrnd(i)+50)
Else If bubblesrndshow(i) = bubblesrnd(6) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+100, bubbleyrnd(i)+100)
End If
If getspd==0 Then
bubblexrnd(i)=bubblexrnd(i)-Rnd(0,2)
Else If getspd==1 Then
bubblexrnd(i)=bubblexrnd(i)-Rnd(1,3)
Else If getspd==2 Then
bubblexrnd(i)=bubblexrnd(i)-Rnd(5,10)
End If
' Log("i"&bubblesrndshow(i))
If bubblexrnd(i)<-50 Then
bubbleyrnd(i)=Rnd(1,Engine.ScreenHeight)
bubblexrnd(i)=Engine.ScreenWidth+Rnd(1,Engine.ScreenWidth*2)
End If
Next
MoveLeftDynamic(Engine)
End Sub
Sub MoveLeftDynamic(Engine As LWEngine)
Engine.Canvas.DrawBitmap(bubbledynamic(0),Null,bubbledynamicrect(0))
Engine.Canvas.DrawBitmap(bubbledynamic(1),Null,bubbledynamicrect(1))
Engine.Canvas.DrawBitmapRotated(bubbledynamic(2),Null,bubbledynamicrect(2),Angle)
Engine.Canvas.DrawBitmapRotated(bubbledynamic(3),Null,bubbledynamicrect(3),Angle)
Engine.Canvas.DrawBitmap(bubbledynamic(4),Null,bubbledynamicrect(4))
Engine.Canvas.DrawBitmapRotated(bubbledynamic(5),Null,bubbledynamicrect(5),Angle)
Engine.Canvas.DrawBitmap(bubbledynamic(6),Null,bubbledynamicrect(6))
bubbledynamicrect(0).Initialize(bubbledynamicx(0),bubbledynamicy(0),bubbledynamicx(0)+10,bubbledynamicy(0)+10)
bubbledynamicrect(1).Initialize(bubbledynamicx(1),bubbledynamicy(1),bubbledynamicx(1)+20,bubbledynamicy(1)+20)
bubbledynamicrect(2).Initialize(bubbledynamicx(2),bubbledynamicy(2),bubbledynamicx(2)+30,bubbledynamicy(2)+30)
bubbledynamicrect(3).Initialize(bubbledynamicx(3),bubbledynamicy(3),bubbledynamicx(3)+40,bubbledynamicy(3)+40)
bubbledynamicrect(4).Initialize(bubbledynamicx(4),bubbledynamicy(4),bubbledynamicx(4)+40,bubbledynamicy(4)+40)
bubbledynamicrect(5).Initialize(bubbledynamicx(5),bubbledynamicy(5),bubbledynamicx(5)+50,bubbledynamicy(5)+50)
bubbledynamicrect(6).Initialize(bubbledynamicx(6),bubbledynamicy(6),bubbledynamicx(6)+100,bubbledynamicy(6)+100)
bubbledynamicx(0)=bubbledynamicx(0)-Rnd(6,7)
bubbledynamicx(1)=bubbledynamicx(1)-Rnd(1,2)
bubbledynamicx(2)=bubbledynamicx(2)-Rnd(3,4)
bubbledynamicx(3)=bubbledynamicx(3)-Rnd(3,4)
bubbledynamicx(4)=bubbledynamicx(4)-Rnd(4,5)
bubbledynamicx(5)=bubbledynamicx(5)-Rnd(4,5)
bubbledynamicx(6)=bubbledynamicx(6)-Rnd(2,3)
For i=0 To bubbledynamic.Length-1
' Angle = (Angle+AngleStep) Mod 360
If bubbledynamicx(i)<-50 Then
bubbledynamicy(i)=Rnd(1,Engine.ScreenHeight)
bubbledynamicx(i)=Engine.ScreenWidth+Rnd(1,Engine.ScreenWidth*2)
End If
Next
End Sub
'Fungsi untuk menganimasikan item ke kanan
Sub MoveRight(Engine As LWEngine)
getnumber
If xyinit = False Then
For i=0 To getnum-1
bubblexrnd(i)=Rnd(-Engine.ScreenWidth*2,-120)
Next
For i=0 To getnum-1
bubbleyrnd(i)=Rnd(1,Engine.ScreenHeight)
Next
For i=0 To bubbledynamicx.Length-1
bubbledynamicx(i)=Rnd(-Engine.ScreenWidth*2,-120)
Next
For i=0 To bubbledynamicy.Length-1
bubbledynamicy(i)=Rnd(1,Engine.ScreenHeight)
Next
xyinit = True
End If
For i=0 To getnum-1
Engine.Canvas.DrawBitmap(bubblesrndshow(i),Null,rectbubblerndshow(i))
If bubblesrndshow(i) = bubblesrnd(0) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+10, bubbleyrnd(i)+10)
Else If bubblesrndshow(i) = bubblesrnd(1) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+20, bubbleyrnd(i)+20)
Else If bubblesrndshow(i) = bubblesrnd(2) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+30, bubbleyrnd(i)+30)
Else If bubblesrndshow(i) = bubblesrnd(3) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+40, bubbleyrnd(i)+40)
Else If bubblesrndshow(i) = bubblesrnd(4) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+40, bubbleyrnd(i)+40)
Else If bubblesrndshow(i) = bubblesrnd(5) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+50, bubbleyrnd(i)+50)
Else If bubblesrndshow(i) = bubblesrnd(6) Then
rectbubblerndshow(i).Initialize(bubblexrnd(i),bubbleyrnd(i),bubblexrnd(i)+100, bubbleyrnd(i)+100)
End If
If getspd==0 Then
bubblexrnd(i)=bubblexrnd(i)+Rnd(0,2)
Else If getspd==1 Then
bubblexrnd(i)=bubblexrnd(i)+Rnd(1,3)
Else If getspd==2 Then
bubblexrnd(i)=bubblexrnd(i)+Rnd(5,10)
End If
' Log("i"&bubblesrndshow(i))
If bubblexrnd(i)>Engine.ScreenWidth+50 Then
bubbleyrnd(i)=Rnd(1,Engine.ScreenHeight)
bubblexrnd(i)=Rnd(-Engine.ScreenWidth*2,-120)
End If
Next
MoveRightDynamic(Engine)
End Sub
Sub MoveRightDynamic(Engine As LWEngine)
Engine.Canvas.DrawBitmap(bubbledynamic(0),Null,bubbledynamicrect(0))
Engine.Canvas.DrawBitmap(bubbledynamic(1),Null,bubbledynamicrect(1))
Engine.Canvas.DrawBitmapRotated(bubbledynamic(2),Null,bubbledynamicrect(2),Angle)
Engine.Canvas.DrawBitmapRotated(bubbledynamic(3),Null,bubbledynamicrect(3),Angle)
Engine.Canvas.DrawBitmap(bubbledynamic(4),Null,bubbledynamicrect(4))
Engine.Canvas.DrawBitmapRotated(bubbledynamic(5),Null,bubbledynamicrect(5),Angle)
Engine.Canvas.DrawBitmap(bubbledynamic(6),Null,bubbledynamicrect(6))
bubbledynamicrect(0).Initialize(bubbledynamicx(0),bubbledynamicy(0),bubbledynamicx(0)+10,bubbledynamicy(0)+10)
bubbledynamicrect(1).Initialize(bubbledynamicx(1),bubbledynamicy(1),bubbledynamicx(1)+20,bubbledynamicy(1)+20)
bubbledynamicrect(2).Initialize(bubbledynamicx(2),bubbledynamicy(2),bubbledynamicx(2)+30,bubbledynamicy(2)+30)
bubbledynamicrect(3).Initialize(bubbledynamicx(3),bubbledynamicy(3),bubbledynamicx(3)+40,bubbledynamicy(3)+40)
bubbledynamicrect(4).Initialize(bubbledynamicx(4),bubbledynamicy(4),bubbledynamicx(4)+40,bubbledynamicy(4)+40)
bubbledynamicrect(5).Initialize(bubbledynamicx(5),bubbledynamicy(5),bubbledynamicx(5)+50,bubbledynamicy(5)+50)
bubbledynamicrect(6).Initialize(bubbledynamicx(6),bubbledynamicy(6),bubbledynamicx(6)+100,bubbledynamicy(6)+100)
bubbledynamicx(0)=bubbledynamicx(0)+Rnd(4,5)
bubbledynamicx(1)=bubbledynamicx(1)+Rnd(1,2)
bubbledynamicx(2)=bubbledynamicx(2)+Rnd(5,6)
bubbledynamicx(3)=bubbledynamicx(3)+Rnd(3,4)
bubbledynamicx(4)=bubbledynamicx(4)+Rnd(4,5)
bubbledynamicx(5)=bubbledynamicx(5)+Rnd(4,5)
bubbledynamicx(6)=bubbledynamicx(6)+Rnd(2,3)
For i=0 To bubbledynamic.Length-1
' Angle = (Angle+AngleStep) Mod 360
If bubbledynamicx(i)>Engine.ScreenWidth+50 Then
bubbledynamicy(i)=Rnd(1,Engine.ScreenHeight)
bubbledynamicx(i)=Rnd(-Engine.ScreenWidth*2,-120)
End If
Next
End Sub
'Fungsi untuk mendapatkan arah pergerakan item dari setings
Sub getdirection
' Read file saved before to retriev Selected Spinner value.....
If File.Exists(File.DirInternal,"heartdirection.txt") Then
getdir=File.ReadString(File.DirInternal,"heartdirection.txt")
Else
getdir="3" '
End If
'Log("Direction :" &getdir)
End Sub
'Fungsi untuk mendapatkan speed item dari setings
Sub getspeed
' Read file saved before to retriev Selected Spinner value.....
If File.Exists(File.DirInternal,"heartmovingspeed.txt") Then
getspd=File.ReadString(File.DirInternal,"heartmovingspeed.txt")
Else
getspd="1" '
End If
'Log("Direction :" &getdir)
End Sub
Sub getpattern
' Read file saved before to retriev Selected Spinner value.....
If File.Exists(File.DirInternal,"starpattern.txt") Then
getpat=File.ReadString(File.DirInternal,"starpattern.txt")
Else
getpat="1" '
End If
'Log("Direction :" &getdir)
End Sub
'Fungsi untuk mendapatkan jumlah item di layar dari setings
Sub getnumber
' Read file saved before to retriev Selected Spinner value.....
If File.Exists(File.DirInternal,"heartnumber.txt") Then
If File.ReadString(File.DirInternal,"heartnumber.txt")=="" Then
getnum="100"
Else
getnum=File.ReadString(File.DirInternal,"heartnumber.txt")
End If
Else
getnum="100" ' .....
End If
'Log("Direction :" &getnum)
End Sub
'Fungsi untuk mendapatkan status interaksi dari setings
Sub getdisableinteraction
' Read file saved before to retriev Selected Spinner value.....
If File.Exists(File.DirInternal,"heartinteraction.txt") Then
getitrc=File.ReadString(File.DirInternal,"heartinteraction.txt")
Else
getitrc="False" '
End If
End Sub
Sub getheartvisible
' Read file saved before to retriev Selected Spinner value.....
If File.Exists(File.DirInternal,"heartvisible.txt") Then
getvisible=File.ReadString(File.DirInternal,"heartvisible.txt")
Else
getvisible="False" ' .
End If
End Sub
Sub getrotatespeed
' Read file saved before to retriev Selected Spinner value.....
If File.Exists(File.DirInternal,"starrotatespeed.txt") Then
getrotspd=File.ReadString(File.DirInternal,"starrotatespeed.txt")
Else
getrotspd="2" ' default bubble speed is 25 ms .....
End If
'Log("Direction :" &getdir)
End Sub