Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

crevin

Alguem sabe porque dá erro 1009

Recommended Posts

Desculpem-me novamente mas estou ligando a luz de uma sala e dei um Stop num Botão que é a "Tomada" e quero ir para uma instancia com nome de passos criei esta programação

 

stop ();

btn_tomada.addEventListener (MouseEvent.ROLL_OVER, iniciar);

 

function iniciar(event:MouseEvent):void {

gotoAndStop("passos");

}

 

E quando executo para ver ela me devolve o seguinte erro

TypeError: Error #1009: Não é possível acessar uma propriedade ou um método de uma referência de objeto nula.

at sala_fla::MainTimeline/frame9()

Compartilhar este post


Link para o post
Compartilhar em outros sites

O termo instância significa a cópia de um mesmo objeto.

 

Instance Name é definido no Painel Properties para acessar objetos (botões, movie clips) através do Action Script.

 

No seu código você adicionou o nome de um "label", verifique o Name (Painel Properties > aba Label).

 

gotoAndStop("passos");

Compartilhar este post


Link para o post
Compartilhar em outros sites

No meu código, apresenta o seguinte erro:

TypeError: Error #1009: Não é possível acessar uma propriedade ou um método de uma referência de objeto nula.

at Volt_fla::MainTimeline/moveObjetos()

TypeError: Error #1009: Não é possível acessar uma propriedade ou um método de uma referência de objeto nula.

at Volt_fla::MainTimeline/moveVolt()

TypeError: Error #1009: Não é possível acessar uma propriedade ou um método de uma referência de objeto nula.

at Volt_fla::MainTimeline/frame1()

 

Já olhei todos os comentários postados anteriormente, e não consegui identificar o erro.

 

Código:

import flash.display.*;
import flash.events.*;
import flash.utils.*;

var speed:int=5;
var ldown:Boolean=false;
var rdown:Boolean=false;
var udown:Boolean=false;
var ddown:Boolean=false;
var fim:Boolean=false;
var comp:Boolean=false;
var col:int=0;

volt.x = 33,95;
volt.y = 353,90;
chamaE.x = 12,30;
chamaE.y=356,30;
chamaD.x=54.45;
chamaD.y=356,30;
chamaS.x=32,50;
chamaS.y=379,50;

var crono:Number=000;
var segundos:Number=00;
var minutos:Number=00;
var intervalo=setInterval(tempo,10);


function tempo() {
	if (crono<1000) {
		crono=crono+001;
	}
	if (crono>100) {
		segundos++;
		crono=0;
	}
	if (segundos>59) {
		minutos++;
		segundos=0;
	}
	if (minutos==1) {
		stop();
		gotoAndStop('3');
		minutos=0;
	}
	timer_txt.text=minutos+": "+segundos;
}


stage.addEventListener(MouseEvent.MOUSE_MOVE,NovoCursor);

function NovoCursor(event:MouseEvent):void {
	Mouse.hide();
	cursor.x=event.stageX;
	cursor.y=event.stageY;
}

stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyup);

function keydown(event:KeyboardEvent):void {
	if (event.keyCode==37) {
		ldown=true;
		chamaD.visible=true;
		if (volt.visible==false) {
			chamaD.visible=false;
		}
	} else if (event.keyCode == 39) {
		rdown=true;
		chamaE.visible=true;
		if (volt.visible==false) {
			chamaE.visible=false;
		}
	} else if (event.keyCode == 38) {
		udown=true;
		chamaS.visible=true;
		if (volt.visible==false) {
			chamaS.visible=false;
		}
	} else if (event.keyCode == 40) {
		ddown=true;
	}
}

function keyup(event:KeyboardEvent):void {
	if (event.keyCode==37) {
		ldown=false;
		chamaD.visible=false;
	} else if (event.keyCode == 39) {
		rdown=false;
		chamaE.visible=false;
	} else if (event.keyCode == 38) {
		udown=false;
		chamaS.visible=false;
	} else if (event.keyCode == 40) {
		ddown=false;
	}
}

addEventListener(Event.ENTER_FRAME, moveObjetos);

