Ich verwende ein Array, um in Aktionsskript 3 eine expandierende Kreisanimation zu erstellen. Zeichnen eines neuen Kreiselements und Löschen des vorherigen Kreises, alles von einem Zeitgeber geführt. Der Code zeichnet derzeit das neue Kreiselement, aber nicht das vorherige. Die Ausgabe ist derzeit eine Gruppe von 30 Kreisen. Bitte helfen Sie.Expandierende Kreisanimation in AS3
Das Folgende ist die Klasse für das Erstellen von Kreisen:
package
{
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.Shape;
public class SoundWave2 extends Sprite
{
public function SoundWave2()
{
var wavearray:Array = new Array();
var waveTimer:Timer = new Timer(1000, 30);
var i:int = new int(0);
waveTimer.addEventListener(TimerEvent.TIMER, init);
waveTimer.start();
function init():void
{
if (i == 0)
{
wavearray[i] = graphics.lineStyle(1, 0x0000FF);
wavearray[i] = graphics.drawCircle(0, 0, 30);
i += 1;
trace(i);
}
else
{
wavearray[i] = graphics.lineStyle(1, 0x0000FF);
wavearray[i] = graphics.drawCircle(0, 0, 30 + i);
wavearray.removeAt(i-1);
i += 1;
trace(i);
}
}
}
}
}
Bitte bearbeiten Sie Ihre Frage, um Ihren Code als Text anstelle von einem Bild anzuzeigen. –
Rufen Sie graphics.clear() vor dem Zeichnen des neuen Kreises –