linoart 0 Denunciar post Postado Outubro 7, 2008 Estou tentando colocar o evento TimerEvent chamando de uma classe externa, e quando o evento acontece o mc muda de posição. Acontece que dá esse erro: 1046: Type was not found or was not a compile-time constant: Timer. 1180: Call to a possibly undefined method Timer. Não sei o que está acontecendo. Tentei mudar o código com funções diferentes mas não deu certo package { import flash.display.MovieClip; import flash.events.*; public class mcTempo extends MovieClip { public var quad:reta; public var timer:Timer; public function mcTempo() { var quad:MovieClip = new reta(); addChild(quad); quad.x = 30; quad.y = 100; tempo(); } public function tempo():void { trace("foi timer"); timer = new Timer(500); timer.addEventListener(TimerEvent.TIMER, executa); timer.start(); } function executa(evt:TimerEvent) { quad.x += 30; quad.rotation += 45; } } } No .fla tem apenas o mc "reta" com linkage e nada no palco. Help!!!! Valeu!!! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 7, 2008 o erro diz que ele não encontrou a classe timer, tenta importa ela: import flash.utils.Timer; []´s Compartilhar este post Link para o post Compartilhar em outros sites
linoart 0 Denunciar post Postado Outubro 8, 2008 eu importei a classe. mas a classe que to usando é do pacote flash.events, mesmo importando deu erro. ela direto no .fla rodou normal. agora esse flash.utils nunca tinha usado; ela tem a mesma utilidade da flash.events? pra eu colocar ela preciso chamar ela no listener. qual é sintaxe dela no listener? e a variavel dela também é do tipo Timer? :) Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 8, 2008 não é isso, você esta usando a classe Timer no AS, então tem que importar ela, você precisa das duas, a Timer e a TimerEvent no .FLA ele carrega automaticamente essas classes, mas num arquivo .AS tem que importar, então coloca no inicio da classe junto com os outros import: import flash.display.MovieClip; import flash.events.*; import flash.utils.Timer; []´s Compartilhar este post Link para o post Compartilhar em outros sites
linoart 0 Denunciar post Postado Outubro 8, 2008 eu coloquei, só que agora aparece o seguinte erro: TypeError: Error #1009: Cannot access a property or method of a null object reference. at mcTempo/::executa() at flash.utils::Timer/flash.utils:Timer::_timerDispatch() at flash.utils::Timer/flash.utils:Timer::tick() Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 9, 2008 você esta declarando o "quad" duas vezes, na classe e dentro do construtor, deixe assim: public function mcTempo() { quad= new reta(); addChild(quad); quad.x = 30; quad.y = 100; tempo(); } []´s Compartilhar este post Link para o post Compartilhar em outros sites
linoart 0 Denunciar post Postado Outubro 9, 2008 deu certo!! caramba, nunca ia saber que tem evento que usa 2 classes! tem alguma algum site ou documento que você conhece que mostra quais eventos utilizam mais de uma classe? thanks:) Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 9, 2008 o problema não é que um evento usa duas classes, mas que você estava tentando usar uma classe sem importa-la (a Timer no caso) você estava usando 2 classes, a Timer e a TimerEvent, por isso 2 imports []´s Compartilhar este post Link para o post Compartilhar em outros sites