2009-06-24 8 views
0

Ich habe vor kurzem angefangen, mit as3 herumzuspielen, was ziemlich gut aussieht, das Problem ist, dass ich von As2 komme und ich komplett verloren bin.as3 Ich bin verloren, wie kann ich verschiedene Textobjekte bewegen?

Ich bin Tring Text aus 4 Textdateien importieren sie dann auf den anderen auf verschieben:

text1 x = 100, text2 x = 150 text3 x ​​= 200 etc ..

Hier ist, wo ich bin fest: ich verstehe nicht

import flash.display.MovieClip; 
import flash.display.Loader; 
import flash.events.*; 
import flash.net.URLRequest; 
import caurina.transitions.Tweener; 

var myTextLoader:URLLoader = new URLLoader(); 
var myTextField_txt:TextField = new TextField(); 
myTextField_txt.wordWrap=true; 
myTextField_txt.autoSize=TextFieldAutoSize.CENTER; 

var i:int = 0; 
var ipsilon:int = 200; 

for(i;i<5;i++) { 
     myTextLoader.addEventListener(Event.COMPLETE, onLoaded); 
    myTextLoader.load(new URLRequest("text"+i+".txt")); 
} 
function onLoaded(e:Event):void { 
    var testo = e.target.data; 
    styleMe(testo); 
} 
function styleMe(testo){ 
    //Associamo il testo alla variabile 
    myTextField_txt.text = testo; 
    //Formato Carattere 
    var myFormat:TextFormat = new TextFormat(); 
    myFormat.size = 15; 
    myFormat.align = TextFormatAlign.CENTER; 
    myTextField_txt.defaultTextFormat = myFormat; 
    //Formato Varie 
    myTextField_txt.textColor = 0x000000; 
    myTextField_txt.border = true; 
    myTextField_txt.borderColor = 0x999999; 
    myTextField_txt.width = 200; 
    myTextField_txt.height = 20; 
    myTextField_txt.background = true; 
    myTextField_txt.backgroundColor = 0xFFCC00; 
    //Posizione 
    myTextField_txt.x = 0; 
    myTextField_txt.y = -100; 
    var text1 = addChild(myTextField_txt); 
    tweenMe(text1); 
} 
function tweenMe(text1){ 
    Tweener.addTween(text1, {x:450,y:200, time:5}); 
} 

wie sage ich Actionscript sie in verschiedener Position zu bewegen.

Vielen Dank für Ihre Geduld

David

Antwort

1

uhm, gäbe es eine hacky Lösung sein ... aber Sie sollten eine saubere Lösung versuchen, Klassen ...

ich bin nicht ganz sicher, was Sie tun wollen, aber dies den Trick tun sollten: verwenden Sie es

package { 
    import caurina.transitions.Tweener; 
    import flash.events.Event; 
    import flash.net.*; 
    import flash.text.*; 
    public class MyText extends TextField { 
     private var _tweenParams:Object; 
     public function MyText(location:String, tweenParams:Object, initVars:Object = null) { 

      this._tweenParams = { }; 
      for (var name:String in tweenParams) this._tweenParams[name] = tweenParams[name]; 
      for (name in initVars) this[name] = initVars[name]; 

      (new URLLoader(new URLRequest(location))).addEventListener(Event.COMPLETE, onLoad); 

      var myFormat:TextFormat = new TextFormat(); 
      myFormat.size = 15; 
      myFormat.align = TextFormatAlign.CENTER; 
      this.defaultTextFormat = myFormat; 

      this.textColor = 0x000000; 
      this.border = true; 
      this.borderColor = 0x999999; 
      this.width = 200; 
      this.height = 20; 
      this.background = true; 
      this.backgroundColor = 0xFFCC00;    
     } 
     private function onLoad(e:Event):void { 
      this.text = e.target.data; 
      Tweener.addTween(this, this._tweenParams); 
     } 
    } 
} 

und dann wie folgt aus:

this.addChild(new MyText("text1.txt",{x:0,y:0, time:5},{y:-100})); 
this.addChild(new MyText("text2.txt",{x:200,y:0, time:5},{y:-100})); 
this.addChild(new MyText("text3.txt",{x:400,y:0, time:5},{y:-100})); 
this.addChild(new MyText("text4.txt",{x:600,y:0, time:5},{y:-100})); 

Hoffnung, dass ...

greetz

back2dos

+0

wie es korrekt ist Sieht hilft. aber es wirft diesen Fehler auf: 5000: Die Klasse 'Main' muss die Unterklasse 'flash.display.MovieClip' ableiten, da sie mit einem Bibliothekssymbol dieses Typs verknüpft ist. – 0plus1

+0

Es wirft den gleichen Fehler, selbst wenn ich hinzufüge: import flash.display.MovieClip '; – 0plus1

+0

Vergesst, ich benutzte die MyText.as als Dokumentklasse. Nach dem Import im Hauptfenster funktioniert alles. Ich kann nicht verstehen, warum ... – 0plus1

Verwandte Themen