O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na internet.
Estou com um problema extremamente bizarro sem qualquer pista de
solução utilizando AS3.
A questão é simples:
Se você altera a largura de um movieclip para uma largura especifica,
qual o comportamento esperado? esperamos que o movieclip fique com a
largura indicada, certo? nem sempre!
Se alterar a largura de um objeto contendo Linha via script a dimensão
simplesmente nao corresponde ao valor indicado!
A unica forma de funcionar corretamente é setando a largura via o
painel de propriedades, sem usar script ou então setar a largura da
linha para 0.1! Mas ambas soluções são muito limitantes.
Coisas que já tentei:
- alterar o tipo de escala da linha
- desmembrar a linha do objeto (linha em outra camada em cima do
objeto)
- compilar em cs3, cs4, baixar versão do player
Creio que seja um bug do flash, mas não encontrei nada sobre o assunto
no google.
Em AS2 nunca tive nenhum tipo de problema como este.
Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar um
problema de compilação por causa do script, mas que não tem ligação
alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
compilar correto eu agradeço, mas nao tenho como testar isso no
momento.
1. Já tentou com... (Shape).graphics.? Desenhando 100% via ActionScript.
2. Se não rolar faça o seguinte POG: desenhe dois retangulos sem linha e
"broque" um deles para "virar" uma linha. huiaehiuaehiuae...
Não tenho como testar agora porque estou sem o Flash instalado nesta máquina
e sem a versão portable, mas eu posso fazer mais tarde e anexar o resultado.
> Estou com um problema extremamente bizarro sem qualquer pista de
> solução utilizando AS3.
> A questão é simples:
> Se você altera a largura de um movieclip para uma largura especifica,
> qual o comportamento esperado? esperamos que o movieclip fique com a
> largura indicada, certo? nem sempre!
> Se alterar a largura de um objeto contendo Linha via script a dimensão
> simplesmente nao corresponde ao valor indicado!
> A unica forma de funcionar corretamente é setando a largura via o
> painel de propriedades, sem usar script ou então setar a largura da
> linha para 0.1! Mas ambas soluções são muito limitantes.
> Coisas que já tentei:
> - alterar o tipo de escala da linha
> - desmembrar a linha do objeto (linha em outra camada em cima do
> objeto)
> - compilar em cs3, cs4, baixar versão do player
> Creio que seja um bug do flash, mas não encontrei nada sobre o assunto
> no google.
> Em AS2 nunca tive nenhum tipo de problema como este.
> Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
> PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar um
> problema de compilação por causa do script, mas que não tem ligação
> alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
> compilar correto eu agradeço, mas nao tenho como testar isso no
> momento.
> Aguardo retorno sobre o caso
> Felipe Peternella
> 1. Já tentou com... (Shape).graphics.? Desenhando 100% via ActionScript.
> 2. Se não rolar faça o seguinte POG: desenhe dois retangulos sem linha e
> "broque" um deles para "virar" uma linha. huiaehiuaehiuae...
> Não tenho como testar agora porque estou sem o Flash instalado nesta
> máquina e sem a versão portable, mas eu posso fazer mais tarde e anexar o
> resultado.
> 2009/4/16 Felipe Peternella <felipe...@gmail.com>
>> Prezados
>> Estou com um problema extremamente bizarro sem qualquer pista de
>> solução utilizando AS3.
>> A questão é simples:
>> Se você altera a largura de um movieclip para uma largura especifica,
>> qual o comportamento esperado? esperamos que o movieclip fique com a
>> largura indicada, certo? nem sempre!
>> Se alterar a largura de um objeto contendo Linha via script a dimensão
>> simplesmente nao corresponde ao valor indicado!
>> A unica forma de funcionar corretamente é setando a largura via o
>> painel de propriedades, sem usar script ou então setar a largura da
>> linha para 0.1! Mas ambas soluções são muito limitantes.
>> Coisas que já tentei:
>> - alterar o tipo de escala da linha
>> - desmembrar a linha do objeto (linha em outra camada em cima do
>> objeto)
>> - compilar em cs3, cs4, baixar versão do player
>> Creio que seja um bug do flash, mas não encontrei nada sobre o assunto
>> no google.
>> Em AS2 nunca tive nenhum tipo de problema como este.
>> Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
>> PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar um
>> problema de compilação por causa do script, mas que não tem ligação
>> alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
>> compilar correto eu agradeço, mas nao tenho como testar isso no
>> momento.
>> Aguardo retorno sobre o caso
>> Felipe Peternella
hehehe é uma alternativa mas creio que nem sempre vou poder desenhar via
script por questoes de tempo ou complexidade do objeto.
quanto ao POG é uma boa alternativa, mas quando eu redimensionar o objeto a
"linha" vai se esticar e distorcer, coisa que podemos evitar com o "stroke".
independente de ter estas alternativas, creio que este não seja um
comportamento adequado para se tratar um objeto. :)
> 1. Já tentou com... (Shape).graphics.? Desenhando 100% via ActionScript.
> 2. Se não rolar faça o seguinte POG: desenhe dois retangulos sem linha e
> "broque" um deles para "virar" uma linha. huiaehiuaehiuae...
> Não tenho como testar agora porque estou sem o Flash instalado nesta
> máquina e sem a versão portable, mas eu posso fazer mais tarde e anexar o
> resultado.
> 2009/4/16 Felipe Peternella <felipe...@gmail.com>
>> Prezados
>> Estou com um problema extremamente bizarro sem qualquer pista de
>> solução utilizando AS3.
>> A questão é simples:
>> Se você altera a largura de um movieclip para uma largura especifica,
>> qual o comportamento esperado? esperamos que o movieclip fique com a
>> largura indicada, certo? nem sempre!
>> Se alterar a largura de um objeto contendo Linha via script a dimensão
>> simplesmente nao corresponde ao valor indicado!
>> A unica forma de funcionar corretamente é setando a largura via o
>> painel de propriedades, sem usar script ou então setar a largura da
>> linha para 0.1! Mas ambas soluções são muito limitantes.
>> Coisas que já tentei:
>> - alterar o tipo de escala da linha
>> - desmembrar a linha do objeto (linha em outra camada em cima do
>> objeto)
>> - compilar em cs3, cs4, baixar versão do player
>> Creio que seja um bug do flash, mas não encontrei nada sobre o assunto
>> no google.
>> Em AS2 nunca tive nenhum tipo de problema como este.
>> Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
>> PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar um
>> problema de compilação por causa do script, mas que não tem ligação
>> alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
>> compilar correto eu agradeço, mas nao tenho como testar isso no
>> momento.
>> Aguardo retorno sobre o caso
>> Felipe Peternella
Abri aqui o seu arquivo. Notei que a borda sempre é subtraida do tamanho do
shape. Se aumentar a borda o elemento fica menor ainda. Isso é um bug muito
sério. Dei uma pesquisada aqui e não achei nada sobre o assunto.
Esse problema me intrigou e eu estarei pesquisando sobre o assunto para ver
se conseguimos resolver o problema.
Um pouco fora do assunto vi que você criou uma classe externa para manipular
o arquivo. Isso é bom para aprender a escrever classes mas só isso. No Flash
tratar elementos dentro da timeline é o melhor prática. A criação de classes
externas deve ser usada em POO.
> hehehe é uma alternativa mas creio que nem sempre vou poder desenhar via
> script por questoes de tempo ou complexidade do objeto.
> quanto ao POG é uma boa alternativa, mas quando eu redimensionar o objeto a
> "linha" vai se esticar e distorcer, coisa que podemos evitar com o "stroke".
> independente de ter estas alternativas, creio que este não seja um
> comportamento adequado para se tratar um objeto. :)
>> 1. Já tentou com... (Shape).graphics.? Desenhando 100% via ActionScript.
>> 2. Se não rolar faça o seguinte POG: desenhe dois retangulos sem linha e
>> "broque" um deles para "virar" uma linha. huiaehiuaehiuae...
>> Não tenho como testar agora porque estou sem o Flash instalado nesta
>> máquina e sem a versão portable, mas eu posso fazer mais tarde e anexar o
>> resultado.
>> 2009/4/16 Felipe Peternella <felipe...@gmail.com>
>>> Prezados
>>> Estou com um problema extremamente bizarro sem qualquer pista de
>>> solução utilizando AS3.
>>> A questão é simples:
>>> Se você altera a largura de um movieclip para uma largura especifica,
>>> qual o comportamento esperado? esperamos que o movieclip fique com a
>>> largura indicada, certo? nem sempre!
>>> Se alterar a largura de um objeto contendo Linha via script a dimensão
>>> simplesmente nao corresponde ao valor indicado!
>>> A unica forma de funcionar corretamente é setando a largura via o
>>> painel de propriedades, sem usar script ou então setar a largura da
>>> linha para 0.1! Mas ambas soluções são muito limitantes.
>>> Coisas que já tentei:
>>> - alterar o tipo de escala da linha
>>> - desmembrar a linha do objeto (linha em outra camada em cima do
>>> objeto)
>>> - compilar em cs3, cs4, baixar versão do player
>>> Creio que seja um bug do flash, mas não encontrei nada sobre o assunto
>>> no google.
>>> Em AS2 nunca tive nenhum tipo de problema como este.
>>> Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
>>> PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar um
>>> problema de compilação por causa do script, mas que não tem ligação
>>> alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
>>> compilar correto eu agradeço, mas nao tenho como testar isso no
>>> momento.
>>> Aguardo retorno sobre o caso
>>> Felipe Peternella
Obrigado Lauro,
Como você mesmo disse, é realmente intrigante como algo pode se comportar
assim de maneira tão inesperada, ilógica à primeira vista, o que também me
leva a crer que seja um bug. Ou então deve haver uma razão excepcionalmente
boa por traz disso que me torna incapaz de percebe-la. :)
Até o momento, as possiveis solução são apenas "workarounds" mas nada que
efetivamente resolva a questão.
Entre elas, está a sugestão de Deco para redesenhar o shape via script que
acredito se tornar improdutivo em alguns casos, ou então setar a espessura
da linha para 0.1 (a menor espessura aceitável que visualmente não há
diferenças para a espessura de 1px), mas também vejo como um fator limitante
visto que pode ocorrer momentos onde o layout exige 2 ou mais pixels de
largura em uma borda.
xxx
Sobre a sua dica, agradeço e gostaria que esclarecesse um pouco mais. Pelo
que entendi não é recomendado expor o código em um arquivo externo e mas sim
escrever o código na própria timeline quando houver elementos no stage. É
isso?
Caso seja, eu gostaria de confrontar esta prática com a utilização de SVN
para manutenção de versões, como é o meu caso, uma vez que o FLA (sendo um
arquivo binário) não permite que eu faça o mesmo tipo de comparação entre
scripts de versões diferentes (como quando usamos arquivos de texto pleno).
Por esta razão tenho a prática de sempre manter scripts fora do FLA e,
associado a isso, por conta do AS3, imaginei que também fosse uma boa
prática gerar um objeto para controlá-lo.
> Abri aqui o seu arquivo. Notei que a borda sempre é subtraida do tamanho do
> shape. Se aumentar a borda o elemento fica menor ainda. Isso é um bug muito
> sério. Dei uma pesquisada aqui e não achei nada sobre o assunto.
> Esse problema me intrigou e eu estarei pesquisando sobre o assunto para ver
> se conseguimos resolver o problema.
> Um pouco fora do assunto vi que você criou uma classe externa para
> manipular o arquivo. Isso é bom para aprender a escrever classes mas só
> isso. No Flash tratar elementos dentro da timeline é o melhor prática. A
> criação de classes externas deve ser usada em POO.
> 2009/4/16 Felipe Peternella - Gmail <felipe...@gmail.com>
>> hehehe é uma alternativa mas creio que nem sempre vou poder desenhar via
>> script por questoes de tempo ou complexidade do objeto.
>> quanto ao POG é uma boa alternativa, mas quando eu redimensionar o objeto
>> a "linha" vai se esticar e distorcer, coisa que podemos evitar com o
>> "stroke".
>> independente de ter estas alternativas, creio que este não seja um
>> comportamento adequado para se tratar um objeto. :)
>>> 1. Já tentou com... (Shape).graphics.? Desenhando 100% via ActionScript.
>>> 2. Se não rolar faça o seguinte POG: desenhe dois retangulos sem linha e
>>> "broque" um deles para "virar" uma linha. huiaehiuaehiuae...
>>> Não tenho como testar agora porque estou sem o Flash instalado nesta
>>> máquina e sem a versão portable, mas eu posso fazer mais tarde e anexar o
>>> resultado.
>>> 2009/4/16 Felipe Peternella <felipe...@gmail.com>
>>>> Prezados
>>>> Estou com um problema extremamente bizarro sem qualquer pista de
>>>> solução utilizando AS3.
>>>> A questão é simples:
>>>> Se você altera a largura de um movieclip para uma largura especifica,
>>>> qual o comportamento esperado? esperamos que o movieclip fique com a
>>>> largura indicada, certo? nem sempre!
>>>> Se alterar a largura de um objeto contendo Linha via script a dimensão
>>>> simplesmente nao corresponde ao valor indicado!
>>>> A unica forma de funcionar corretamente é setando a largura via o
>>>> painel de propriedades, sem usar script ou então setar a largura da
>>>> linha para 0.1! Mas ambas soluções são muito limitantes.
>>>> Coisas que já tentei:
>>>> - alterar o tipo de escala da linha
>>>> - desmembrar a linha do objeto (linha em outra camada em cima do
>>>> objeto)
>>>> - compilar em cs3, cs4, baixar versão do player
>>>> Creio que seja um bug do flash, mas não encontrei nada sobre o assunto
>>>> no google.
>>>> Em AS2 nunca tive nenhum tipo de problema como este.
>>>> Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
>>>> PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar um
>>>> problema de compilação por causa do script, mas que não tem ligação
>>>> alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
>>>> compilar correto eu agradeço, mas nao tenho como testar isso no
>>>> momento.
>>>> Aguardo retorno sobre o caso
>>>> Felipe Peternella
A questão não é expor o código e sim o que você falou, não tem necessidade
de inserir o código externamente uma vez que os elementos já estão no stage.
Uma vez que os elementos estarão na library será necessário abrir o .fla
para alterá-los então a solução de inserir os controles via uma classe
externa não resolve a totalmente necessidade.
Se por acaso estiver desenvolvendo uma aplicação sem animação o uso do Flex
seria mais indicado porque não existe o arquivo .fla e sim o MXML e AS que
podem ser usados sem poblemas em um SVN.
Se desnvolver no modelo que você estiver usando resolver as suas
necessidades continue usando. No meu entender não temos obrigação de seguir
"boas práticas" mas sim tentar usá-las até o momento que não atrapalham a
nossa produtividade.
> Obrigado Lauro,
> Como você mesmo disse, é realmente intrigante como algo pode se comportar
> assim de maneira tão inesperada, ilógica à primeira vista, o que também me
> leva a crer que seja um bug. Ou então deve haver uma razão excepcionalmente
> boa por traz disso que me torna incapaz de percebe-la. :)
> Até o momento, as possiveis solução são apenas "workarounds" mas nada que
> efetivamente resolva a questão.
> Entre elas, está a sugestão de Deco para redesenhar o shape via script que
> acredito se tornar improdutivo em alguns casos, ou então setar a espessura
> da linha para 0.1 (a menor espessura aceitável que visualmente não há
> diferenças para a espessura de 1px), mas também vejo como um fator limitante
> visto que pode ocorrer momentos onde o layout exige 2 ou mais pixels de
> largura em uma borda.
> xxx
> Sobre a sua dica, agradeço e gostaria que esclarecesse um pouco mais. Pelo
> que entendi não é recomendado expor o código em um arquivo externo e mas sim
> escrever o código na própria timeline quando houver elementos no stage. É
> isso?
> Caso seja, eu gostaria de confrontar esta prática com a utilização de SVN
> para manutenção de versões, como é o meu caso, uma vez que o FLA (sendo um
> arquivo binário) não permite que eu faça o mesmo tipo de comparação entre
> scripts de versões diferentes (como quando usamos arquivos de texto pleno).
> Por esta razão tenho a prática de sempre manter scripts fora do FLA e,
> associado a isso, por conta do AS3, imaginei que também fosse uma boa
> prática gerar um objeto para controlá-lo.
>> Abri aqui o seu arquivo. Notei que a borda sempre é subtraida do tamanho
>> do shape. Se aumentar a borda o elemento fica menor ainda. Isso é um bug
>> muito sério. Dei uma pesquisada aqui e não achei nada sobre o assunto.
>> Esse problema me intrigou e eu estarei pesquisando sobre o assunto para
>> ver se conseguimos resolver o problema.
>> Um pouco fora do assunto vi que você criou uma classe externa para
>> manipular o arquivo. Isso é bom para aprender a escrever classes mas só
>> isso. No Flash tratar elementos dentro da timeline é o melhor prática. A
>> criação de classes externas deve ser usada em POO.
>> Abraço,
>> 2009/4/16 Felipe Peternella - Gmail <felipe...@gmail.com>
>>> hehehe é uma alternativa mas creio que nem sempre vou poder desenhar via
>>> script por questoes de tempo ou complexidade do objeto.
>>> quanto ao POG é uma boa alternativa, mas quando eu redimensionar o objeto
>>> a "linha" vai se esticar e distorcer, coisa que podemos evitar com o
>>> "stroke".
>>> independente de ter estas alternativas, creio que este não seja um
>>> comportamento adequado para se tratar um objeto. :)
>>>> 1. Já tentou com... (Shape).graphics.? Desenhando 100% via ActionScript.
>>>> 2. Se não rolar faça o seguinte POG: desenhe dois retangulos sem linha e
>>>> "broque" um deles para "virar" uma linha. huiaehiuaehiuae...
>>>> Não tenho como testar agora porque estou sem o Flash instalado nesta
>>>> máquina e sem a versão portable, mas eu posso fazer mais tarde e anexar o
>>>> resultado.
>>>> 2009/4/16 Felipe Peternella <felipe...@gmail.com>
>>>>> Prezados
>>>>> Estou com um problema extremamente bizarro sem qualquer pista de
>>>>> solução utilizando AS3.
>>>>> A questão é simples:
>>>>> Se você altera a largura de um movieclip para uma largura especifica,
>>>>> qual o comportamento esperado? esperamos que o movieclip fique com a
>>>>> largura indicada, certo? nem sempre!
>>>>> Se alterar a largura de um objeto contendo Linha via script a dimensão
>>>>> simplesmente nao corresponde ao valor indicado!
>>>>> A unica forma de funcionar corretamente é setando a largura via o
>>>>> painel de propriedades, sem usar script ou então setar a largura da
>>>>> linha para 0.1! Mas ambas soluções são muito limitantes.
>>>>> Coisas que já tentei:
>>>>> - alterar o tipo de escala da linha
>>>>> - desmembrar a linha do objeto (linha em outra camada em cima do
>>>>> objeto)
>>>>> - compilar em cs3, cs4, baixar versão do player
>>>>> Creio que seja um bug do flash, mas não encontrei nada sobre o assunto
>>>>> no google.
>>>>> Em AS2 nunca tive nenhum tipo de problema como este.
>>>>> Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
>>>>> PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar um
>>>>> problema de compilação por causa do script, mas que não tem ligação
>>>>> alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
>>>>> compilar correto eu agradeço, mas nao tenho como testar isso no
>>>>> momento.
>>>>> Aguardo retorno sobre o caso
>>>>> Felipe Peternella
Lauro, bom dia!
Compreendo, realmente ter de abrir fla para alterar acaba diminuindo certas
vantagens e o imagino q o flex tenha grande vantagem sobre isso, mas no meu
caso ele ainda vai ficar um pouquinho pro futuro rsrsrs.
Ainda tenho que amadurecer um pouco mais com o AS3 primeiro.
> A questão não é expor o código e sim o que você falou, não tem necessidade
> de inserir o código externamente uma vez que os elementos já estão no stage.
> Uma vez que os elementos estarão na library será necessário abrir o .fla
> para alterá-los então a solução de inserir os controles via uma classe
> externa não resolve a totalmente necessidade.
> Se por acaso estiver desenvolvendo uma aplicação sem animação o uso do Flex
> seria mais indicado porque não existe o arquivo .fla e sim o MXML e AS que
> podem ser usados sem poblemas em um SVN.
> Se desnvolver no modelo que você estiver usando resolver as suas
> necessidades continue usando. No meu entender não temos obrigação de seguir
> "boas práticas" mas sim tentar usá-las até o momento que não atrapalham a
> nossa produtividade.
> 2009/4/23 Felipe Peternella - Gmail <felipe...@gmail.com>
>> Obrigado Lauro,
>> Como você mesmo disse, é realmente intrigante como algo pode se comportar
>> assim de maneira tão inesperada, ilógica à primeira vista, o que também me
>> leva a crer que seja um bug. Ou então deve haver uma razão excepcionalmente
>> boa por traz disso que me torna incapaz de percebe-la. :)
>> Até o momento, as possiveis solução são apenas "workarounds" mas nada que
>> efetivamente resolva a questão.
>> Entre elas, está a sugestão de Deco para redesenhar o shape via script que
>> acredito se tornar improdutivo em alguns casos, ou então setar a espessura
>> da linha para 0.1 (a menor espessura aceitável que visualmente não há
>> diferenças para a espessura de 1px), mas também vejo como um fator limitante
>> visto que pode ocorrer momentos onde o layout exige 2 ou mais pixels de
>> largura em uma borda.
>> xxx
>> Sobre a sua dica, agradeço e gostaria que esclarecesse um pouco mais. Pelo
>> que entendi não é recomendado expor o código em um arquivo externo e mas sim
>> escrever o código na própria timeline quando houver elementos no stage. É
>> isso?
>> Caso seja, eu gostaria de confrontar esta prática com a utilização de SVN
>> para manutenção de versões, como é o meu caso, uma vez que o FLA (sendo um
>> arquivo binário) não permite que eu faça o mesmo tipo de comparação entre
>> scripts de versões diferentes (como quando usamos arquivos de texto pleno).
>> Por esta razão tenho a prática de sempre manter scripts fora do FLA e,
>> associado a isso, por conta do AS3, imaginei que também fosse uma boa
>> prática gerar um objeto para controlá-lo.
>>> Abri aqui o seu arquivo. Notei que a borda sempre é subtraida do tamanho
>>> do shape. Se aumentar a borda o elemento fica menor ainda. Isso é um bug
>>> muito sério. Dei uma pesquisada aqui e não achei nada sobre o assunto.
>>> Esse problema me intrigou e eu estarei pesquisando sobre o assunto para
>>> ver se conseguimos resolver o problema.
>>> Um pouco fora do assunto vi que você criou uma classe externa para
>>> manipular o arquivo. Isso é bom para aprender a escrever classes mas só
>>> isso. No Flash tratar elementos dentro da timeline é o melhor prática. A
>>> criação de classes externas deve ser usada em POO.
>>> Abraço,
>>> 2009/4/16 Felipe Peternella - Gmail <felipe...@gmail.com>
>>>> hehehe é uma alternativa mas creio que nem sempre vou poder desenhar via
>>>> script por questoes de tempo ou complexidade do objeto.
>>>> quanto ao POG é uma boa alternativa, mas quando eu redimensionar o
>>>> objeto a "linha" vai se esticar e distorcer, coisa que podemos evitar com o
>>>> "stroke".
>>>> independente de ter estas alternativas, creio que este não seja um
>>>> comportamento adequado para se tratar um objeto. :)
>>>>> 1. Já tentou com... (Shape).graphics.? Desenhando 100% via
>>>>> ActionScript.
>>>>> 2. Se não rolar faça o seguinte POG: desenhe dois retangulos sem linha
>>>>> e "broque" um deles para "virar" uma linha. huiaehiuaehiuae...
>>>>> Não tenho como testar agora porque estou sem o Flash instalado nesta
>>>>> máquina e sem a versão portable, mas eu posso fazer mais tarde e anexar o
>>>>> resultado.
>>>>> 2009/4/16 Felipe Peternella <felipe...@gmail.com>
>>>>>> Prezados
>>>>>> Estou com um problema extremamente bizarro sem qualquer pista de
>>>>>> solução utilizando AS3.
>>>>>> A questão é simples:
>>>>>> Se você altera a largura de um movieclip para uma largura especifica,
>>>>>> qual o comportamento esperado? esperamos que o movieclip fique com a
>>>>>> largura indicada, certo? nem sempre!
>>>>>> Se alterar a largura de um objeto contendo Linha via script a dimensão
>>>>>> simplesmente nao corresponde ao valor indicado!
>>>>>> A unica forma de funcionar corretamente é setando a largura via o
>>>>>> painel de propriedades, sem usar script ou então setar a largura da
>>>>>> linha para 0.1! Mas ambas soluções são muito limitantes.
>>>>>> Coisas que já tentei:
>>>>>> - alterar o tipo de escala da linha
>>>>>> - desmembrar a linha do objeto (linha em outra camada em cima do
>>>>>> objeto)
>>>>>> - compilar em cs3, cs4, baixar versão do player
>>>>>> Creio que seja um bug do flash, mas não encontrei nada sobre o assunto
>>>>>> no google.
>>>>>> Em AS2 nunca tive nenhum tipo de problema como este.
>>>>>> Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
>>>>>> PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar um
>>>>>> problema de compilação por causa do script, mas que não tem ligação
>>>>>> alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
>>>>>> compilar correto eu agradeço, mas nao tenho como testar isso no
>>>>>> momento.
>>>>>> Aguardo retorno sobre o caso
>>>>>> Felipe Peternella
Muito bom seu último comentário Lauro. Principalmente este trecho: "Se
desnvolver no modelo que você estiver usando resolver as suas necessidades
continue usando. No meu entender não temos obrigação de seguir "boas
práticas" mas sim tentar usá-las até o momento que não atrapalham a nossa
produtividade."
2009/4/24 Felipe Peternella - Gmail <felipe...@gmail.com>
> Lauro, bom dia!
> Compreendo, realmente ter de abrir fla para alterar acaba diminuindo certas
> vantagens e o imagino q o flex tenha grande vantagem sobre isso, mas no meu
> caso ele ainda vai ficar um pouquinho pro futuro rsrsrs.
> Ainda tenho que amadurecer um pouco mais com o AS3 primeiro.
>> A questão não é expor o código e sim o que você falou, não tem necessidade
>> de inserir o código externamente uma vez que os elementos já estão no stage.
>> Uma vez que os elementos estarão na library será necessário abrir o .fla
>> para alterá-los então a solução de inserir os controles via uma classe
>> externa não resolve a totalmente necessidade.
>> Se por acaso estiver desenvolvendo uma aplicação sem animação o uso do
>> Flex seria mais indicado porque não existe o arquivo .fla e sim o MXML e AS
>> que podem ser usados sem poblemas em um SVN.
>> Se desnvolver no modelo que você estiver usando resolver as suas
>> necessidades continue usando. No meu entender não temos obrigação de seguir
>> "boas práticas" mas sim tentar usá-las até o momento que não atrapalham a
>> nossa produtividade.
>> 2009/4/23 Felipe Peternella - Gmail <felipe...@gmail.com>
>>> Obrigado Lauro,
>>> Como você mesmo disse, é realmente intrigante como algo pode se comportar
>>> assim de maneira tão inesperada, ilógica à primeira vista, o que também me
>>> leva a crer que seja um bug. Ou então deve haver uma razão excepcionalmente
>>> boa por traz disso que me torna incapaz de percebe-la. :)
>>> Até o momento, as possiveis solução são apenas "workarounds" mas nada que
>>> efetivamente resolva a questão.
>>> Entre elas, está a sugestão de Deco para redesenhar o shape via script
>>> que acredito se tornar improdutivo em alguns casos, ou então setar a
>>> espessura da linha para 0.1 (a menor espessura aceitável que visualmente não
>>> há diferenças para a espessura de 1px), mas também vejo como um fator
>>> limitante visto que pode ocorrer momentos onde o layout exige 2 ou mais
>>> pixels de largura em uma borda.
>>> xxx
>>> Sobre a sua dica, agradeço e gostaria que esclarecesse um pouco mais.
>>> Pelo que entendi não é recomendado expor o código em um arquivo externo e
>>> mas sim escrever o código na própria timeline quando houver elementos no
>>> stage. É isso?
>>> Caso seja, eu gostaria de confrontar esta prática com a utilização de SVN
>>> para manutenção de versões, como é o meu caso, uma vez que o FLA (sendo um
>>> arquivo binário) não permite que eu faça o mesmo tipo de comparação entre
>>> scripts de versões diferentes (como quando usamos arquivos de texto pleno).
>>> Por esta razão tenho a prática de sempre manter scripts fora do FLA e,
>>> associado a isso, por conta do AS3, imaginei que também fosse uma boa
>>> prática gerar um objeto para controlá-lo.
>>>> Abri aqui o seu arquivo. Notei que a borda sempre é subtraida do tamanho
>>>> do shape. Se aumentar a borda o elemento fica menor ainda. Isso é um bug
>>>> muito sério. Dei uma pesquisada aqui e não achei nada sobre o assunto.
>>>> Esse problema me intrigou e eu estarei pesquisando sobre o assunto para
>>>> ver se conseguimos resolver o problema.
>>>> Um pouco fora do assunto vi que você criou uma classe externa para
>>>> manipular o arquivo. Isso é bom para aprender a escrever classes mas só
>>>> isso. No Flash tratar elementos dentro da timeline é o melhor prática. A
>>>> criação de classes externas deve ser usada em POO.
>>>> Abraço,
>>>> 2009/4/16 Felipe Peternella - Gmail <felipe...@gmail.com>
>>>>> hehehe é uma alternativa mas creio que nem sempre vou poder desenhar
>>>>> via script por questoes de tempo ou complexidade do objeto.
>>>>> quanto ao POG é uma boa alternativa, mas quando eu redimensionar o
>>>>> objeto a "linha" vai se esticar e distorcer, coisa que podemos evitar com o
>>>>> "stroke".
>>>>> independente de ter estas alternativas, creio que este não seja um
>>>>> comportamento adequado para se tratar um objeto. :)
>>>>>> 1. Já tentou com... (Shape).graphics.? Desenhando 100% via
>>>>>> ActionScript.
>>>>>> 2. Se não rolar faça o seguinte POG: desenhe dois retangulos sem linha
>>>>>> e "broque" um deles para "virar" uma linha. huiaehiuaehiuae...
>>>>>> Não tenho como testar agora porque estou sem o Flash instalado nesta
>>>>>> máquina e sem a versão portable, mas eu posso fazer mais tarde e anexar o
>>>>>> resultado.
>>>>>> 2009/4/16 Felipe Peternella <felipe...@gmail.com>
>>>>>>> Prezados
>>>>>>> Estou com um problema extremamente bizarro sem qualquer pista de
>>>>>>> solução utilizando AS3.
>>>>>>> A questão é simples:
>>>>>>> Se você altera a largura de um movieclip para uma largura especifica,
>>>>>>> qual o comportamento esperado? esperamos que o movieclip fique com a
>>>>>>> largura indicada, certo? nem sempre!
>>>>>>> Se alterar a largura de um objeto contendo Linha via script a
>>>>>>> dimensão
>>>>>>> simplesmente nao corresponde ao valor indicado!
>>>>>>> A unica forma de funcionar corretamente é setando a largura via o
>>>>>>> painel de propriedades, sem usar script ou então setar a largura da
>>>>>>> linha para 0.1! Mas ambas soluções são muito limitantes.
>>>>>>> Coisas que já tentei:
>>>>>>> - alterar o tipo de escala da linha
>>>>>>> - desmembrar a linha do objeto (linha em outra camada em cima do
>>>>>>> objeto)
>>>>>>> - compilar em cs3, cs4, baixar versão do player
>>>>>>> Creio que seja um bug do flash, mas não encontrei nada sobre o
>>>>>>> assunto
>>>>>>> no google.
>>>>>>> Em AS2 nunca tive nenhum tipo de problema como este.
>>>>>>> Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
>>>>>>> PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar um
>>>>>>> problema de compilação por causa do script, mas que não tem ligação
>>>>>>> alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
>>>>>>> compilar correto eu agradeço, mas nao tenho como testar isso no
>>>>>>> momento.
>>>>>>> Aguardo retorno sobre o caso
>>>>>>> Felipe Peternella
O uso de classes externas em primeiro plano visa o re-aproveitamento
conseguindo assim aumentar também a produtividade. Se usamos ela para
controlar elementos que já existem no stage essa funcionalidade se perde.
O melhor mesmo é criar Objetos através de classes AS3, como você chegou a
citar na sua resposta.
Mas isso não explica "bug" do Flash. Fiquei intrigado e quero achar uma
resposta se é Bug ou uma função intencional.
> Muito bom seu último comentário Lauro. Principalmente este trecho: "Se
> desnvolver no modelo que você estiver usando resolver as suas necessidades
> continue usando. No meu entender não temos obrigação de seguir "boas
> práticas" mas sim tentar usá-las até o momento que não atrapalham a nossa
> produtividade."
> 2009/4/24 Felipe Peternella - Gmail <felipe...@gmail.com>
> Lauro, bom dia!
>> Compreendo, realmente ter de abrir fla para alterar acaba diminuindo
>> certas vantagens e o imagino q o flex tenha grande vantagem sobre isso, mas
>> no meu caso ele ainda vai ficar um pouquinho pro futuro rsrsrs.
>> Ainda tenho que amadurecer um pouco mais com o AS3 primeiro.
>>> A questão não é expor o código e sim o que você falou, não tem
>>> necessidade de inserir o código externamente uma vez que os elementos já
>>> estão no stage. Uma vez que os elementos estarão na library será necessário
>>> abrir o .fla para alterá-los então a solução de inserir os controles via uma
>>> classe externa não resolve a totalmente necessidade.
>>> Se por acaso estiver desenvolvendo uma aplicação sem animação o uso do
>>> Flex seria mais indicado porque não existe o arquivo .fla e sim o MXML e AS
>>> que podem ser usados sem poblemas em um SVN.
>>> Se desnvolver no modelo que você estiver usando resolver as suas
>>> necessidades continue usando. No meu entender não temos obrigação de seguir
>>> "boas práticas" mas sim tentar usá-las até o momento que não atrapalham a
>>> nossa produtividade.
>>> 2009/4/23 Felipe Peternella - Gmail <felipe...@gmail.com>
>>>> Obrigado Lauro,
>>>> Como você mesmo disse, é realmente intrigante como algo pode se
>>>> comportar assim de maneira tão inesperada, ilógica à primeira vista, o que
>>>> também me leva a crer que seja um bug. Ou então deve haver uma razão
>>>> excepcionalmente boa por traz disso que me torna incapaz de percebe-la. :)
>>>> Até o momento, as possiveis solução são apenas "workarounds" mas nada
>>>> que efetivamente resolva a questão.
>>>> Entre elas, está a sugestão de Deco para redesenhar o shape via script
>>>> que acredito se tornar improdutivo em alguns casos, ou então setar a
>>>> espessura da linha para 0.1 (a menor espessura aceitável que visualmente não
>>>> há diferenças para a espessura de 1px), mas também vejo como um fator
>>>> limitante visto que pode ocorrer momentos onde o layout exige 2 ou mais
>>>> pixels de largura em uma borda.
>>>> xxx
>>>> Sobre a sua dica, agradeço e gostaria que esclarecesse um pouco mais.
>>>> Pelo que entendi não é recomendado expor o código em um arquivo externo e
>>>> mas sim escrever o código na própria timeline quando houver elementos no
>>>> stage. É isso?
>>>> Caso seja, eu gostaria de confrontar esta prática com a utilização de
>>>> SVN para manutenção de versões, como é o meu caso, uma vez que o FLA (sendo
>>>> um arquivo binário) não permite que eu faça o mesmo tipo de comparação entre
>>>> scripts de versões diferentes (como quando usamos arquivos de texto pleno).
>>>> Por esta razão tenho a prática de sempre manter scripts fora do FLA e,
>>>> associado a isso, por conta do AS3, imaginei que também fosse uma boa
>>>> prática gerar um objeto para controlá-lo.
>>>>> Abri aqui o seu arquivo. Notei que a borda sempre é subtraida do
>>>>> tamanho do shape. Se aumentar a borda o elemento fica menor ainda. Isso é um
>>>>> bug muito sério. Dei uma pesquisada aqui e não achei nada sobre o assunto.
>>>>> Esse problema me intrigou e eu estarei pesquisando sobre o assunto para
>>>>> ver se conseguimos resolver o problema.
>>>>> Um pouco fora do assunto vi que você criou uma classe externa para
>>>>> manipular o arquivo. Isso é bom para aprender a escrever classes mas só
>>>>> isso. No Flash tratar elementos dentro da timeline é o melhor prática. A
>>>>> criação de classes externas deve ser usada em POO.
>>>>> Abraço,
>>>>> 2009/4/16 Felipe Peternella - Gmail <felipe...@gmail.com>
>>>>>> hehehe é uma alternativa mas creio que nem sempre vou poder desenhar
>>>>>> via script por questoes de tempo ou complexidade do objeto.
>>>>>> quanto ao POG é uma boa alternativa, mas quando eu redimensionar o
>>>>>> objeto a "linha" vai se esticar e distorcer, coisa que podemos evitar com o
>>>>>> "stroke".
>>>>>> independente de ter estas alternativas, creio que este não seja um
>>>>>> comportamento adequado para se tratar um objeto. :)
>>>>>>> 1. Já tentou com... (Shape).graphics.? Desenhando 100% via
>>>>>>> ActionScript.
>>>>>>> 2. Se não rolar faça o seguinte POG: desenhe dois retangulos sem
>>>>>>> linha e "broque" um deles para "virar" uma linha. huiaehiuaehiuae...
>>>>>>> Não tenho como testar agora porque estou sem o Flash instalado nesta
>>>>>>> máquina e sem a versão portable, mas eu posso fazer mais tarde e anexar o
>>>>>>> resultado.
>>>>>>> 2009/4/16 Felipe Peternella <felipe...@gmail.com>
>>>>>>>> Prezados
>>>>>>>> Estou com um problema extremamente bizarro sem qualquer pista de
>>>>>>>> solução utilizando AS3.
>>>>>>>> A questão é simples:
>>>>>>>> Se você altera a largura de um movieclip para uma largura
>>>>>>>> especifica,
>>>>>>>> qual o comportamento esperado? esperamos que o movieclip fique com a
>>>>>>>> largura indicada, certo? nem sempre!
>>>>>>>> Se alterar a largura de um objeto contendo Linha via script a
>>>>>>>> dimensão
>>>>>>>> simplesmente nao corresponde ao valor indicado!
>>>>>>>> A unica forma de funcionar corretamente é setando a largura via o
>>>>>>>> painel de propriedades, sem usar script ou então setar a largura da
>>>>>>>> linha para 0.1! Mas ambas soluções são muito limitantes.
>>>>>>>> Coisas que já tentei:
>>>>>>>> - alterar o tipo de escala da linha
>>>>>>>> - desmembrar a linha do objeto (linha em outra camada em cima do
>>>>>>>> objeto)
>>>>>>>> - compilar em cs3, cs4, baixar versão do player
>>>>>>>> Creio que seja um bug do flash, mas não encontrei nada sobre o
>>>>>>>> assunto
>>>>>>>> no google.
>>>>>>>> Em AS2 nunca tive nenhum tipo de problema como este.
>>>>>>>> Quem não quiser abrir o FLA, o swf já acompanha o arquivo.
>>>>>>>> PS: Foi feito em CS4 e compila normal. Se compilar em CS3, vai dar
>>>>>>>> um
>>>>>>>> problema de compilação por causa do script, mas que não tem ligação
>>>>>>>> alguma com o problema. Quem tiver o cs3 e puder corrigir o script p
>>>>>>>> compilar correto eu agradeço, mas nao tenho como testar isso no
>>>>>>>> momento.
>>>>>>>> Aguardo retorno sobre o caso
>>>>>>>> Felipe Peternella