我正在尝试完全在文档类中编写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做出反应,但如果我试图从屏幕上另一个元素调用的方法调用它,则不能。
答案 0 :(得分:0)
我不确定Tween类构造函数对第一个参数的期望。它是Sprite实例还是Sprite实例的名称?在任何情况下都要确保 - 在photo1SpriteFlickHandler的上下文中 - photo1Sprite是1)定义的! 2)指正确的事情。