нацеливание спрайтов из метода в классе документа - нулевая ссылка на объект - PullRequest
0 голосов
/ 10 февраля 2011

Я пытаюсь закодировать флэш-приложение целиком в классе документа.Я использую 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 возможен как' e.target 'когда нажатие кнопки происходит на photo1Sprite.

Проблема возникает, когда нажать одну кнопку (не photo1Sprite) и получить эффект photo1Sprite.

Таким образом, я могу заставить photo1Sprite реагировать, если мой метод прикрепленнапрямую, используя 'e.target', но не в том случае, если я пытаюсь вызвать его из метода, вызванного из другого элемента на экране.

1 Ответ

0 голосов
/ 11 февраля 2011

Я не уверен, что ожидает конструктор класса Tween в качестве первого аргумента. Это экземпляр Sprite или имя экземпляра Sprite? В любом случае убедитесь, что - в контексте photo1SpriteFlickHandler - photo1Sprite определен 1)! и 2) относится к правильной вещи.

...