Mattie100
%Europe/Berlin %502 %2008, 13:03
Ik zit met een probleempje. Ik heb een class block.as en daarin heb ik een functie initRectangle als ik in deze functie probeer de width van de parent aan te roepen krijg ik een error.
TypeError: Error #1009: Cannot access a property or method of a null object reference. at block/::initRectangle() at block$iinit() at game_fla::playField_2/game_fla::frame1()
Het vreemde is als ik het probeer aan te roepen in de clickBlock dan krijg ik wel gewoon de goede waarde terug. Als ik hem in de contructor aanroep krijg ik ook een error. Ik heb al een paar uur zitten proberen en zoeken op google, kan iemand mij misschien helpen?
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class block extends MovieClip {
private var blockType:Number;
private var yBeginPos:Number;
private var xBeginPos:Number;
private var myRect:Rectangle;
function block(myType:Number) {
this.blockType = myType;
this.yBeginPos = this.y;
this.xBeginPos = this.x;
this.addEventListener(MouseEvent.MOUSE_DOWN, clickBlock);
this.addEventListener(MouseEvent.MOUSE_UP, releaseBlock);
this.addEventListener(MouseEvent.MOUSE_OUT, releaseBlock);
initRectangle();
}
private function initRectangle():void {
trace((this.parent as MovieClip));
myRect = new Rectangle((this.parent as MovieClip).width/2 + this.width/2,
(this.parent as MovieClip).height/2 + this.height/2,
(this.parent as MovieClip).width - this.width,
(this.parent as MovieClip).height - this.height);
}
private function clickBlock(eventObject:MouseEvent) {
if (this.blockType == 1) {
this.startDrag(false, myRect);
}
else {
this.startDrag(false);
}
}
private function releaseBlock(eventObject:MouseEvent) {
this.stopDrag();
}
}
}
Met vriendelijke groet,
Matthijs
TypeError: Error #1009: Cannot access a property or method of a null object reference. at block/::initRectangle() at block$iinit() at game_fla::playField_2/game_fla::frame1()
Het vreemde is als ik het probeer aan te roepen in de clickBlock dan krijg ik wel gewoon de goede waarde terug. Als ik hem in de contructor aanroep krijg ik ook een error. Ik heb al een paar uur zitten proberen en zoeken op google, kan iemand mij misschien helpen?
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class block extends MovieClip {
private var blockType:Number;
private var yBeginPos:Number;
private var xBeginPos:Number;
private var myRect:Rectangle;
function block(myType:Number) {
this.blockType = myType;
this.yBeginPos = this.y;
this.xBeginPos = this.x;
this.addEventListener(MouseEvent.MOUSE_DOWN, clickBlock);
this.addEventListener(MouseEvent.MOUSE_UP, releaseBlock);
this.addEventListener(MouseEvent.MOUSE_OUT, releaseBlock);
initRectangle();
}
private function initRectangle():void {
trace((this.parent as MovieClip));
myRect = new Rectangle((this.parent as MovieClip).width/2 + this.width/2,
(this.parent as MovieClip).height/2 + this.height/2,
(this.parent as MovieClip).width - this.width,
(this.parent as MovieClip).height - this.height);
}
private function clickBlock(eventObject:MouseEvent) {
if (this.blockType == 1) {
this.startDrag(false, myRect);
}
else {
this.startDrag(false);
}
}
private function releaseBlock(eventObject:MouseEvent) {
this.stopDrag();
}
}
}
Met vriendelijke groet,
Matthijs