Elektra 102 Denunciar post Postado Setembro 29, 2010 Tenho este exemplo em um DVD que estou estudando, alterei o valor da variável, etc, para verificar a saída. Com apenas um case e trace não ficou muito claro. var curso:String = "AS2"; switch ("AS2" == curso) { case true: trace ("AS3"); break; default: trace ("não encontrado"); } Preciso conferir em um exemplo prático. Então, pergunto se a verificação booleana com o valor de uma variável, dentro do switch é algo semelhante a este trecho do code que uso: ... var menu:Array = ["Home","Empresa","Produtos","Contato"]; var ativo:MovieClip = new MovieClip(); ... function carrega(evt:MouseEvent):void { if (ativo != evt.currentTarget) { //trace("carrega"); switch (evt.currentTarget) { case (bt0) : link = new URLRequest("home.swf"); break; case (bt1) : link = new URLRequest("empresa.swf"); break; ... break; } } } Agradeço quem possa mencionar outros exemplos de uso. Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif ps: não é possível editar o título do tópico, leia-se >> Verificação booleana em switch Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Setembro 29, 2010 Olá Elektra Sim, o uso do switch esta correto nesse caso, usa-lo assim para saber qual botão foi clicado é algo comum, embora eu ache melhor usa-lo apenas assim: switch (evt.currentTarget) { case (bt0) : carregar("home.swf"); break; case (bt1) : carregar("empresa.swf"); break; } assim evita código duplicado em cada CASE agora sobre a verificação booleana, o melhor é usar só um IF, já que só tem dois casos( true ou false, o SWTICH é indicado para verificações que podem ter muitos casos diferente, como esse menu bem, acho que é isso []´s PS: eu ri quando li "boolena", rsrs Compartilhar este post Link para o post Compartilhar em outros sites
Irineu Antunes 2 Denunciar post Postado Setembro 29, 2010 é exatamente como o Eder falou Elektra... Em geral nos algoritmos o uso do if e: [...] if( [expressão booleana] ) { /*bloco de codigo*/ } [...] Se der true ele entra no bloco de código, senao ele continua o código. Se fosse falsa ele iria pro else. [...] if( [expressão booleana] ) { /*bloco de codigo*/ } else { /*bloco de codigo*/ } [...] Você deve saber que é possível utilizar if, else if, else if, ..., else. Mas fica um tanto inadequado dependendo da situação (que é a maioria rrs), daí utilizamos o swtich case, que é mais apropriado nestas ocasiões ;) Como só há duas possibilidades (T/F), entao use um if e ja era ;) Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Setembro 30, 2010 Amigos, muito obrigada pela atenção. @ Eder :D ...não enrola, você entendeu direitinho! (pode rir na boa, já falei faz tempo que não dá pra editar o título) Eu só aprendi o uso do switch com 'trace'. Juntei 2 tutoriais/arquivos do Michel Araújo >> menu ativado (com páginas internas) + galeria de imagens (switch com imagens externas). Adaptei como pude e funcionou, meu querido amigo Foxn deu uma generosa mão para a página não recarregar com click (chorei de alegria). Reuniu várias coisas que eu queria aprender, o menu ativado, switch para o carregamento de arquivos e uma 'transição' de páginas (foi a única que encontrei até o momento, quero muito saber como se faz isso). Aos poucos vai melhorando. Clique aqui stop(); var menu:Array = ["Home","Empresa","Produtos","Contato"]; var i:uint; var ativo:MovieClip = new MovieClip(); var link:URLRequest; for (i=0; i<=3; i++) { this["bt" + i].txtBotao.text = menu[i]; this["bt" + i].mouseChildren = false; this["bt" + i].addEventListener(MouseEvent.MOUSE_OVER, over); this["bt" + i].addEventListener(MouseEvent.MOUSE_OUT, out); this["bt" + i].addEventListener(MouseEvent.CLICK, carrega); this["bt" + i].addEventListener(MouseEvent.CLICK, clique); } function over(evt:MouseEvent):void { if (ativo != evt.currentTarget) { evt.currentTarget.gotoAndPlay("over"); } } function out(evt:MouseEvent):void { if (ativo != evt.currentTarget) { evt.currentTarget.gotoAndPlay("out"); } } function clique(evt:MouseEvent):void { if (ativo != evt.currentTarget) { //trace("clique"); ativo.gotoAndPlay("out"); ativo = evt.currentTarget as MovieClip; ativo.gotoAndPlay("over"); } } function carrega(evt:MouseEvent):void { if (ativo != evt.currentTarget) { //trace("carrega"); switch (evt.currentTarget) { case (bt0) : link = new URLRequest("home.swf"); break; case (bt1) : link = new URLRequest("empresa.swf"); break; case (bt2) : link = new URLRequest("produtos.swf"); break; case (bt3) : link = new URLRequest("contato.swf"); break; } mcCarrega.gotoAndPlay(2); } } bt0.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); Mencionei este code por conta da função que usa uma estrutura if com a variável 'ativo' para verificar o case da página carregada e desativar o click no botão. Eu queria visualizar na prática. É isso? @ Irineu A dúvida é referente a um capítulo do DVD do Erick Souza, que estou estudando. O exemplo que ele usou foi bem ralado, me quebrou as pernas. O trecho do code que postei é o único exemplo real que tenho com a estrutura switch. (Aceito doações) Quanto ao if, else if e else tá tranquilo. ^_^ Abraços =] ps: não sei quem corrigiu o título do tópico, muito obrigada! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif >> Booleana >> tá certinho!!! Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Outubro 5, 2010 Olá Elektra Sim, o uso do switch esta correto nesse caso, usa-lo assim para saber qual botão foi clicado é algo comum, embora eu ache melhor usa-lo apenas assim: switch (evt.currentTarget) { case (bt0) : carregar("home.swf"); break; case (bt1) : carregar("empresa.swf"); break; } assim evita código duplicado em cada CASE agora sobre a verificação booleana, o melhor é usar só um IF, já que só tem dois casos( true ou false, o SWTICH é indicado para verificações que podem ter muitos casos diferente, como esse menu bem, acho que é isso []´s PS: eu ri quando li "boolena", rsrs Eder, testei a sua sugestão, substitui pela variável link, erro em output. Como nunca tinha usado o switch para carregamento de páginas essa foi a forma que consegui fazer funcionar. Talvez com o code na íntegra fique mais claro. Não me falta disposição para outras possibilidades. Pode esquecer o 'booleano'. ps: olha como você escreveu >> o SWTICH :P Abraços Compartilhar este post Link para o post Compartilhar em outros sites