function moveObjetos(event:Event):void {
	o1.x+=speed;
	o2.x-=speed;
	o3.x+=speed;
	if (o1.x>500) {
		o1.x=10;
		o1.x+=speed;
	}
	if (o2.x<10) {
		o2.x=475;
		o2.x-=speed;
	}
	if (o3.x>500) {
		o3.x=10;
		o3.x+=speed;
	}
}
addEventListener(Event.ENTER_FRAME, moveVolt);
function moveVolt(event:Event):void {
	if (ldown) {
		volt.x-=speed;
		volt.scaleX=-0.35;
		chamaE.x-=speed;
		chamaD.x-=speed;
		chamaS.x-=speed;
	} else {
		chamaD.visible=false;
	}
	if (rdown) {
		volt.x+=speed;
		volt.scaleX=0.35;
		chamaE.x+=speed;
		chamaD.x+=speed;
		chamaS.x+=speed;
	} else {
		chamaE.visible=false;
	}
	if (udown) {
		volt.y-=speed;
		chamaE.y-=speed;
		chamaD.y-=speed;
		chamaS.y-=speed;
	} else {
		chamaS.visible=false;
		volt.y+=speed;
		chamaE.y+=speed;
		chamaD.y+=speed;
		chamaS.y+=speed;
	}
	if (ddown) {
		volt.y+=speed;
		chamaE.y+=speed;
		chamaD.y+=speed;
		chamaS.y+=speed;
	}
	if (volt.hitTestObject(o1)||volt.hitTestObject(o2)||volt.hitTestObject(o3)||volt.hitTestObject(rio)) {
		volt.visible=false;
		if (volt.visible=false) {
			chamaE.visible=false;
			chamaD.visible=false;
			chamaS.visible=false;
		}
		colisao.x=volt.x;
		colisao.y=volt.y;
		colisao.gotoAndStop('animafogo');
		stop();
		gotoAndStop('3');
	} else if (volt.hitTestObject(chao)) {
		colisao.x=volt.x;
		colisao.y=volt.y;
		colisao.gotoAndStop('semfogo');
	} else {
		colisao.gotoAndStop('semfogo');
	}
	if (volt.y>365.6) {
		volt.y=365.6;
		chamaD.y=365.9;
		chamaE.y=365.9;
		chamaS.y=389,5;
	}
	if (volt.x<24.7) {
		volt.x=24.7;
		chamaD.x=47.0;
		chamaE.x=0.3;
		chamaS.x=20.6;
	}
	if (volt.x>525.6) {
		volt.x=89,7;
		chamaD.x=110,2;
		chamaE.x=68;
		chamaS.x=88.3;
		volt.visible=true;
		chamaD.visible=true;
		chamaE.visible=true;
		chamaS.visible=true;
	}
	if (volt.y<16) {
		volt.y=16;
		chamaD.y=16.3;
		chamaE.y=16.3;
		chamaS.y=40;
	} else {
		volt.gotoAndStop(1);
	}
}
btnrepetir.label="Tentar Novamente";
btnrepetir.addEventListener(MouseEvent.MOUSE_DOWN,repetir);

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estive quebrando meu código em partes, e o erro só é mostrado quando adiciono o botão.

Verifiquei o nome do botão e esta correto.

 

Segue código:

 

btnrepetir.label="Tentar Novamente";

btnrepetir.addEventListener(MouseEvent.MOUSE_DOWN,repetir);

function repetir(event:MouseEvent):void {

gotoAndStop(1);

}

se tento acrescentar o this, antes do botão também apresenta o erro. O objeto esta no palco, porém mesmo assim continua a apresentar. Tem alguma outra maneira de eu acrescentar o botão sem interferir no restante do código?

 

Bom resolvi o problema anterior, tive que adicionar os objetos através do metodo addChild();, porém agora quando há as colisões o mesmo esta retornando o seguinte erro:

TypeError: Error #2007: O parâmetro hitTestObject não deve ser nulo.

at flash.display::DisplayObject/_hitTest()

at flash.display::DisplayObject/hitTestObject()

at Volt_fla::MainTimeline/moveVolt()

 

 

Código:
if (volt.hitTestObject(o1)||volt.hitTestObject(o2)||volt.hitTestObject(o3)||volt.hitTestObject(rio)) {
		volt.visible=false;
		if (volt.visible=false) {
			chamaE.visible=false;
			chamaD.visible=false;
			chamaS.visible=false;
		}
		colisao.x=volt.x;
		colisao.y=volt.y;
		colisao.gotoAndStop('animafogo');
		gotoAndStop(3);

	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.