Как я потерян, как я могу перемещать различные текстовые объекты? - PullRequest
0 голосов
/ 24 июня 2009

Я недавно начал возиться с as3, что выглядит довольно неплохо, проблема в том, что я из as2 и я полностью потерян.

Я пытаюсь импортировать текст из 4 текстовых файлов, а затем переместить их поверх другого:

text1 x = 100, text2 x = 150 text3 x ​​= 200 и т. Д.

Вот где я застрял:

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});
}

Я не могу понять, как сказать actionScript, чтобы переместить их в другое положение.

Большое спасибо за ваше терпение

David

1 Ответ

1 голос
/ 24 июня 2009

хм, было бы хакерское решение ... но вы должны попробовать чистое решение, используя классы ...

Я не совсем уверен, что вы хотите сделать, но это должно сработать:

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);
        }
    }
}

, а затем просто используйте его так:

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}));

надеюсь, что это помогает ...

Greetz

back2dos

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...