MrJiggyHill
asked on
Changing the alpha of an instance in AS3
In Actionscript, I have created a For Loop to create six instances of a movie clip. How can I change the alpha of each instance to be less than the instance before it?
var _boarder:mcBoarder;
var _boarderX:Number = 133;
var _boarderY:Number = 267;
var _boarderR:Number = 0;
for(var i:Number = 0; i < 6; i++)
{
_boarder = new mcBoarder();
addChild(_boarder);
_boarder.x = _boarderX;
_boarder.y = _boarderY;
_boarder.rotation = _boarderR;
_boarderX += 60;
_boarderY -= 60;
_boarderR -= 45;
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I think the "alpha" property may actually have an underscore, as in _boarder._alpha
Sorry 'bout that.
Sorry 'bout that.
ASKER
No, I got compiler errors doing ._alpha
Ok. Go back to the original. I had a typo (10 instead of 100). Should read like this:
var _deltaAlpha = 100/ _frameCount ;
var _deltaAlpha = 100/ _frameCount ;
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
still no change in the alpha
ASKER
Ah - that worked deepanjandas! The alpha is now changing.
Thank you guys very much!
Thank you guys very much!
deepanjandas is right. Corrected (and simplified) code.
var _boarder:mcBoarder;
var _boarderX:Number = 133;
var _boarderY:Number = 267;
var _boarderR:Number = 0;
var _frameCount = 6;
for(var i:Number = 0; i < _frameCount ; i++)
{
_boarder = new mcBoarder();
addChild(_boarder);
_boarder.x = _boarderX;
_boarder.y = _boarderY;
_boarder.rotation = _boarderR;
_boarder.alpha = 1.0 * ( _frameCount - i ) / _frameCount;
_boarderX += 60;
_boarderY -= 60;
_boarderR -= 45;
}
Try this for alpha:
Warm Regards
Deepanjan Das
var frameCount:int = 6;
var baseAlpha:Number = 1/_frameCount;
for(var i:Number = _frameCount; i > 0; i--)
{
_boarder = new mcBoarder();
addChild(_boarder);
_boarder.x = _boarderX;
_boarder.y = _boarderY;
_boarder.rotation = _boarderR;
_boarder.alpha = baseAlpha * i;
else _boarder.alpha = _prevBoarder.alpha - _deltaAlpha;
_boarderX += 60;
_boarderY -= 60;
_boarderR -= 45;
_prevBoarder = _boarder;
}
Warm Regards
Deepanjan Das
ASKER