..:: MX Studio Fóruns ::..: Duvida Simples Em AS3 - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Duvida Simples Em AS3 O que significa essa função

#1 User is offline   DMB 

  • Group: Membros
  • Posts: 70
  • Joined: 25-February 08

  Posted 25 June 2009 - 10:33 AM

Bem galera eu estava todo filiz mexendo com o AS3 e olhando um tutorial ate chegar nessa função abaixo, bem o que ocorre é o seguinte dentro da função citada abaixo existe uma variavel que foi declarada logo no inicio da classe como "private var _root:MovieClip;" e bem logo apos, ela aparece dentro dessa função como _root = MovieClip(root) WTF blink.gif !!!! foi extamente oque eu pensei quando vi isso... pois o _root pelo que li no manual do AS3 tinha sido removeido do AS3 e como esse cara consguiu reltiliza-lo e o que ele siguinifica dentro desse conceito, ou seja, quero saber o que ele faz ou qual é o papel dessa variavel, e como eu posso ultiliza-las de outra forama se houver..

o link do site é: http://www.mrsunstudios.com/2009/01/tutori...-in-as3-part-2/ ...... Ela esta na ultimo bloco de codigo.....

private function beginClass(e:Event):void{
_root = MovieClip(root);

this.x = -50;//setting x value off the stage
this.y = _root.bellTop;//set the y value off the stage

}


Agradeço desde já thumbup.gif
0

#2 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 25 June 2009 - 05:44 PM

blz?

Se alguem souber de mais coisa que possa acrescentar(ou corrigir),...


O _root no AS2 era a referência da timeline principal. Podemos considerar o _root no AS2 como um "MovieClip".

A estrutura de visualização mudou no AS3. E consequentemente muda o escopo do código.
O root ainda existe no AS3, mas não é mais referência da timeline principal como faz no AS2.
Agora o root é agora uma propriedade da classe DisplayObject e ele passa a ser a raiz(o topo) de um objeto visual que está sendo referenciado no momento do acesso.

Em outra palavras, cada objeto visual(ex: MC, Sprite, TextField, Video, Stage etc) tem agora a sua propriedade root, e conseguimos recuperar a raiz de cada objeto visual.

http://help.adobe.com/en_US/AS3LCR/Flash_1...bject.html#root


Um teste. Coloque esse código no 1° frame e teste:
AS3
CÓDIGO
trace( MovieClip(root) ); //retorna [object MainTimeline]
trace( this.root ); //retorna [object MainTimeline]




Agora no exemplo que você passou. Ele declara a variavel privada do tipo Object pra receber qualquer conteúdo, nesse caso ele quer simbolizar a main timeline(o "Stage").
CÓDIGO
var _root:Object;//this will symbolize the main timeline


Depois ele cadastra nessa variavel _root a raiz do Objeto, que nesse caso é o "stage", a main timeline.
CÓDIGO
_root = MovieClip(root);


Então, toda vez que ele chamar a variavel _root que ele criou, agora essa variável passa a tar o escopo do stage.
Como essa variável é do tipo Object, ele pode criar propriedades(variaveis) e cadastrar valores.
E pra chamar a propriedade de um variavel do tipo Object, nesse exemplo é:

CÓDIGO
_root.minhaPropriedade


Parece confuso no inicio essa estrutura do AS3, mas com tempo isso faz bastante sentido. Você tem mais controle dos objetos visuais.

O que eu penso que ele parece ter feito no código visualmente falando, é como se ele tivesse simulando a maneira como o AS2 agisse pra fazer escopo com _root mas ainda sim é AS3.


E o mais interessante é que no AS2, tem esse mesmo conceito pra simularmos algo parecido que o root do AS3 faz.

Ex. AS2:
CÓDIGO
var root:MovieClip = this; //cadastro minha variavel o "this" pra simular raiz(root) do meu objeto visual
trace(root); //retorna level0


Mas nesse caso o this é usado pra referir ao objeto atual em questão, pra ser o escopo do código mais "flexível", sendo que o escopo do _root do AS2 é "travado" apenas para referenciar timeline principal.

Abraço.
0

#3 User is offline   DMB 

  • Group: Membros
  • Posts: 70
  • Joined: 25-February 08

  Posted 29 June 2009 - 09:44 AM

Meu Gostei mesmo da explicação... Eu realmente não sabia que cada objeto tinha um root, caramba isso aumentou demais as minhas possibilidades de acesso ao um objeto. Eu demorei para postar meu agradecimento pois eu estava fazendo uns testes para entender esse conceito.



Eu agradeço a atenção a essa minha duvida, foi simples e pensei que era besta mas foi de total importancia para meu entendimento.....


ABRAÇÃO biggrin.gif
0

#4 User is offline   Uriel Juliatti 

  • Group: Membros
  • Posts: 120
  • Joined: 27-March 09

Posted 29 June 2009 - 11:24 AM

Pra incrementar o tópico:

http://blog.ericksouza.com/232/ Propriedades AS3
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)