0

我正在尝试完全在文档类中编写一个 Flash 应用程序。我正在使用带有触摸屏的 GestureWorks。当用户实质上按下一个按钮时,它会调用一个方法,该方法应该隐藏一个特定的图形,而不是他们触摸的图形。

本质上,我需要一种方法来使用“e.target”之外的方法来引用屏幕上的图形。

我收到此错误:错误 #1009:无法访问空对象引用的属性或方法。

            //This code works 
            private function photo1SpriteFlickHandler(e:GestureEvent):void {
                    var openTween:Tween = new Tween(e.target, "x", Strong.easeOut, 232, 970, 5, true);
            }

            //this code gives me a null object reference 

            private function photo1SpriteFlickHandler(e:GestureEvent):void {
                    var openTween:Tween = new Tween(photo1Sprite, "x", Strong.easeOut, 232, 970, 5, true);
            }

            //photo1Sprite has already been programatically added to the screen as so:
            var photo1Sprite = new TouchSprite();
                    var photo1Loader=new Loader();
                    photo1Loader.load(new URLRequest("media/photos1/photo1.jpg"));
                    photo1Loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaderComplete);

                    photo1Sprite.x = 232;
                    photo1Sprite.y = 538;
                    photo1Sprite.scaleX = .3;
                    photo1Sprite.scaleY = .3;
                    photo1Sprite.blobContainerEnabled = true;
                    photo1Sprite.addEventListener(TouchEvent.TOUCH_DOWN, startDrag_Press);
                    photo1Sprite.addEventListener(TouchEvent.TOUCH_UP, stopDrag_Release);

                    photo1Sprite.addChild(photo1Loader);

                addChild(photo1Sprite);

当按钮点击发生在 photo1Sprite 上时,它可以将 photo1Sprite 作为“e.target”访问。

当单击一个按钮(不是 photo1Sprite)并使其影响 photo1Sprite 时,就会出现问题。

因此,如果我的方法直接使用“e.target”附加到它,我可以让 photo1Sprite 做出反应,但如果我试图从屏幕上另一个元素调用的方法调用它,则不会。

4

1 回答 1

0

我不确定 Tween 类构造函数的第一个参数是什么。它是 Sprite 实例还是 Sprite 实例的名称?在任何情况下,请确保 - 在 photo1SpriteFlickHandler 的上下文中 - photo1Sprite 是 1) 定义的!2)指的是正确的东西。

于 2011-02-10T23:52:32.957 回答