Ir para conteúdo

Arquivado

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

Cassio Pires

Referir-se a objetos da biblioteca

Recommended Posts

queria saber como me reviro a objetos que estão na biblioteca. tipo eu clico em um botão

e ele importa um objeto da biblioteca. como eu faço para clicando em outro botão trocar este objeto de lugar.

 

Ou algo que seja parecido.

 

agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sugiro o estudo de alguns livros básicos de AS3, ajuda muito.

 

Postar o código e informar claramente as dúvidas, idem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sugiro o estudo de alguns livros básicos de AS3, ajuda muito.

 

Postar o código e informar claramente as dúvidas, idem.

botao.addEventListener(MouseEvent.CLICK, inicio);

 

function inicio(event:MouseEvent):void{

 

var objeto:Objeto = new Objeto();

objeto.x = 100,00;

objeto.y = 100,00;

addChild( objeto );

}

 

dentro do Movieclipe objeto tem codigo para ele se mover( this.x -= 15;) e

para ele parar - if (this.hitTestObject(MovieClip(parent).parede)) {

 

this.stop();

}

 

como eu faço para com um botão de click eu enviar o objeto para as cordenadas x = 200,00, y = 200,00;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Casio beleza?

 

Tenta fazer esta forma, acho que vai funcionar...

 

objeto.addEventListener (MouseEvent.CLICK,function(eventMouse){objeto.x = 200,00; objeto.y = 200,00});

 

Assim vc cria a função dentro do evento do Mouse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega, uma pergunta simples.

 

Sabe como acessar um objeto dentro de outro objeto, e quando usar 'this', 'parent', 'root'?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega, uma pergunta simples.

 

Sabe como acessar um objeto dentro de outro objeto, e quando usar 'this', 'parent', 'root'?

O problema é assim, eu vou importar um objeto da biblioteca("meu_mc").

 

Esta assim dentro do objeto (meu_mc) este que está na bibioteca para ser importado se eu clicar em um botão.

 

this.x -= 20;

 

if (this.hitTestObject(MovieClip(parent).parede)){

 

 

this.gotoAndStop(3);

 

 

}

//SE COLIDIR COM O OBJETO PAREDE ELE VAI PARA O SEU FRAME 3 E VAI PARAR DENTRO DO PALCO.

 

eu quero saber é como fazer um botão na cena principal para quando eu clicar neste botão eu tirar o (meu_mc) do palco.

 

Se eu coloco essa action

 

botao.addEventListener(MouseEvent.CLICK, inicio);

 

function inicio(event:MouseEvent):void

{

 

 

meu_mc.x = 435,90;

meu_mc.y = 72,90;

 

}

 

Da esse erro pq ele não acha o objeto no palco pois o objeto esta na biblioteca ainda. so aperce se hover a colisão.

 

Cena 1, Camada 'ações', Quadro 1, Linha 10 1120: Acesso de propriedade indefinida meu_mc.

 

Cena 1, Camada 'ações', Quadro 1, Linha 11 1120: Acesso de propriedade indefinida meu_mc.

 

Se der pra ajudar agora agradeço desde já.

 

Fala Casio beleza?

 

Tenta fazer esta forma, acho que vai funcionar...

 

objeto.addEventListener (MouseEvent.CLICK,function(eventMouse){objeto.x = 200,00; objeto.y = 200,00});

 

Assim vc cria a função dentro do evento do Mouse.

O problema é assim, eu vou importar um objeto da biblioteca("meu_mc").

 

Esta assim dentro do objeto (meu_mc) este que está na bibioteca para ser importado se eu clicar em um botão.

 

this.x -= 20;

 

if (this.hitTestObject(MovieClip(parent).parede)){

 

 

this.gotoAndStop(3);

 

 

}

//SE COLIDIR COM O OBJETO PAREDE ELE VAI PARA O SEU FRAME 3 E VAI PARAR DENTRO DO PALCO.

 

eu quero saber é como fazer um botão na cena principal para quando eu clicar neste botão eu tirar o (meu_mc) do palco.

 

Se eu coloco essa action

 

botao.addEventListener(MouseEvent.CLICK, inicio);

 

function inicio(event:MouseEvent):void

{

 

 

meu_mc.x = 435,90;

meu_mc.y = 72,90;

 

}

 

