Kołowy preloader w ActionScript 3.0
Opis
Skrypt tworzy kołowy preloader kręcący się wokół siebie. Preloader ma przezroczystość na końcu paska, który symuluje fading podczas obrotu.
Dostępne parametry
$thickness - grubość paska
$color - kolor paska
$radius - wielkość koła
$clockwise - kierunek kręcenia się
$numCircles - ilość malych kółek z których jest zrobiony pasek
$speed - prędkość poruszania się
Przykład użycia
var a = new CirclePreloader(4, 0x1A8AD5, 20, true, 60);
a.x = 100;
a.y = 100;
addChild(a);
Listing
package
{
import flash.display.Sprite;
import flash.events.Event;
/**
* ...
* @author
*/
public class CirclePreloader extends Sprite
{
private var container:Sprite
private var circles:Array;
private var speed:Number;
public function CirclePreloader($thickness:uint=4,$color:uint=0xcccccc,$radius:uint=20,$clockwise:Boolean=true,$numCircles:uint=35,$speed:Number=0.05):void
{
speed = $speed;
var i:uint
var radians:Number = (360 / $numCircles) * Math.PI / 180;
container = new Sprite()
addChild (container)
container.cacheAsBitmap=true
circles = new Array();
for (i = 0; i < $numCircles; i++)
{
var circle=new Sprite()
container.addChild(circle)
circle.graphics.beginFill($color,1)
circle.graphics.drawCircle(0,0,$thickness)
circle.graphics.endFill()
circles.push(circle)
circle.x = Math.sin(radians * i) * $radius;
circle.y = Math.cos(radians * i) * $radius;
circle.alpha = $clockwise?1 - i * (1 / $numCircles):i * (1 / $numCircles);
addEventListener(Event.ENTER_FRAME,onEnter)
}
}
private function onEnter(e:Event):void {
for each(var item in circles)
{
if (item.alpha <= 0)
{
item.alpha = 1;
}
item.alpha -= speed;
}
}
public function destroy():void {
removeEventListener(Event.ENTER_FRAME, onEnter)
while(container.numChildren)container.removeChildAt(0)
removeChild(container)
container=null
}
}
}
{
import flash.display.Sprite;
import flash.events.Event;
/**
* ...
* @author
*/
public class CirclePreloader extends Sprite
{
private var container:Sprite
private var circles:Array;
private var speed:Number;
public function CirclePreloader($thickness:uint=4,$color:uint=0xcccccc,$radius:uint=20,$clockwise:Boolean=true,$numCircles:uint=35,$speed:Number=0.05):void
{
speed = $speed;
var i:uint
var radians:Number = (360 / $numCircles) * Math.PI / 180;
container = new Sprite()
addChild (container)
container.cacheAsBitmap=true
circles = new Array();
for (i = 0; i < $numCircles; i++)
{
var circle=new Sprite()
container.addChild(circle)
circle.graphics.beginFill($color,1)
circle.graphics.drawCircle(0,0,$thickness)
circle.graphics.endFill()
circles.push(circle)
circle.x = Math.sin(radians * i) * $radius;
circle.y = Math.cos(radians * i) * $radius;
circle.alpha = $clockwise?1 - i * (1 / $numCircles):i * (1 / $numCircles);
addEventListener(Event.ENTER_FRAME,onEnter)
}
}
private function onEnter(e:Event):void {
for each(var item in circles)
{
if (item.alpha <= 0)
{
item.alpha = 1;
}
item.alpha -= speed;
}
}
public function destroy():void {
removeEventListener(Event.ENTER_FRAME, onEnter)
while(container.numChildren)container.removeChildAt(0)
removeChild(container)
container=null
}
}
}
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno