Lately I changed Flash CS3 for CS4. In older version classes written by me worked fine. However, in CS4 I have serious problem with them. Compiler states that part of my functions and vars are undefined, which is not true. I tried everything - changing name of class, functions, moving class file to different directory, removing package. I even counted { to check if they have pairs. I’m really out of options what can cause those errors.
Here are error given by compiler:
1120: Access of undefined property mnChangeMan.
1120: Access of undefined property ChangeManSliders.
1120: Access of undefined property ChangeManInput.
1180: Call to a possibly undefined method mnChangeManInit.
1180: Call to a possibly undefined method changeManSlidersInit.
1180: Call to a possibly undefined method changeManInputInit.
Here is code from my *.fla project:
[LEFT][COLOR=#0000ff]import[/COLOR] flash.[COLOR=#000080]utils[/COLOR].[COLOR=#000080]Timer[/COLOR];
[COLOR=#0000ff]import[/COLOR] flash.[COLOR=#000080]events[/COLOR].*;
[COLOR=#0000ff]import[/COLOR] flash.[COLOR=#0000ff]text[/COLOR].*;
[COLOR=#0000ff]import[/COLOR] man.*;
[COLOR=#808080]*//stage.addEventListener( MouseEvent.MOUSE_UP, onDeleteSliderEvent);*[/COLOR]
[COLOR=#808080]*//var i:int;*[/COLOR]
[COLOR=#000000]**var**[/COLOR] mnChangeMan:[COLOR=#0000ff]MovieClip[/COLOR] = [COLOR=#000000]**new**[/COLOR] MenuChangeMan[COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR];
ChangeManInit.[COLOR=#000080]initMan[/COLOR][COLOR=#000000]([/COLOR]mnChangeMan[COLOR=#000000])[/COLOR];
addChild[COLOR=#000000]([/COLOR]mnChangeMan[COLOR=#000000])[/COLOR];
[COLOR=#808080]*/*function onDeleteSliderEvent(e:Event):void
{
for(var i:Number=0; i<ChangeManSliders.length; i++)
if( ChangeManSliders*.hasEventListener( MouseEvent.MOUSE_MOVE) )
ChangeManSliders*.removeEventListener(MouseEvent.MOUSE_MOVE, onZipMove);
}*/*[/COLOR]
[/LEFT]
And here is first part of my man/ChangeManInit.as class (it’s in charge of initialization):
package man
{
import flash.ui.*;
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
public class ChangeManInit extends MovieClip
{
public function ChangeManInit()
{
}
public static function initMan(ManInit:MovieClip):void
{
mnChangeMan = ManInit;
ChangeManSliders = [];
ChangeManInput = [];
mnChangeManInit();
changeManSlidersInit();
changeManInputInit();
}
private function mnChangeManInit():void
{
mnChangeMan.Minus.buttonMode = true;
mnChangeMan.Minus.addEventListener( MouseEvent.MOUSE_DOWN, onChangeMinus);
mnChangeMan.Plus.buttonMode = true;
mnChangeMan.Plus.addEventListener( MouseEvent.MOUSE_DOWN, onChangePlus);
mnChangeMan.man.startWidth = mnChangeMan.man.width;
mnChangeMan.man.startHeight = mnChangeMan.man.height;
mnChangeMan.SliderArmL.Zip.bodyPart = "ArmL";
mnChangeMan.SliderArmR.Zip.bodyPart = "ArmR";
mnChangeMan.SliderLegL.Zip.bodyPart = "LegL";
mnChangeMan.SliderLegL.Zip.x -= 90;
mnChangeMan.SliderLegR.Zip.bodyPart = "LegR";
mnChangeMan.SliderLegR.Zip.x -= 90;
mnChangeMan.SliderTrunkW.Zip.bodyPart = "TrunkW";
mnChangeMan.SliderTrunkH.Zip.bodyPart = "TrunkH";
mnChangeMan.SliderHeadW.Zip.bodyPart = "HeadW";
mnChangeMan.SliderHeadH.Zip.bodyPart = "HeadH";
}
private function changeManSlidersInit():void
{
ChangeManSliders.push(mnChangeMan.SliderArmL);
ChangeManSliders.push(mnChangeMan.SliderArmR);
ChangeManSliders.push(mnChangeMan.SliderLegL);
ChangeManSliders.push(mnChangeMan.SliderLegR);
ChangeManSliders.push(mnChangeMan.SliderTrunkW);
ChangeManSliders.push(mnChangeMan.SliderTrunkH);
ChangeManSliders.push(mnChangeMan.SliderHeadW);
ChangeManSliders.push(mnChangeMan.SliderHeadH);
for(i=0; i<ChangeManSliders.length; i++)
{
ChangeManSliders*.Zip.startX = ChangeManSliders*.Zip.x;
if( i < 4 ) ChangeManSliders*.Zip.isRotated = true;
else ChangeManSliders*.Zip.isRotated = false;
if( i >= 4 && ChangeManSliders*.Zip.bodyPart.charAt(ChangeManSliders*.Zip.bodyPart.length-1) == 'W' ) ChangeManSliders*.Zip.isWidth = true;
else ChangeManSliders*.Zip.isWidth = false;
ChangeManSliders*.Zip.buttonMode = true;
ChangeManSliders*.Zip.addEventListener(MouseEvent.MOUSE_DOWN, onZipDown);
ChangeManSliders*.Zip.addEventListener(MouseEvent.MOUSE_UP, onZipUp);
}
mnChangeMan.SliderTrunkW.Zip.x -= 60;
mnChangeMan.SliderTrunkH.Zip.x -= 15;
mnChangeMan.SliderHeadW.Zip.x -= 30;
mnChangeMan.SliderHeadH.Zip.x -= 30;
}
private function changeManInputInit():void
{
ChangeManInput.push( mnChangeMan.ArmLI );
ChangeManInput.push( mnChangeMan.ArmRI );
ChangeManInput.push( mnChangeMan.LegLI );
ChangeManInput.push( mnChangeMan.LegRI );
ChangeManInput.push( mnChangeMan.TrunkWI );
ChangeManInput.push( mnChangeMan.TrunkHI );
ChangeManInput.push( mnChangeMan.HeadWI );
ChangeManInput.push( mnChangeMan.HeadHI );
for(i=0; i< ChangeManInput.length; i++)
{
if( ChangeManSliders*.Zip.isRotated )
if( i == 1 ) ChangeManInput*.text = mnChangeMan.man[ChangeManSliders*.Zip.bodyPart].rotation - 180;
else ChangeManInput*.text = mnChangeMan.man[ChangeManSliders*.Zip.bodyPart].rotation;
else
{
var bodyPart:String = ChangeManSliders*.Zip.bodyPart;
if(bodyPart.charAt(bodyPart.length - 1) == 'W' || bodyPart.charAt(bodyPart.length - 1) == 'H')
bodyPart = bodyPart.slice(0,bodyPart.length -1);
if( ChangeManSliders*.Zip.isWidth) ChangeManInput*.text = mnChangeMan.man[bodyPart].width;
else ChangeManInput*.text = mnChangeMan.man[bodyPart].height;
}
ChangeManInput*.addEventListener( Event.CHANGE, onChangeManInput);
}
}