Da esse erro pq ele não acha o objeto no palco pois o objeto esta na biblioteca ainda. so aperce se hover a colisão.

 

Cena 1, Camada 'ações', Quadro 1, Linha 10 1120: Acesso de propriedade indefinida meu_mc.

 

Cena 1, Camada 'ações', Quadro 1, Linha 11 1120: Acesso de propriedade indefinida meu_mc.

 

Se der pra ajudar agora agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que o seu erro é o seguinte: você está se referindo ao movieclip (que não está no palco), e não a variável que contém ele (a variável 'objeto').

 

Então basta substituir o meu_mc por objeto:

function inicio(event:MouseEvent):void
{    
        objeto.x = 435.90;
        objeto.y = 72.90;
}

Além disso, substitua as vírgulas das coordenadas por pontos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você estanciou o objeto que esta na biblioteca? Se não vai na propriedade do objeto.

Caso contrario você não pode usar o nome do objeto direto em seu código, o correto é usar o nome da variável que aponta para este objeto.

Exemplo:

var apontaParaMeuObjeto:MovieClip = new ObjetoNaBiblioteca();
apontaParaMeuObjeto.x = 0 // Posição que ele deve ficar o palco
apontaParaMeuObjeto.y = 0 // Posição que ele deve ficar o palco
addChild(apontaParaMeuObjeto);

// Ou 

pai.addChild(apontaParaMeuObjeto); // Caso ele esteja dentro de outro movieClip

Para acessar as propriedades basta usar apenas o nome da variável que aposta .

 

Mesmo que ele esteja dentro de outro MovieClip não necessita de informar antes o nome deste movieClip, pois lembre que a variavel já aponta para ele independente de seu endereço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você estanciou o objeto que esta na biblioteca? Se não vai na propriedade do objeto.

Caso contrario você não pode usar o nome do objeto direto em seu código, o correto é usar o nome da variável que aponta para este objeto.

Exemplo:

var apontaParaMeuObjeto:MovieClip = new ObjetoNaBiblioteca();
apontaParaMeuObjeto.x = 0 // Posição que ele deve ficar o palco
apontaParaMeuObjeto.y = 0 // Posição que ele deve ficar o palco
addChild(apontaParaMeuObjeto);

// Ou 

pai.addChild(apontaParaMeuObjeto); // Caso ele esteja dentro de outro movieClip

Para acessar as propriedades basta usar apenas o nome da variável que aposta .

 

Mesmo que ele esteja dentro de outro MovieClip não necessita de informar antes o nome deste movieClip, pois lembre que a variavel já aponta para ele independente de seu endereço.

 

assim, eu consigo importar o objeto da biblioteca, eu salvei ele com o nome (meu_mc) e com a classe(Meu_mc).

é que o objeto(meu_mc) para dentro do palco. eu quero saber como eu faço para tiralo de lá mas clicando em um botão que está nos codigos da cena principal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se possível, poste o link com o '.fla' para download (pode ser por mensagem privada).

 

Não programo games, mas posso dar uma olhada se está ao meu alcance tentar auxiliar.

 

Seu comentário sugere ser apenas ajustar a referência ao objeto que deseja acessar. Visualizar facilita compreender a estrutura do arquivo.

 

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

btnRemove.addEventListener(MouseEvent.CLICK,function(MouseEvent){removeChild(NomeVariavel);});

como o "nomeVarialvel" é meu_mc apareceu isso. pq ele não encontrou.

Cena 1, Camada 'ações', Quadro 1, Linha 20 1120: Acesso de propriedade indefinida meu_mc.

 

 

Se possível, poste o link com o '.fla' para download (pode ser por mensagem privada).

 

Não programo games, mas posso dar uma olhada se está ao meu alcance tentar auxiliar.

 

Seu comentário sugere ser apenas ajustar a referência ao objeto que deseja acessar. Visualizar facilita compreender a estrutura do arquivo.

 

 

abs

é isso msm eu quero apenas acessar o objeto que ainda não esta no palco. e sim esta na biblioteca. mas quero acessa-lo para que o compilador não o de como propriedade indefinida por ainda não esta no palco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quer acessar algo que ainda "não existe"?

 

Melhor adicionar ao stage (ou fora dele) e dar um alpha zero (ou visible false), aí poderá acessar/manipular tranquilamente.

 

Talvez existam outras técnicas mais avançadas que eu desconheça no momento.

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.