Hi,
The following class works fine when calling it through document properties panel.
How can I access the same by writing code (to call the class) in first frame of my project?
The following is the Class (Code):
/* Main Class */
/* Developed by Carlos Yanez */
/* Image: http://www.flickr.com/photos/andyarmstrong/89441086/ */
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class Snow extends MovieClip
{
private var flakesVector:Vector.<MovieClip> = new Vector.<MovieClip>();
private var timer:Timer = new Timer(2000);
public function Snow(speed:int = 3, flakesNumber = 150):void
{
for(var i:int = 0; i < flakesNumber; i++)
{
var flake:Snowflake = new Snowflake();
flake.vel = (Math.random() * speed) + 0.5;
flake.xSpeed = Math.floor(Math.random() * (0.5 - -0.5 + 1)) + -0.5;
flake.scaleX = (Math.random() * 1) + 0.3;
flake.scaleY = flake.scaleX;
flake.x = Math.random() * stage.stageWidth;
flake.y = Math.random() * stage.stageHeight;
addChild(flake);
flakesVector.push(flake);
}
addEventListener(Event.ENTER_FRAME, fall);
timer.addEventListener(TimerEvent.TIMER, changeMovement);
timer.start();
}
private function fall(e:Event):void
{
for(var i:int = 0; i < flakesVector.length; i++)
{
flakesVector*.x += flakesVector*.xSpeed;
flakesVector*.y += flakesVector*.vel;
if(flakesVector*.y > stage.stageHeight)
{
flakesVector*.x = Math.random() * stage.stageWidth;
flakesVector*.y = -flakesVector*.height;
}
}
}
private function changeMovement(e:TimerEvent):void
{
for(var i:int = 0; i < flakesVector.length; i++)
{
flakesVector*.xSpeed *= -1;
}
}
}
}
Please help.
The following code throws an error:
import Classes.Snow;
var snow:Snow = new Snow();
snow.init(50, 10, 5, 1200, 800, "left");
addChild(snow);
The error is:
1061: Call to a possibly undefined method init through a reference with static type Snow.