actionscript-3 - AS3 Flash错误 “Cannot access a property or method of a null object reference”

标签 actionscript-3 flash syntax-error flash-cs6

我试图在Flash上​​做一些包含随机数的基本游戏,但是每次我运行场景时我都会收到此错误:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at capacitacion_fla::MainTimeline/frame1()
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at capacitacion_fla::MainTimeline/frame1()
at flash.display::MovieClip/gotoAndStop()
at capacitacion_fla::MainTimeline/fl_ClickToGoToAndStopAtFrame()

我正在学习Flash和As3,如果有人可以帮助我了解发生了什么,我将不胜感激,我也将所有位于框架1中的as3代码留给您:
stop();
import com.greensock.*;
import com.greensock.easing.*;
import flash.events.MouseEvent;
import flash.display.MovieClip;

var blitMask1:BlitMask = new   BlitMask(strip1,strip1.x,strip1.y,strip1.width,207,true,true,0xffffff,true);
var blitMask2:BlitMask = new BlitMask(strip2,strip2.x,strip2.y,strip2.width,207,true,true,0xffffff,true);
// ------- botones ----------

numerico_btn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame);

function fl_ClickToGoToAndStopAtFrame(event:MouseEvent):void
{
gotoAndStop(1);
}

preguntas_btn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_2);

function fl_ClickToGoToAndStopAtFrame_2(event:MouseEvent):void
{
gotoAndStop(2);
}

imagenes_btn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_3);

function fl_ClickToGoToAndStopAtFrame_3(event:MouseEvent):void
{
gotoAndStop(3);
}



//------- Fin de los botones ----------

//------------ Escena 1 ----------------------------------------------------
spin_btn.addEventListener(MouseEvent.CLICK, spin);

function spin(event:MouseEvent):void {

var i:int = 1;
while (i <= 2) {
    var newNumber:Number = (randomNumber(0, 19) * 207) + 4968;

    TweenMax.to(this["strip" +i], 2 + (i*.5), {y:strip1.y + newNumber});
    i++;    
}
}

function randomNumber(min:Number, max:Number):Number {
//good
return Math.floor(Math.random() * (1 + max - min) + min);
}
// ----------- fin escena 1 ----------

// ----------- Principio escena 2 -------------------

var blitMask3:BlitMask = new BlitMask( strip1q, strip1q.x, strip1q.y, 392 , strip1q.height, true, true, 0xffff00, true);


preguntas_btn.addEventListener(MouseEvent.CLICK, rodarPreguntas);

function rodarPreguntas(event:MouseEvent):void {

    preguntas_btn.visible = false;

    var newNumber1:Number = (randomNumber1(0, 50)*392) + 21168 ;
    //tween to the relative value of newNumber
    TweenMax.to(strip1q, 4, {x:String(-newNumber1), onComplete:showBtn});       
}

function showBtn(){
preguntas_btn.visible = true;
}

function randomNumber1(min:Number, max:Number):Number {
//good
return Math.floor(Math.random() * (1 + max - min) + min);
}

// ------- Fin escena 2 --------

我希望有人可以帮助我解决这个问题!

最佳答案

错误1009告诉您它不能引用按钮,影片剪辑,文本字段等。一个简单的答案是确保按钮具有实例名称。我想象您正在使用CS6或更旧的Flash版本。在这种情况下,请在舞台上选择一个按钮,例如numerico_btn。然后转到属性面板,然后在实例输入字段中输入numerico_btn的名称。

对所有按钮执行此操作。最后,声明这些按钮。例如:

var numerico_btn:SimpleButton;

那应该解决您的错误。作为补充,通过添加numerico_btn.enabled = true来确保启用了按钮;在事件监听器之前。

希望对您和遇到此最常见的开始问题的任何人有帮助。

关于actionscript-3 - AS3 Flash错误 “Cannot access a property or method of a null object reference”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16027616/

相关文章:

actionscript-3 - Trace() 方法在 FlashDevelop 中不起作用

actionscript-3 - RTS 游戏的声音管理器

c - 当您意外运行无限循环时会发生什么样的错误

actionscript-3 - AS3 点击隐藏的 mask 区域

actionscript-3 - 短 "progress code"算法

java - javascript中大量数据的高性能图表

actionscript-3 - 在 Flash 中强制软件渲染时 Context3D 不可用

flash - 有没有办法在 flex 4 中检测屏幕分辨率?

javascript - 使用java脚本求200万以下所有素数的总和

node.js - Nodejs "SyntaxError: Unexpected token ."