Antoniosp 2 Denunciar post Postado Junho 4, 2006 E ae pessoal,Estou com uma dúvida em relação a importar classes. Eu tenho no frame 1 do root um 'import mx.effects.Tween' e ele funciona beleza. Agora, se eu quero usar essa classe numa action num frame dentro de um mc eu tenho obrigatoriamente que importar de novo?Eu tentei um 'var novoT = new _root.Tween(bla...);' mas passou longe de dar certo. O flash só aceita se eu colocar a linha de import de novo. Mas aí como fica? Eu vou ficar com a mesma classe importada 2 vezes? Porque assim o swf vai ficando mais pesado e tal...Bom, é isso.Flw Compartilhar este post Link para o post Compartilhar em outros sites
Flybybetto 0 Denunciar post Postado Junho 4, 2006 Qd você importa uma classe, ela passa a ser incorporada ao movie, então você não usa 'var novoT = new _root.Tween(bla...);'e sim'var novoT = new Tween(bla...);'sem o _root. não importa se você importou ele dentro do _root, dentro de um movie clip. ela funciona como se você criasse um novo Array, Object, etc.. Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Junho 4, 2006 Então Flybybetto, acontece que a classe não funciona se eu tentar utilizar ela dentro de um mc...Eu importo em root e crio ela dentro de um mc. O flash não detecta nenhum erro, mas a classe não funciona (no caso o Tween). Só funciona se eu colocar a linha de import de novo. Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Junho 5, 2006 É... dando um up.Mas falando sério, tem que importar de novo? Isso não vai aumetar o tamanho do swf?Flw Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 5, 2006 Estou com o mesmo problema...eu importo a classe de remoting e tenho que importar em cada MC que pretendo usar a classe....Se não importar novamente, não funciona...Será que existe algum meio de declarar a classe importada como global? Compartilhar este post Link para o post Compartilhar em outros sites
brhujah 0 Denunciar post Postado Junho 6, 2006 o que você pode fazer é o seguinte importa a classe e cria uma funçao ta ligado ai você poderia usar a classes toda vez que você precisar usar a classe você chamaria uma funcão eu acho que isso da certo, espero ter ajudado te mas qualquer noia falai.. fui!!! Compartilhar este post Link para o post Compartilhar em outros sites
Flybybetto 0 Denunciar post Postado Junho 6, 2006 Então... dei uma lida no help e achei o seguinte: The import statement applies only to the current script (frame or object) in which it's called. For example, suppose on Frame 1 of a Flash document you import all the classes in the macr.util package. On that frame, you can reference classes in that package by their simple names: // On Frame 1 of a FLA: import macr.util.*; var myFoo:foo = new foo(); On another frame script, however, you would need to reference classes in that package by their fully qualified names (var myFoo:foo = new macr.util.foo() ; ) or add an import statement to the other frame that imports the classes in that package. Ou seja, como um MovieClip eh um objeto, você precisaria sim importar de novo, ou chamar a função com o seu nome completo (No seu caso, mx.transitions.Tween) E qt a preocupação sobre o tamanho: If you import a class but don't use it in your script, the class isn't exported as part of the SWF file. This means you can import large packages without being concerned about the size of the SWF file; the bytecode associated with a class is included in a SWF file only if that class is actually used. O q me da a enteder q.. se eu importo uma classe mas não uso, ela então não eh incluida no Swf... então.. se eu importo duas vezes, ela seria importada uma vez e apenas duplicada. Na realidade.. se você for ver algo programado em AS2, usando programação orientada a objetos, cada classe seria um objeto, e se nessa classe tem um import, toda vez q você criar um novo objeto dessa classe, o flash vai importar varias vezes a mesma coisa pra cada novo objeto?? Por exemplo, no Tween.as você tem dois imports import mx.transitions.BroadcasterMX;import mx.transitions.OnEnterFrameBeacon;E não acredito q eles sejam importados toda vez q você faz um var teste = new Tween(); de qualquer forma, testa isso ae Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Junho 6, 2006 Interessante... valeu pela pesquisa Flybybetto! Eu fiz um teste que não sei se é muito válido mas vou contar. Coloquei um script pronto que importava um monte de classes em vários mcs diferentes, para não serem instâncias. Testei o filme com 1 e com vários mcs (ou seja, importanto mais da mesma classe). A diferença do espaço ocupado no disco foi totalmente nula, e a diferença em tamanho real foi em 100 bytes. Esses bytes a mais são provavelmente provenientes da informação necessária para colocar os mcs na tela e seus respectivos scripts, mas não por ter importado mais de uma vez a mesma classe. Concluindo: não tem problema importar a mesma classe dezena de vezes no mesmo swf. Isso não vai aumentar o seu tamanho. Abraço pessoal http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 7, 2006 Legal.. eu tava com a mesma dúvida e agora fico mais relaxado...Tava fazendo importando sem dó nem piedade pois precisava começar o trabalho e não consegui achar nada sobre essas importações de classes contínuas para cada MC.Agora vou continuar, sabendo que esse é o processo correto...Valeu a todos pelas pesquisas que eu não consegui...Falows Compartilhar este post Link para o post Compartilhar em outros sites