S
starfoxfs
Hi zusammen,
Ich komme momentan mit meinem Script nicht weiter, ich bekomme immer wieder folgenden Fehler:
TypeError: Error #1034: Typumwandlung fehlgeschlagen: com.gskinner.motion::GTween@f600121 kann nicht in flash.events.Event umgewandelt werden.
at com.gskinner.motion::GTween/set position()
at com.gskinner.motion::GTween$/staticTick()
Ich habe bei meinem Script die GTween Klasse mit eingebaut und der Fehler kommt immer wieder wenn das Script versucht die Instanz mit gt.onComplete = startShake; neu zu starten.
Ich komme momentan mit meinem Script nicht weiter, ich bekomme immer wieder folgenden Fehler:
TypeError: Error #1034: Typumwandlung fehlgeschlagen: com.gskinner.motion::GTween@f600121 kann nicht in flash.events.Event umgewandelt werden.
at com.gskinner.motion::GTween/set position()
at com.gskinner.motion::GTween$/staticTick()
Ich habe bei meinem Script die GTween Klasse mit eingebaut und der Fehler kommt immer wieder wenn das Script versucht die Instanz mit gt.onComplete = startShake; neu zu starten.
PHP:
package
{
import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.*;
import flash.filters.*;
import com.gskinner.motion.plugins.BlurPlugin;
import com.gskinner.motion.GTween;
public class Shakeit extends MovieClip
{
BlurPlugin.install();
private var _shakeTimer : Timer;
private var _blur : BlurFilter;
private var _myGlow : GlowFilter;
private var _coordX : Number;
private var _coordY : Number;
private var _shakeDurationSeconds : int;
private var _shakeIntervalMilliSeconds : int;
private var _shakePauseSeconds : int;
private var _pauseTimer : Timer;
public function Shakeit()
{
startShake();
}
private function startShake(e: Event = null) : void
{
//Parameter
_shakeDurationSeconds=3; // Dauer in Sekunden
_shakeIntervalMilliSeconds=25; //40 = ->25 fps
_shakePauseSeconds=3; // Pause in Sekunden
x = 79; // Ausgangsposition
y = 273.5;
_myGlow = new GlowFilter(); // Der Glow Filter
_myGlow.inner = false;
_myGlow.knockout = true;
_myGlow.color = Math.random() * 0xFFFFFF;
_myGlow.blurX = 5;
_myGlow.blurY = 5;
_myGlow.strength = 2.5;
_myGlow.quality = 3;
_coordX = x;
_coordY = y;
// Neuen Timer erzeugen
_shakeTimer = new Timer(_shakeIntervalMilliSeconds, 1000/_shakeIntervalMilliSeconds*_shakeDurationSeconds);
_shakeTimer.addEventListener(TimerEvent.TIMER, shakeImage);
_shakeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, stopShake);
// Timer starten
_shakeTimer.start();
}
function shakeImage(event : TimerEvent) : void
{
x = _coordX + getMinusOrPlus() * (Math.random() * 1.5);
y = _coordY + getMinusOrPlus() * (Math.random() * 1.5);
rotation = getMinusOrPlus()* Math.random()*1;
filters = [_myGlow]; // Den Glow Random Farbfilter auf die Instanz ausführen
}
function stopShake(event : TimerEvent) : void
{
_pauseTimer=new Timer(_shakePauseSeconds*1000,1);
_pauseTimer.addEventListener(TimerEvent.TIMER, pauseListener);
_pauseTimer.start();
x = _coordX;
y = _coordY;
rotation = 0;
new GTween(this,1,{blurX:100,blurY:100});
}
private function pauseListener(event : TimerEvent) : void
{
_shakeTimer.removeEventListener(TimerEvent.TIMER, shakeImage);
_shakeTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, stopShake);
_shakeTimer=null;
_pauseTimer.removeEventListener(TimerEvent.TIMER, pauseListener);
_pauseTimer=null;
var gt:GTween = new GTween(this,1,{blurX:0,blurY:0});
gt.onComplete = startShake;
}
function getMinusOrPlus() : int
{
var rand : Number = Math.random() * 2;
if (rand < 1) return -1;
else return 1;
}
}
}