ну вот кусок кода из jAqua ... сходу мало че поймешь и мало че не поймешь
Local MouseDist# = MouseX()*MouseX()+MouseY()*MouseY()
Local ImageSize# = 32
If MouseDist > (Radius-ImageSize)*(Radius-ImageSize) And MouseDist < (Radius+ImageSize)*(Radius+ImageSize) Then
Enable = 1
AngleRotateDist :+ MouseZSpeed() * Size
Rotating = 0
If MouseX() > (Radius-ImageSize) And MouseX() < (Radius+ImageSize) And MouseY() < (ImageSize*2) Then
If AngleRotateDist < Size Then
Rotating = 1
AngleRotateDist:+RotateSpeed
End If
End If
If MouseY() > (Radius-ImageSize) And MouseY() < (Radius+ImageSize) And MouseX() < (ImageSize*2) Then
If (AngleRotateDist + TotalAngleSize) > (90 - Size*2) Then
Rotating = 1
AngleRotateDist:-RotateSpeed
End If
End If
If Rotating = 1 Then
AnimateValue(RotateSpeed,RotateSpeedMax,RotateSpeedDelta)
Else
AnimateValue(RotateSpeed,RotateSpeedMin,RotateSpeedDelta)
End If
If AngleRotateDist > (90-Size) Then AngleRotateDist = 90-Size
If AngleRotateDist < (-TotalAngleSize+Size*2) Then AngleRotateDist = -TotalAngleSize+Size*2
AnimateValue(Zoom,ZoomMax,0.02)
Else
Enable = 0
AnimateValue(Zoom,ZoomMin,0.02)
End If
AnimateValue(AngleRotate,AngleRotateDist,Abs((AngleRotate - AngleRotateDist)/10))
Local x#,y#,a#
Local mx# = MouseX()
Local my# = MouseY()