maregito 0 Denunciar post Postado Junho 13, 2006 Olá pessoal!quase sempre estou por aqui tirando umas duvidas, a procura de algum tutorials e etc.Pois bem, estou quase sempre uzando coisa que conheço mais ou menos, ou até não conheço, mais uso! é bom e é ruim, pois você realiza seu trabalho, porem nem sempre entende o que fez ou porque fez.Dai resouvi me dedicar a fundo mesmo que o tempo seja pouco, pelo menos no futuro, este tempo sera melhor utilizado não é mesmo! http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif .tenho pesquizado, buscado, feito testes até livro ja comprei, agora vim até aqui para com a juda de vcs esclarecer, tirrar o restos de duvidas que tiver... em fim trocar uma ideia e ver se o estou estudando ta certo.outros podem se sentir a vontade para responde e perguntar ok http://forum.imasters.com.br/public/style_emoticons/default/joia.gif vamos movimentar isto aqui http://forum.imasters.com.br/public/style_emoticons/default/devil.gif .estou certo quando digo que:_root é o indereço absoluto, This é o relativo e _parent é para subir um nivel?outra pergunta boa é a do amigo AEMaster qual a diferença e quando usamos?*Os tratadores de eventos:on {} e onClipEvent{};bom galera estas são as primeiras depois pergunto mais! ;) Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 13, 2006 sim você ta certo _root pode ser o "ponto de partida" para qualquer objeto no palco Ex: "_root.bicicleta" ou "_root.bicicleta.roda" This é para se referir ao proprio objeto, geralmente quando você coloca o um codigo nele Ex: meu_MC.onEnterFrame=function(){trace(this._x)//exibe a posição X do proprio objeto} _parent é quando você quer se referir ao "nivel superior", no exemplo acima, se do objeto "roda" você querer referenciar o objeto bicicleta, seria assim roda.onEnterFrame=function(){ trace(_parent._x)//exibe a posição X do objeto bicicleta, pois roda esta dentro de bicicleta} on {} você usa num evento de um botão onClipEvent{}; você usa num evento de um MovieClip Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 13, 2006 No flash existem 2 tipos de estrutura de programação.Uma é quando você quer colocar o código no próprio mc, botão, etc.Para trabalhar dessa forma, basta selecionar o MC, por exemplo, e abrir o painel de actions.Nas actions, colocamos o código dessa forma:onClipEvent("enterFrame") { trace("fez o enter frame");}O mesmo efeito é conseguido trabalhando com o outro tipo de estrutura de programação que é a programação na timeline.Este tipo de programação (que eu acho muito melhor), refere-se ao MC pelo seu nome de instancia... fica muito melhor de editar códigos e concentra o grosso da programação em um só lugar.Para fazer a mesma ação acima, basta instanciar o movieclip de bola, por exemplo, e clicar na timeline.Abrindo o painel de actions, digitamos:bola.onEnterFrame = function() { trace("fez o enter frame");}Vai fazer a mesmíssima coisa.... o mesmo ocorre com o comando with().se fizermos assim:with("instancia_do_mc") { _x = 10;}ou assim:instancia_do_mc._x = 10;vai dar no mesmo...Espero ter ajudado em alguma coisaFalows Compartilhar este post Link para o post Compartilhar em outros sites
AEMaster 0 Denunciar post Postado Junho 13, 2006 entao so deverei usar _root.. quando estiver na timeline principal???por favor..gostaria de compreender melhor... Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 13, 2006 Imagine que a estrutura dos MCs é igual a estrutura de diretórios no seu computador...C:\ é a raiz... assim como no flash, é o _root.C:\windows\ é uma pasta dentro da raiz... equivale a um MC na timeline principal.C:\windows\system32 é uma pasta que está dentro de uma pasta que está na raiz. Equivale a um MC dentro de um MC que está na timeline principal.Vamos supor que eu estou dentro da pasta system32. se eu quero chamar um programa que está em C:\programa.exe, eu tenho que mostrar onde que está esse programa...No caso do flash eu mostro o caminho do MC:_root.programaeu poderia executar o programa de outra forma, endereçando ele dessa forma:_parent._parent.programa //volto 2 pastas (MC's) e executo o programa.Agora imagine que eu pego todo o conteúdo de C:\ e coloco dentro de uma outra pasta ficando assim:C:\total\programa eC:\total\windows\system32Se eu quiser manter o código funcionando, ao usar o _root.programa, não vai funcionar pois o programa não está mais na raiz, está dentro do "total".Em contra partida, o _parent._parent.programa vai funcionar pois ele continua 2 pastas (MC) acima dele...Essa idéia de mover tudo para uma outra pasta é o que acontece quando importamos umswf dentro de outro...o swf importado não terá a raiz no mesmo local....é uma analogia que ajuda bastante a entender o sistema de endereçamento de MCs.Falows Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 13, 2006 vamos supor q você tenha dois MovieClips no palco "carro_mc" e "arvore_mc" e dentro de "carro_mc" existe outro MovieClip chamado "roda_mc" agora vamos supor q exista um codigo dentro do "roda_mc", que ative a ação "stop()" no palco, seria assim onClipEvent (MouseUp) { _root.arvore_mc.stop() } eu usei o "_root" na frente pra dizer pro flash q o movieClip esta na linha principal você usa o "_root" pra referenciar um MC q está na linha pricipal, porém se o codigo estivesse no "carro_mc", seria assim onClipEvent (MouseUp) { arvore_mc.stop() } repare q eu naum utilizei o "_root", pq os dois MCs estão na mesma linha de tempo(na _root) olha esse tutorial ai ,é bom pra explicar isso http://www.mxstudio.com.br/download/action...mxportugues.zip Compartilhar este post Link para o post Compartilhar em outros sites
maregito 0 Denunciar post Postado Junho 13, 2006 http://forum.imasters.com.br/public/style_emoticons/default/clap.gif que bom to aprendendo muito!!! Vaçeu galera! Continuando os estudos. entãos se eu tiver um filme com 5 frames e uma camada, no primeiro e no ultimo tenho stop, no 2 tenho a action que cria o MC, no 3 do a ele o valor de _alpha=50, no 4 diminuo o seu atamanho até sumir. é assim que funciona a action na timeline? Outra coisa quando falamos em criar o MC, falamos dele vazio ou ele com forma, cor e etc... So mais uma pergunta e possivel criar um MC vazio com tamanho certo ex: 200x200px? Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 13, 2006 quando você cria um MC usando o createEmptyMovieClip ele esta vazio e com largura e altura = 0depois de criar você tem q usar os metodos lineTo, para desenhar o MCtipo assim_root.createEmptyMovieClip("quadrado",0)quadrado.lineStyle(5, 0xff00ff, 100);quadrado.beginFill(0xFF0000);quadrado.moveTo(10, 10);quadrado.lineTo(100, 10);quadrado.lineTo(100, 100);quadrado.lineTo(10, 100);quadrado.lineTo(10, 10);quadrado.endFill();isso cria um quadrado Compartilhar este post Link para o post Compartilhar em outros sites
AEMaster 0 Denunciar post Postado Junho 13, 2006 mt boa a explicação de você's... agora entendi de vez "_root" e "_parent" ja q você's são bons mesmo nisso e estão aqui....daria pra descrever no mesmo esquema mais detalhes sobre "this";é q ja entendi... mas se existir algum caso especial para q eu ñ possa me confundir mais na frente.. acho q este seria o momento ideal pra se saber!obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 13, 2006 O this é usado quando você quer falar com o objeto em si.... por exemplo, se eu colocar na timeline essa ação: bt1.onRelease = function() { trace(this._x); } Ele irá ter como saída a posição _x do botão bt1. Traduzindo o código acima: Quando soltar o botão do mouse após o clique em cima do "bt1", executar a função: escreva no output a posição _x do botão. Ai pode aparecer uma pergunta: "Mas eu poderia colocar bt1._x no lugar de this..." e eu digo que sim, poderia... mas você só pode fazer isso porque sabe o nome da instância do botão... agora imagine uma classe que atribua alguns métodos ao movieclip relacionado... a classe não tem como "saber" qual a instância do MC para poder criar ações para ele... principalmente por causa que uma classe pode gerar N MCs e todos com as mesmas ações, mas controlando a sí próprios... O this quer dizer este o objeto que estamos tratando... o objeto que recebe os métodos... Costumo pensar assim: "Essa ação que estou atribuindo ao MC vai pegar a posição _x de quem??" se a reposta for "Dele mesmo", quer dizer que podemos usar o this. é um pouco complicado de entender... um pouco inútil se não usado com classes, mas é fundamental para programações orientadas a objeto... Falows Compartilhar este post Link para o post Compartilhar em outros sites
Tifa Lockhart 0 Denunciar post Postado Junho 13, 2006 mt boa a explicação de você's... agora entendi de vez "_root" e "_parent" ja q você's são bons mesmo nisso e estão aqui.... daria pra descrever no mesmo esquema mais detalhes sobre "this"; mais um pouquinho do msmo, :) .... na teoria caminhos relativos e absolutos são caminhos msmo, ou seja a rota para o destino da action, o endereço do mc. O caminho absoluto é a informação de localização completa de uma instância de mc, se comparado ao endereço postal, onde você diz o bairro, a rua, o número e o cep. Nesse caso o ponto de origem do mc é a linha de tempo principal (por isso de se usar o _root p/ endereçar) O caminho relativo é um caminho de uma linha de tempo p/ outra, e é útil dentro de clipes de filmes que contêm vários clipes de filmes aninhados. Uma vez li q para facilitar podemos pensar na relação entre um travesseiro e a cama. O travesseiro está localizado em cima da cama, você pode mover a cama para onde qzer dentro do quarto, mas a relação entre a cama e o travesseiro continuará o msmo. Então, você pode mover o mc (pai) de uma linha de tempo para outra sabendo q os mc(filhos) dentro dele ainda funcionarão, bem como poderá controlá-los através de actions na linha de tempo dentro do mc(pai) O caminho relativo leva em consideração como ponto inicial o local onde estamos inserindo a ação, então para você referenciar uma timeline q está acima da timeline atual você usa o _this._parent onde _this refere-se a linha de tempo atual de onde action está sendo chamada e _parent refere-se a linha de tempo atual na linha de tempo pai tipo se eu tenho uma animação de uma carinha q espirra cabeca_mc>>>espirro_mc cabeca_mc (timeline principal) espirro_mc (dentro de cabeca_mc) se eu qzer q espirro_mc controle cabeca_mc posso digitar assim: this._parent abraço Compartilhar este post Link para o post Compartilhar em outros sites
maregito 0 Denunciar post Postado Junho 14, 2006 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif gente gostei de ver, aprendi coisa pra caramba! muito bom e esse dicionario de ection script e D+, valeu eder!!! Bom seguindo os estudos. agora e sobre cordenadas no pauco, sei que por padrão é o canto superior esquerdo, pergunta; tem como mudar o padrão? ex tenho um pauco de 200x200 e ponho o centro para ser bem no meio onde no padrão seria 100x100. Ja os MC podemos dizer, quando apertamos F8, e quando criamos ele via action? E os botões? :huh: é isso ai gente boa vamo la! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 14, 2006 agora e sobre cordenadas no pauco, sei que por padrão é o canto superior esquerdo, pergunta; tem como mudar o padrão? ex tenho um pauco de 200x200 e ponho o centro para ser bem no meio onde no padrão seria 100x100.isso eu naum sei, você pode colocar um MC no meio do palco, e fazer o q você quer na time-line desse MC, pois as coordenadas x e y dele, quando estiverem no 0, será o equivalente a metada das ordenadas do palco(isso se ele estiver exatamente no meio)Ja os MC podemos dizer, quando apertamos F8, e quando criamos ele via action?E os botões?naum existe diferença no AS, você cria um Mc normal com creatEmptyMovieClip, ai dá uma ação pra elecreatEmptyMovieClip("botao",0)botao.lineStyle(5, 0xff00ff, 100);botao.beginFill(0xFF0000);botao.moveTo(10, 10);botao.lineTo(100, 10);botao.lineTo(100, 100);botao.lineTo(10, 100);botao.lineTo(10, 10);botao.endFill();agora dá a ação de botãobotao.onPress=function(){ trace("ola eu sou um botão")} Compartilhar este post Link para o post Compartilhar em outros sites
AEMaster 0 Denunciar post Postado Junho 14, 2006 Enterframe: Tratador de evento q executa determinada açao quando cai no respectivo frame..esta afirmaçao e correta?por favor gostaria que você's me dessem uma explicaçao mais popular deste comando.essas explicaçoes detalhadas ajudam mt..grato.. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 14, 2006 Enterframe: evento q é executado continuamente, sempre que o flash "entra" num novo frame da time line Compartilhar este post Link para o post Compartilhar em outros sites
Tifa Lockhart 0 Denunciar post Postado Junho 14, 2006 Enterframe: Tratador de evento q executa determinada açao quando cai no respectivo frame.. esta afirmaçao e correta? por favor gostaria que você's me dessem uma explicaçao mais popular deste comando. essas explicaçoes detalhadas ajudam mt.. grato.. enterFrame é um evento usado juntamente com um tratador de evento, qdo ele ocorre as ações q são declaradas entre as chaves são executadas: meuMovieClip.onEnterFrame = Function(){ comandos q deseja executar } Qdo atríbuimos um evento onEnterFrame a um mc, queremos q o conjunto de comando dentro do evento sejam executados a cada atualização do frame. ou tbém onClipEvent(enterFrame) { comandos q deseja executar } As ações no comando onClipEvent(enterFrame) são executadas toda vez que o filme chega naquele frame. Compartilhar este post Link para o post Compartilhar em outros sites
maregito 0 Denunciar post Postado Junho 15, 2006 seria correto dizer que quando escrevemos uma action na time line on.Enterframe, assim que o frame da action for alcansado ele sera execultado i ficará assim, ao contrario das actionsque são posta na timeline que são execultadas e realizam seu papel e param? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif espero tenha sido entendido!! Compartilhar este post Link para o post Compartilhar em outros sites
maregito 0 Denunciar post Postado Junho 19, 2006 gente to querendo fazer um rola tela mais com tudo na timeline, como posso fazer? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 19, 2006 o q seria um "rola tela"?? Compartilhar este post Link para o post Compartilhar em outros sites
maregito 0 Denunciar post Postado Junho 21, 2006 http://forum.imasters.com.br/public/style_emoticons/default/blush.gif olá gente esativo um pouco Muito ocupado mais agora estou de volta! vou começar dando sequencia aos estudos de flash e depois explicarei minha duvida até porque acho que sirva como objeto de nosso estudos. Ja falamos muito sobre caminho e tal, agora gostaria de entender melhor o onEnterFrame e o setInterval, ja li que melhor que uzar enterframe é melhor uzar o setinterval, fiz alguns teste. Tive dificuldades na hora de fazer tudo com enterframe na time line, so tive mais sucesso pondo a ação dentro do MC, ja o setInterval tive mais sorte em trabalhar com ele na time line, o que me atrapalhoe foi o trabalho com function, o que gostaria que falassemos depois. Ok agora minha duvida: estou querendo fazer uma animação com camadas (em torno de 6) elas se movimenta no eixo X e ao final montam uma imagem, a bronca é que quero fazer tudo via action script, ou no minimo que as actio esteja na time line e não dentro do MC, porem ja fiz varias tentativa mas levo pau. bom é isso espero tenha sido entendido Compartilhar este post Link para o post Compartilhar em outros sites