I am working with a sample .fla file that produces the snow
fall affect. The
issue is that it only works if my publish settings are set to
Flash Player 6
rather than 8. I need it get working with my published
settings set to 8.
Here is a link to the file and the actionscipt.
http://www.deconcept.com click
on the one labeled SNOW
ACTIONSCRIPT:
fscommand(''allowscale'', false);
stop();
// -------------
stageWidth = 800;
stageHeight = 200;
this.createEmptyMovieClip(''snowController'', 0);
// --- i added this mask for display on deconcept.com - you
are free to
comment it out and the snow will work fine, but don't forget
to change the
stage height and width anyway
// --- create the mask to hide flakes that sway too far to
the left or
right
this.createEmptyMovieClip(''myMask'', 9999999999);
myMask.beginFill(0x000000, 100);
myMask.moveTo(0,0);
myMask.lineTo(stageWidth, 0);
myMask.lineTo(stageWidth, stageHeight);
myMask.lineTo(0, stageHeight);
myMask.endFill();
snowController.setMask(myMask);
// -- end mask
snowController.createFlake = function() {
depth++;
this.attachMovie(''flake'', ''flake''+depth, depth);
myFlake = this[''flake''+depth];
myFlake._x = Math.floor(Math.random()*stageWidth);
myFlake._y = -5;
myFlake._xscale = Math.round(Math.random()*34);
myFlake._yscale = Math.round(Math.random()*34);
// ------ set vars for movement
myFlake.d = 1.7;
myFlake.a = 7;
myFlake.newX = myFlake._x;
myFlake.newY = myFlake._y;
myFlake.myXspeed = 0;
myFlake.myYspeed = 0;
myFlake.ySpeed = (myFlake._width + myFlake._height)/2;
// -------------------------------------------
myFlake.onEnterFrame = function () {
if (!Math.floor(Math.random()*8)) {
this.xSpeed = Math.round(Math.random()*10)-5;
}
this.newX += this.xSpeed;
this.newY += this.ySpeed;
if (this._y %26gt; stageHeight) { // this removes the clip
once it reaches a
certain point
this.removeMovieClip();
}
this.myXspeed =
((this._x-this.newX)/this.a+this.myXspeed)/this.d; // this
is just movement code to make is move smoother
this.myYspeed =
((this._y-this.newY)/this.a+this.myYspeed)/this.d;
this._x -= this.myXspeed;
this._y -= this.myYspeed;
}
}
// ----------------
snowController.onEnterFrame = function () {
if (!Math.floor(Math.random()*3)) {
this.createFlake();
}
}
Works in Flash 6 player but not 8
depth needs to be initialized. fix that and let us know if
there are more problems.Works in Flash 6 player but not 8
Can you show me what you mean please?
''kglad'' %26lt;webforumsuser@macromedia.com%26gt; wrote in message
news:euh09k$pcr$1@forums.macromedia.com...
%26gt; depth needs to be initialized. fix that and let us know
if there are more
%26gt; problems.
just below stageHeight = 200; you can use:
depth=0;
Subscribe to:
Post Comments
(Atom)
No comments:
Post a Comment