2010-01-28 8 views
1

Comment résoudre l'erreur des définitions de variables dupliquées? Il doit y avoir espaces de noms distincts et utiliser pour chaque définition, mais je ne le vois tout simplement pas.AS 3.0 Définition de variable en double

CODE

Je n'ai pas écrit, mais je l'ai essayé de déballer et changer les classes et semblent avoir enfreinte. Je veux utiliser ceci pour augmenter la durée de la lecture de mes films. Il y a des maths sympas ici pour la mise à l'échelle du temps.

//time-scaling script 
import flash.display.*; 
import flash.events.Event.*; 

var _time_scale:Number = .25; 
var _frames_elapsed:int = 0; 
var _clip:MovieClip; 

function Main():void { 
      _clip = new SomeClip; 
      addEventListener(Event.ENTER_FRAME, handleEnterFrame); 

//integer?? 
function handleEnterFrame(e:Event):void { 
      _frames_elapsed ++; 
} 
      // we multiply the "real" time with our timescale to get the scaled time 
      // we also need to make sure we give an integer as a parameter, so we use Math.round() to round the value off 
      _clip.gotoAndStop(Math.round(_clip.totalFrames * _frames_elapsed * _time_scale)); 
} 

var myTimer:Timer = new Timer(10); 
myTimer.addEventListener(TimerEvent.TIMER, timerListener); 
function timerListener (e:TimerEvent):void{ 
ball1.rotationY += 5;/////////replace function/////////// 
} 
myTimer.start(); 

ERREURS

**3596** 
Warning: Duplicate variable definition. 

**1151** 
A conflict exists with definition _clip in namespace internal 

NOTES

entiers, boucle non imbriqués

Répondre

2

C'est parce que vous manquez la fin « } » du constructeur, après cette ligne:

addEventListener(Event.ENTER_FRAME, handleEnterFrame); 

Et les deux lignes suivantes devraient probablement dans votre constructeur, non seulement dans la déclaration de classe:

var myTimer:Timer = new Timer(10); 
myTimer.addEventListener(TimerEvent.TIMER, timerListener); 

Si vous utilisez les classes de minuterie et TimerEvent, vous devez les importer:

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

De plus, vous n'avez pas besoin du. * À la fin de l'importation de l'événement.

Un autre "aussi". Vous devriez avoir des modificateurs d'accès sur vos membres. vars et fonctions. Donc, vous devriez vraiment dire:

private var _clip:MovieClip; 

Il me semble que vous devez regarder dans les bases de AS3. Voici un très bon point de départ: http://www.actionscript.org/resources/articles/611/1/Getting-started-with-Actionscript-3/Page1.html

-1

_clip est un mot-clé réservé, vous devrez utiliser autre chose.

+0

Je vois que cela a du sens! –

+0

_clip est en conflit avec une définition existante dans animatorFactory. Merci –

Questions connexes