PDA

Volledige versie bekijken : probleem met addChild(class) opgelost :S


B-Mantis
%Europe/Berlin %586 %2007, 15:04
Hey,

Ik heb een MovieClip genaamd 'playerGun' in de library staan. Zijn class staat in de map 'scripts'. In de library wordt de movieclip netjes gelinkt naar 'scripts.playerGun'.

Als ik de playerGun naar de stage sleep, werkt hij. De movieclip die ik heb gemaakt staat netjes op de stage en alle Events werken ook. Ik wil alleen dat hij tijdens het lopen van het programma pas op de stage komt. Mijn basis object, 'Main', moet dit doen. in main heb ik dus gezet:
public function Main() {
import scripts.playerGun;
var Gun = new playerGun();
addChild(Gun);
}

Maar als ik dit doe krijg ik de volgende foutmeldingen:
1120: Access of undefined property middle. => middle.gun.stop();
1180: Call to a possibly undefined method Main. => Mypercent = (Main(root).mouseY/400)*Math.PI/2;
1120: Access of undefined property arms. => arms.rotation = .25*Math.sin(Mxpercent)*Main(root).radtodeg+90;

'middle' en 'arms' zijn beiden MovieClips die in de movieclip playerGun zitten.
Mijn gok is dat de link tussen de library item 'playerGun' en de class 'playerGun' verdwijnt. Maar hoe kan ik verwijzen naar de library item 'playerGun' ?

dank!

edit:
Main.as en playerGun.as staan beiden in de map scripts. Kan dit er wat mee te maken hebben? Een ander programma van mij heeft dit probleem niet, hoewel ik nagenoeg hetzelfde doe. Dat programma heeft die scripten gewoon in de zelfde map staan als het fla bestand.

EDIT2:

sorry voor de overlast. Ik heb het probleem opgelost. De playerGun had deze code:
public function playerGun() {
var middleX = Main(root).x+200
//enz
}
maar op dat moment kende hij Main(root) nog niet. Dat gaf problemen.