Nicht mehr ganz neu hier
Hallo zusammen,
in meiner Bühne befindet sich ein generierter Schneefall. Ich möchte aber das dieser beim verlassen der Bühne ausgeschaltet wird weil in der nähsten szene schmetterlinge fliegen sollen.
mit diesen varianten hab ich es probiert, doch keine klapte:
und hier das script:
und hier die SnowFlake.as Datei:
hat wer ne idee?
gruß Tomas
in meiner Bühne befindet sich ein generierter Schneefall. Ich möchte aber das dieser beim verlassen der Bühne ausgeschaltet wird weil in der nähsten szene schmetterlinge fliegen sollen.
mit diesen varianten hab ich es probiert, doch keine klapte:
HTML:
stage.removeEventListener(Event.ENTER_FRAME, frameLoop1);
HTML:
removeChild (snowflake[0]);
HTML:
removeChild(snowflake);
HTML:
stage.removeChild(this)
und hier das script:
HTML:
import flash.events.Event;
import flash.geom.Rectangle;
var snowFlakes1 : Array = new Array();
var numFlakes1:uint = 500;
var screenArea1:Rectangle = new Rectangle(0,0,900,552);
addEventListener(Event.ENTER_FRAME, frameLoop1);
function frameLoop1(e:Event)
{
var snowflake:SnowFlake;
if (snowFlakes1.length < numFlakes1)
{
snowflake = new SnowFlake(screenArea1);
snowFlakes1.push(snowflake);
addChild(snowflake);
}
var wind : Number = ((screenArea1.width/2) - mouseX);
wind /= 60;
for (var i:uint = 0; i<snowFlakes1.length; i++)
{
snowflake = snowFlakes1[i];
snowflake.update(wind);
}
}
und hier die SnowFlake.as Datei:
HTML:
package
{
import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.filters.BlurFilter;
public class SnowFlake extends Sprite
{
public var xVel:Number;
public var yVel:Number;
public var size:Number;
public var screenArea:Rectangle;
public function SnowFlake(screenarea:Rectangle)
{
graphics.lineStyle(3,0xffffff);
graphics.moveTo(0,0);
graphics.lineTo(0.2,0.2);
screenArea = screenarea;
x = Math.random() * screenArea.width;
var z:Number = (Math.random()*600)-250;
size = calculatePerspectiveSize(z);
scaleX = scaleY = size;
if (z < -150)
{
var bluramount:Number = z + 150;
bluramount /= -100;
bluramount = (bluramount * 20) + 2;
filters = [new BlurFilter(bluramount,bluramount,2)];
}
else
{
filters = [new BlurFilter(2,2,2)];
}
cacheAsBitmap = true;
xVel = (Math.random()*2)-1;
yVel = 3;
xVel *= size;
yVel *= size;
}
public function update(wind:Number):void
{
x += xVel;
y += yVel;
x += (wind*size);
if (y > screenArea.bottom)
{
y = screenArea.top;
}
if (x > screenArea.right)
{
x = screenArea.left;
}
else if (x<screenArea.left)
{
x = screenArea.right;
}
}
public function calculatePerspectiveSize(z:Number):Number
{
var fov:Number = 300;
return fov/(z+fov);
}
}
}
hat wer ne idee?
gruß Tomas