Autor Tópico: [Duvida] Flash Developer (problema com codico de butão)  (Lida 2441 vezes)

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida] Flash Developer (problema com codico de butão)
« em: 28 de Abril de 2006, 21:53:05 »
Boas,

O problema é o seguinte eu tenho um campo de texto onde se insere o nome e estou a tentar verificar se o campo é preenchido se for passa a frente se não tiver sido preenchido da uma mensagem de erro o problema é que não está a funcionar. Bem vou deixar o codico a ver se veem o problema, eu n vi :)

Código: [Seleccione]
on (release) {
if (_root.nome == "") {
_root.erro.gotoAndStop("erro");
} if(_root.nome != "") {
_root.gotoAndStop("certo");
}
}


Cumps

Offline gimbras

  • Emblema de Prata
  • ****
  • Mensagens: 1105
    • Ver Perfil
    • NoFuturo.com
[Duvida] Flash Developer (problema com codico de butão)
« Responder #1 em: 28 de Abril de 2006, 23:07:42 »
O erro está no segundo if. Deveria ser um else.

Se ao clicar o campo estiver vazio o filme avança para a frame erro. De outra forma (else), avança para a frame certo.

Código: [Seleccione]
on (release) {
   if (_root.nome == "") {
      _root.erro.gotoAndStop("erro");
   } else (_root.nome != "") {
      _root.gotoAndStop("certo");
   }
}


Mas não tenho a certeza que funcione na questão de detectar o texto presente nas caixas de texto. Mas em termos de programação, ali seria sempre um else e não um if.

Offline dimen

  • Aprendiz
  • **
  • Mensagens: 22
    • Ver Perfil
    • http://www.live2play.net/
[Duvida] Flash Developer (problema com codico de butão)
« Responder #2 em: 28 de Abril de 2006, 23:12:33 »
Mas quando dá erro, tens um movieclip chamado "erro" na root com uma frame label lá dentro chamada "erro" também, ou tens na _root duas frames distintas com os nomes "certo" e "erro"? Se for a segunda situação, eu diria que o código deveria ser algo como:
Código: [Seleccione]

on (release) {
   trace("Nome: " + _root.nome);
   if (_root.nome == "") {
      trace("Vou mostrar erro");
      _root.gotoAndStop("erro");
   } else {
      trace("Vou mostrar certo");
      _root.gotoAndStop("certo");
   }
}


No entanto, tal como o gimbras, disse, também pode ser algum problema com a variável _root.nome. Experimenta fazer um trace do seu valor no inicio do evento do botão para tirares as dúvidas, e depois traces também em ambas as hipoteses, porque com o if else que está ali em cima, ele tem obrigatoriamente que entrar numa delas...

Quanto aos ifs, tenho só que discordar na implementação do gimbras, que até acho que não funciona no flash. Isto porque o else nunca pode ter uma condição a seguir, ou seja, ou se faz
Código: [Seleccione]

if(condiçãoA)
{
  acçãoA;
}
else if(condiçãoB)
{
  acçãoB;
}


ou então
Código: [Seleccione]

if(condiçãoA)
{
  acçãoA;
}
else
{
  acçãoB;
}


O que o TripleHCP colocou no post inicial, não faz tanto sentido em termos lógicos de programação, mas também funciona.

Fica bem
url=http://www.live2play.net/]Life is just a game, so I live to play![/url]

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida] Flash Developer (problema com codico de butão)
« Responder #3 em: 29 de Abril de 2006, 00:03:30 »
Bem começei a explorar mais e em vez de "==" substitui por ne penso que é porque o "ne" é para strings.

Código: [Seleccione]
on (release) {
if (_root.nome ne "") {
_root.gotoAndStop("erro");
} else {
_root.gotoAndStop("certo");
}
}


Obrigado pela ajuda, já está resolvido :wink:

Offline Grettir

  • Aprendiz
  • **
  • Mensagens: 284
    • Ver Perfil
[Duvida] Flash Developer (problema com codico de butão)
« Responder #4 em: 29 de Abril de 2006, 01:13:20 »
Heyas,

