Ir para conteúdo

POWERED BY:

Arquivado

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

wfrsilva

Action Script 3 - Botão Instanciado dentro de um movieclip não ativa o

Recommended Posts

Listener não é ativo em botoes dentro de um movieclip

 

Atualizando: Está visível que o problema é ativar os listeners nos botões que estão em um movieclip

 

 

Estou com problema no Flash CS4 - Action script 3 - Botão em um movie clip

 

Tenho um movieclip (ampliação de uma parte de um mapa) que ao final da aminação, algumas cidades são botões.

O movieclip (MC) que faz a animação instanciei com esse nome: granfpolis_amp,

e um dos botoes : bt_mnc_CEH

 

Então o endereço completo do botão:

this.granfpolis_amp.bt_mnc_CEH

 

Logo com o listener:

this.granfpolis_amp.bt_mnc_CEH.addEventListener(MouseEvent.MOUSE_DOWN, abreURLceh);

 

No momento estou tentenado apenas receber o trace do botao (eu sei, o nome é abre url, isso que ira fazer no futuro):

 

function abreURLceh(obj:MouseEvent):void{
var button:DisplayObject = DisplayObject(obj.target);
trace('abreURLceh - Fui clicado: ' + button.name);
}
E para minha tristeza, não estou recebendo o trace.
Se eu colocar o botão direto no palco, ai funciona:
Usei o mesmo simbolo, coloquei no palco e instanciei btpc_mnc_ceh
btpc_mnc_ceh.addEventListener(MouseEvent.MOUSE_DOWN, abreURLprcceh);
E a proposito, o caminho absoluto: root.(..) não consigo usar, dá erro. Vi que tem umas soluções mas não entendi muito bem como resolver isso.
Faz anos que não mexia em flash, ultima versão que usei foi o 8.
Agradeço a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou assim:

this.bt_mnc_CEH.addEventListener(MouseEvent.MOUSE_DOWN, abreURLceh);

 

Não entendi bem o motivo de ignorar o endereco completo:

this.granfpolis_amp.bt_mnc_CEH.addEventListener(MouseEvent.MOUSE_DOWN, abreURLceh);

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por fabio78silva
      Olá
       
      Meu comando stop(); na timeline principal não está funcionando. O que pode ser?
       
       
      Alguém tem arquivo FLA de exemplo com o comandos stop(); e gotoNextFrameAndStop();
       
      meu email é fabio@amplitudebooks.com
    • Por antonio_milat
      Meu listener está sendo chamado duas vezes, mas o evento só é disparado uma vez.
      Eu copiei a base do código da documentação do Lumen 5.7 e aparentemente está tudo configurado corretamente. Não consigo encontrar o problema.
       
      bootstrap/app.php
      $app->register(App\Providers\EventServiceProvider::class);  
      app/Providers/EventServiceProvider.php
      protected $listen = [ 'App\Events\NewAuthEvent' => [ 'App\Listeners\SendNewAuthListener', ], ];  
      app/Events/NewAuthEvent.php
      use Illuminate\Queue\SerializesModels; use App\Data\Entity\User; use App\Data\Entity\Authorization; use Illuminate\Support\Facades\Log; class NewAuthEvent { use SerializesModels; public $user; public $auth; public function __construct(User $user, Authorization $auth) { Log::debug("Disparado uma vez"); $this->user = $user; $this->auth = $auth; } }  
      app/Listeners/SendNewAuthListener.php
      use App\Events\NewAuthEvent; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use App\Data\Service\MessengerService; use Illuminate\Support\Facades\Log; class SendNewAuthListener { private $messenger; public function __construct(MessengerService $messenger) { Log::debug("Chamado duas vezes"); $this->messenger = $messenger; } public function handle(NewAuthEvent $event) { Log::debug("Chamado duas vezes também"); $this->messenger->new($event->user, $event->auth); } }  
      Disparando o evento:
      event(new NewAuthEvent($objUser, $objAuthorization)); Estou me esquecendo de algum parâmetro ou configuração? Agradeço desde já!
    • Por Vitor Figueredo Marques
      Sou iniciante no Flash, e fiz esse pequeno e simples script para testar as funções:
      em um frame de um layer chamado ac:
      main();
      function main():Void{
          attachMovie("bola_mc","bola_mc",1,{_x:40, _y:170});
          bola_mc.play();
      }
      O bola_mc está em pause no primeiro frame, passei muito tempo tentando entender porque não estava dando play, mas não obtive sucesso.
      Poderiam me ajudar? Por que não dá play?

      E aproveitando, sobre esse "." do "bola_mc.play", vi um vídeo no youtube em que um rapaz chama objetos fazendo isso, por exemplo: bola_mc.botão_btn. Então eu posso criar um botão dentro da minha bola_mc, instanciar-lo de botão_btn, e então no meu actionscript chamar-lo de bola_mc.botão_btn?
    • Por Nico Las
      alguém poderia corrigir para mim esse código? eu quero que a pessoa digite alguns valores, o programa lê, faz um calculo e desenha ele
      Obs.: Eu não tenho nenhum conhecimento em action script, tive base em dois programas que achei na internet
      var vt: Number = 0; var w: Number = 2; var f: Number = 60; var amplitude1: Number; var inicial1: Number; var rad:Number; var cosseno:Number; var cos: Number; var direçãoX: Number; var direçãoY: Number; var cosWaveColor:uint = 0x00FF00; amplitude.text=""; inicial.text=""; var i:uint;  for(i = 1; i < stage.stageWidth; i++)  btn_enter.addEventListener(MouseEvent.CLICK, onClickHandler); function onClickHandler(e:MouseEvent): void {     switch(e.target.name){         case "enter";             if(amplitude.text != "")(inicial.text !=""){                 inicial1= parseFloat(inicial.text);                                  cosseno= w * i + inicial1;                 cos Math.cos(cosseno);                                                amplitude1= parseFloat(amplitude.text !="");                 vt = amplitude1 * cos;                                 direçãoX=vt;                 direçãoY=i;                                  graphics.beginFill(cosWaveColor);                  graphics.drawRect(i, cosWavePosition + cosPosY, 2, 2);                              }         break;     }         }  
    • Por adeilsonjunior
      Prezados,
       
      Realizei a instalação do Oracle 11g R2 no Windows 7.
       
      Utilizei o utilitário do dbca para criar um banco de dados sem configurar o Enterprise Manager.
       
      Ao final da configuração deste banco de dados eu iniciei o dbca novamente para configurar o Enterprise Manager e recebi a seguinte mensagem: "A configuração do banco de dados com o controle de banco de dados exige que um listener seja configurado no oracle home atual..."
       
      Utilizei o netca para configurar o indice e ao final deste utilitário recebo a seguinte mensagem no MS-DOS:
       
      "ServiceAliasException: Não foi possível salvar o nome de serviço TNS-04406: objeto já existe
      Configuração de nomeação local default concluída
      Configuração do lisntener concluída
      Inicialização do listener do Oracle Net:
       
      Executando o controle de listener:
      K:\app\adeilson\product\11.2.0\dbhome_1\bin\lsnrctl start LISTENER
      Controle de listener concluído
      Falha ao iniciar o listener
       
      Configuração de Serviços do oracle net bem sucedida. O código de saída é 0."
       
      Ao iniciar o lsnrctl status recebo a mensagem de que há os 3 erros abaixo:
       
      TNS-12541
      TNS-12560
      TNS-00511
       
      Agradeço muito a quem puder ajudar.
       
       
       
       
       
×

Informação importante

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