Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Способ удаления предыдущих значений переменной? (http://www.flasher.ru/forum/showthread.php?t=146155)

Parsley 30.10.2010 03:09

Способ удаления предыдущих значений переменной?
 
\\Увеличивается текст,
\\Как сохранить эффект приближения, удаляя предыдущие значения переменных?
\\Ищу способ не приблежения текста, а удаления предыдущих значений.

Код AS3:

var f:Number
for (f = 0; f < 45; f++) {
 
var myText:TextField = new TextField();
var myFormat:TextFormat = new TextFormat();
myFormat.size = f;
addChild(myText);
 
myText.text = "All the late night...";
myText.x=f*2;
myText.y=f*4;
myText.autoSize= TextFieldAutoSize.LEFT;
myText.setTextFormat(myFormat);
 
}


КорДум 30.10.2010 10:08

Цитата:

а удаления предыдущих значений.
Эм, чего? Каких значений? f у вас всегда разное, ибо (f++) === (f = f + 1). Непонятно, что именно вы хотите.

leofit 30.10.2010 11:18

Вы в цикле создаете 45 текстовых полей, если Вам так нужен цикл(что вряд ли), то создавайте TF перед циклом, а в цикле меняйте значения, что то вроде

Код AS3:

 
var myText:TextField = new TextField();
 
addChild(myText);
 
myText.text = "All the late night...";
var myFormat:TextFormat = new TextFormat();
myText.autoSize= TextFieldAutoSize.LEFT;
 
 
 
for (var f = 0; f < 45; f++) {
  myFormat.size = f;
  myText.x=f*2;
  myText.y=f*4;
  myText.setTextFormat(myFormat);
}


i.o. 30.10.2010 11:55

я, видимо, один не понял, чего же хочет автор

Psycho Tiger 30.10.2010 12:01

Не, я тоже. Но телепаты вроде вполне помогают )

drnet_ua 30.10.2010 12:16

Код AS3:

package 
{
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.TimerEvent;
        import flash.text.TextField;
        import flash.text.TextFormat;
        import flash.text.TextFieldAutoSize;
        import flash.utils.Timer;
        /**
        * ...
        * @author Anton Gusev
        */

        public class Main extends Sprite
        {
 
                private var textFields:Array;
                private var eraseTimer:Timer;
 
                private function drawText():void {
                        var f:Number
                                for (f = 0; f < 45; f++) {
                                        var myText:TextField = new TextField();
                                        var myFormat:TextFormat = new TextFormat();
                                        myFormat.size = f;
                                        addChild(myText);
                                        textFields.push(myText);
                                        myText.text = "All the late night...";
                                        myText.x=f*2;
                                        myText.y=f*4;
                                        myText.autoSize= TextFieldAutoSize.LEFT;
                                        myText.setTextFormat(myFormat);                                       
                                        }
                }
 
                private function eraseText(e:TimerEvent):void {
 
                        removeChild(textFields[0]);
                        textFields.splice(0, 1);
                }
 
                public function Main():void
                {
                        if (stage) init();
                        else addEventListener(Event.ADDED_TO_STAGE, init);
                }
 
                private function init(e:Event = null):void
                {
                        removeEventListener(Event.ADDED_TO_STAGE, init);
                        // entry point
                        textFields = new Array();
                        drawText();
                        eraseTimer = new Timer(100, textFields.length - 1);                       
                        eraseTimer.addEventListener(TimerEvent.TIMER, eraseText);
                        eraseTimer.start();
                }
 
        }
 
}


i.o. 30.10.2010 12:51

гуру телепатов) респект)

Parsley 30.10.2010 15:47

Разбираюсь в данный момент. В моем случаи выше, надо удалять только предыдущие addChild(myText); что-то вроде счетчика, перечислить их последовательно, а не выдать списком.

Когда f=0, соответсвенно ничего не удаляется;
Когда f=1, удаляется f=0;
Когда f=2, удаляется f=0, f=1;
Когда f=3, удаляется f=0, f=1, f=2; или здесь я не уверен, если f=0, f=1 уже удалены, то удалить f=2.
и т.д.
Перечисляется.

leofit 30.10.2010 17:07

Мм, мсье знает толк в извращениях....

drnet_ua 30.10.2010 18:47

Вложений: 2
вот "в кадрах"


Часовой пояс GMT +4, время: 15:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.