大家好,希望对此有所帮助:(现在坚持了几天。
我正在使用Lee Brimelow's ScrollBar class创建ScrollBar。我不得不对其进行修改以使其可以在我的Class文件中使用,并且认为自己处在正确的轨道上,但是我却感到恐惧:
错误#1009:无法访问空对象引用错误的属性或方法。
当我运行debug时,它会碰到我具有rollerUp的行);
滚动类的代码:
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class ScrollBar extends MovieClip
{
private var yOffset:Number;
private var yMin:Number;
private var yMax:Number;
private var thumbsnailTab:MovieClip;
private var theRoller:MovieClip;
public function ScrollBar(myRoller:MovieClip, myTrack:MovieClip, thumbsnails:MovieClip):void
{
yMin = 0;
yMax = myTrack.height - myRoller.height;
theRoller = myRoller;
thumbsnailTab = thumbsnails;
myRoller.addEventListener(MouseEvent.MOUSE_DOWN, rollerDown);
stage.addEventListener(MouseEvent.MOUSE_UP, rollerUp);
}
这是我的调试显示的内容:
最初,我不确定是引起错误的阶段引用还是rollerUp函数,但是由于我注释掉了stage.removeEventListener并添加了基本的跟踪语句,所以它仍然引发错误,因此我相信它有某些问题与:
stage.addEventListener(MouseEvent.MOUSE_UP, rollerUp);
现在我已导入事件。*;到ScrollBar类...也许问题出在我的主类中,我在其中为ScrollBar创建图形并将ScrollBar添加到显示列表?
主要类别的代码:
// Creating Graphics
track1 = new Track;
track1.x = 0;
track1.y = 0;
roller1 = new Roller;
roller1.x = 0;
roller1.y = 0;
sc1 = new EmptyMov;
sc1.x = 764;
sc1.y = 470;
sc1.addChild(track1);
sc1.addChild(roller1);
// Adding ScrollBar to Stage
scroll1 = new ScrollBar(roller1, track1, tab1);
container.addChild(sc1);
container.addChild(scroll1);
addChild(container);
我被困在这里,不确定为什么我会收到Null引用错误,也不确定是否要以正确的方式创建图形以及正确使用ScrollBar类:(任何提示,谢谢!
更新代码正常工作! :D
public function ScrollBar(myRoller:MovieClip, myTrack:MovieClip, thumbsnails:MovieClip):void
{
yMin = 0;
yMax = myTrack.height - myRoller.height;
theRoller = myRoller;
thumbsnailTab = thumbsnails;
myRoller.addEventListener(MouseEvent.MOUSE_DOWN, rollerDown);
}
private function rollerDown(e:MouseEvent):void
{
stage.addEventListener(MouseEvent.MOUSE_UP, rollerUp);
stage.addEventListener(MouseEvent.MOUSE_MOVE, rollerMove);
yOffset = mouseY - theRoller.y;
}
最佳答案
我认为您的问题是stage = null。原因可能只有一个:当您未上演MC时,您试图上台(然后引用为null)。
关于flash - 帮助-使用stage.addEventListener(ScrollBar)时出现空对象错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1532955/