嘿伙计们,希望得到一些帮助 :( 现在已经坚持了几天。
我正在使用 Lee Brimelow's ScrollBar class 创建滚动条.我不得不修改它以在我的类文件中工作,并认为我在正确的轨道上,但我感到害怕:
错误 #1009:无法访问空对象引用的属性或方法错误。
当我运行调试时,它命中了我有 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);
}
这是我的调试显示的内容:
起初我不确定是 stage 引用导致错误还是 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;
}
最佳答案
你的舞台是空的,因为新创建的对象还没有在舞台上。要解决此问题,请在构造函数中使用 ADDED_TO_STAGE 监听器,然后添加您的阶段事件。
关于flash - 帮助 - 使用 stage.addEventListener (ScrollBar) 时出现空对象错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1532955/