Archief - FLASH: Cannot access a property or method of a null object reference.

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

sgtsylvester

Legacy Member
hallo,

Ik heb enkele files aangemaakt een Main.fla , Main.as , Aanwijzer.as.
(in de fla komt geen code)

Ik kan in de Main.as movieclips aanroepen uit de fla, die op de stage zetten en
tweens doen ...

Maar wanneer ik een Aanwijzer wil aanmaken in de Main.as krijg ik de fout
"Cannot access a property or method of a null object reference." ik begrijp niet goed wat ze wil zeggen eerlijk gezegt en ik snap het probleem niet.(een aanwijzer is ook een movieclip uit de fla, maar waar een klasse is aan gekoppeld)

Main.as code:
Code:
package{
	
	import flash.display.Sprite;
	import fl.transitions.Tween;
	import fl.transitions.easing.*;
	import flash.display.Sprite;
	import flash.display.MovieClip;
	
	public class Main extends flash.display.Sprite{		
		
		
		public function Main():void{				
			// op deze krijg ik dus fouten
			var aanwijzer:Aanwijzer = new Aanwijzer(50);			
			addChild(aanwijzer);	
			
			//Gradient op stage plaatsen
			var bgGradient:Gradient = new Gradient();
			bgGradient.height = 0;
			bgGradient.y = 550;
			addChild(bgGradient);
			
			//Kleine foto op stage plaatsen
			var fotoklein:BoormachineKlein = new BoormachineKlein();
			fotoklein.height = fotoklein.height;
			fotoklein.width = fotoklein.width;
			fotoklein.y =70;
			fotoklein.x =350;
			fotoklein.alpha = 0;
			addChild(fotoklein);
						
			//Gradienttween
			var heightTween:Tween = new Tween(bgGradient,"height",Strong.easeOut,0,550,0.5,true);
			
			//Fototween
			var alphaTween:Tween = new Tween(fotoklein,"alpha",None.easeNone,0,1,0.5,true);			
		}

	}
	
}

Mijn Aanwijzer.as klasse:

Code:
package{
		
	import flash.display.MovieClip;
	import fl.transitions.Tween;
	import fl.transitions.easing.*;
	
		public class Aanwijzer extends flash.display.MovieClip {
			
			public function Aanwijzer(yBeginPlaats:Number):void {
				this.buttonMode = true;
				this.y = yBeginPlaats;
				this.x = (Math.random()*stage.width);
			}
			
			public function MoveAanwijzer(xPlaats:Number,YPlaats:Number):void{
				var xTween:Tween = new Tween(this,"x",Strong.easeOut,this.x,xPlaats,0.5,true);	
				var yTween:Tween = new Tween(this,"y",Strong.easeOut,this.y,YPlaats,0.5,true);	
			}
			
		}
}


mvg.

Gerritn

Legacy Member
Ik gok dat het aan je stage.width ligt, probeer es stage.stageWidth, en dan nog ben ik niet zeker dat het zal lukken, aangezien je je aanwijzer aanmaakt, en je in je Aanwijzer-klasse direct op zoek gaat naar de stage, terwijl de aanwijzer nog niet aan de stage is toegevoegd.

Een oplossing hiervoor is in je Aanwijzer.as klasse luisteren naar het ADDED_TO_STAGE event en dan pas de display-properties instellen.

sgtsylvester

Legacy Member
Merci voor de reactie. Morgen eens uitproberen, vandaag al genoeg geflashed ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan