2010-08-10 4 views
0

Je voudrais de l'aide (et je suis nouveau sur ce site)# 1009 de référence d'objet nul (AS3, TextField)

Je veux un effet de machine à écrire. Donc, il semble que le code de la chaîne est tapé caractère par caractère (pour une animation). Cependant, je récupère un # 1009. Il parle d'une référence d'objet nul (l'erreur est en néerlandais).

Mon champ de texte dynamique se trouve dans la même scène, sur un calque différent. codeTekst est le nom de l'instance. C'est un texte classique et dynamique. Comportement multiligne et non incorporé dans un symbole. J'utilise Flash CS5. Voici mon code:

import flash.utils.Timer; 
import flash.events.TimerEvent; 

var string:String = 'import flash.events.Event import flash.utils.Timer; import   flash.events.TimerEvent; import flash.display.MovieClip; import flash.events.MouseEvent; import flash.media.Sound; import flash.media.SoundChannel; stop(); var beginSchermSpraak:Sound = new BeginSchermSpraak(); var beginSchermSpraakKanaal:SoundChannel = new SoundChannel(); var helpKnopSpraak:Sound = new HelpKnopSpraak(); var helpKnopSpraakKanaal:SoundChannel = new SoundChannel(); var eersteKeer:Boolean; var gebouw:uint; var vandaan:Boolean; var timer:Timer = new Timer(1, 1); splashMC.x=-9001; startKnop.x=-9001; if (eersteKeer == false) { splashMC.x=250; startKnop.x=250; beginSchermSpraakKanaal = beginSchermSpraak.play(); beginSchermSpraakKanaal.addEventListener(Event.SOUND_COMPLETE, helpKnopMaken); startKnop.addEventListener(MouseEvent.CLICK, startTimer); timer.addEventListener(TimerEvent.TIMER_COMPLETE, vervaag); } else {}'; 

var i:uint = 0; 

var timer:Timer = new Timer(10); 

timer.start(); 

timer.addEventListener(TimerEvent.TIMER, goTime); 

function goTime(e:TimerEvent){ 

codeTekst.appendText(string.charAt(i)); 
i++; 

if(i>=string.length) { 
    timer.stop(); 
} 


} 

Merci pour toutes les idées :)

Répondre

0

Avez-vous vérifié pour vous assurer que le champ de texte n'a pas été vide pour commencer? Il y a un bug dans Flash, vous devez donc avoir du texte dans la boîte, sinon vous obtiendrez l'erreur null.

Assurez-vous également d'incorporer la police.

0

Le code fonctionne bien pour moi; Copié et collé dans Flash CS5. La seule chose que j'ai faite a été d'ajouter un TextField et de lui donner un nom d'occurrence de "codeTekst". Êtes-vous sûr que votre instance TextField est disponible sur le cadre sur lequel votre code est?

Questions connexes