bem, presumindo que

_root.nome

define o caminho para a caixa de texto, entao esta a falar a propriedade text:

Código: [Seleccione]

on (release) {
   if (_root.nome.text == "") {
      _root.gotoAndStop("erro");
   } else {
      _root.gotoAndStop("certo");
   }
}


A utilização do ne é um deprecated desde a versao Flash5, e ao contrario do que estas a tentar fazer, ne quer dizer Not Equal. Ou seja, isso esta a funcionar pq a tua caixa de texto é SEMPRE diferente de "", pq nem sequer estas a comparar o texto em si, mas a caixa...o que é estranho...ora ve, uma caixa de texto nunca pode ser igual a uma string nula "", logo isso vai dar sempre NE (Not Equal).

Ja agora, o NE foi substituido por !=

...e nao funciona só com STRINGS...funciona com Numbers, Strings e Booleans.

Fica bem e bom Flash
----------------------------------
Ricardo Castelhano aka Grettir

Adobe Certified Professional
Interactive Designer
Flash Developer
PHP Developer

http://www.ricardocastelhano.com/
-----------------------------------
Keep on "Flashing..."

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida] Flash Developer (problema com codico de butão)
« Responder #5 em: 29 de Abril de 2006, 11:41:16 »
Obrigado pela explicação Grettir, agora surgiu-me outro problema, na frame "certo" eu quero que apareça o que foi escrito na caixa de texto "nome". e usei o seguinte codico.

Código: [Seleccione]
_root.nome1.text = _root.nome.text;onde nome1 é a Dynamic text box que tenho na Cena Principal do frame "certo". o que acontece é que em vez de aparecer o que foi digitado em "nome" aparece "undefined".

Cumps

Offline Grettir

  • Aprendiz
  • **
  • Mensagens: 284
    • Ver Perfil
[Duvida] Flash Developer (problema com codico de butão)
« Responder #6 em: 29 de Abril de 2006, 11:56:29 »
Heyas.

exactamente...

Repara, no momento que mudas para o frame "CERTO" não tens nenhuma INPUT TEXT na root, logo fica undefined !!!

Quando clicas no botão, vais guardar o valor da caixa de texto numa variável.
Quando chegas ao frame "CERTO", pedes para escrever o valor dessa variavel.

Código: [Seleccione]

on(release){
if(_root.nome.text == ""){
gotoAndStop("errado");
}else{
_root.texto = _root.nome.text;
gotoAndStop("certo");
}
}


No frame "CERTO", basta-te dizer isto:

Código: [Seleccione]

_root.nome1.text =_root.texto;


Fica bem
----------------------------------
Ricardo Castelhano aka Grettir

Adobe Certified Professional
Interactive Designer
Flash Developer
PHP Developer

http://www.ricardocastelhano.com/
-----------------------------------
Keep on "Flashing..."

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida] Flash Developer (problema com codico de butão)
« Responder #7 em: 1 de Maio de 2006, 11:32:20 »
Boas,

Tanks Grettir ja funciona :D

Agora tenho outro problema também com um botão. Eu ponho o seguinte codico nele:

Código: [Seleccione]
on (release) {
_root.t._width = 1024;
_root.t._height = 768;
_root.t._x = 0;
_root.t._y = 0;
}

e a MC "t" desaparece, se eu tirar:

Código: [Seleccione]
_root.t._x = 0;
_root.t._y = 0;


Aumenta mas n fica no sitio que eu quero, não sei o que estou a fazer mal :?

Cumps

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida] Flash Developer (problema com codico de butão)
« Responder #8 em: 3 de Maio de 2006, 21:23:49 »
Já resolvi o problema, o que acontecia é que a shape que tinha dentro da MC n tinha como cordenadas 0,0 mas sim -300,-300 (por volta disto) e quando em mandava a MC ir para 0,0 a shape ficava em -300, -300 e por isso n se via :)

Cumps

 




Roleta das Anedotas - Abre noutra janela