Форум 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=125587)

ALEX666 28.05.2009 02:02

вывод значения переменной
 
Подскажите пожалуйста, как вывести значение переменной в текстовое поле?
Когда привожу её к типу String, то после этого она уже не может изменить своё значение...а если не приводить, то ругается...
Код AS3:

 
package{
        import flash.display.*;
        import flash.events.*;
          import flash.media.*;
        import flash.text.*;
 
 
        public class Klad extends MovieClip{
                var txt:TextField=new TextField();
                public var ochki:int=0;
 
                    public function Klad(){
                        stage.addEventListener(MouseEvent.MOUSE_DOWN,vistrelListener);
                        txt.text='0';
                                  stage.addChild(txt);
                }
                      private function vistrelListener(e:MouseEvent):void{
                        ochki+=10;
                        var ochki:String;
                        txt.text=ochki;
 
                }
 
          }
}


Stargazer 28.05.2009 02:14

Код AS3:

var ochki:String;

Это вы таким способом к String приводите? ))

Это у вас не приведение типов. Это вы объявили новую локальную переменную с именем ochki и типом String. Теперь в пределах этой функции доступа к public var ochki:int у вас уже нет (он перекрыт именем локальной переменной).

Числа приводятся к строкам таким способом:
Код AS3:

txt.text= String(ochki);


psyanim.as 28.05.2009 02:16

Код AS3:

package{
        import flash.display.*;
        import flash.events.*;
          import flash.media.*;
        import flash.text.*;
 
 
        public class Klad extends MovieClip{
                var txt:TextField=new TextField();
                public var ochki:int=0;
 
                    public function Klad(){
                        stage.addEventListener(MouseEvent.MOUSE_DOWN,vistrelListener);
                        txt.text='0';
                                  stage.addChild(txt);
                }
                      private function vistrelListener(e:MouseEvent):void{
                        ochki+=10;
 
                        txt.text = ochki.toString(10);
 
                }
 
          }
}


ALEX666 28.05.2009 02:20

Спасибо :)

willis83 28.05.2009 12:20

Или txt.text = "Ваши очки " + ochki;

etc 28.05.2009 13:07

Цитата:

Сообщение от Stargazer (Сообщение 823760)
Теперь в пределах этой функции доступа к public var ochki:int у вас уже нет (он перекрыт именем локальной переменной).

Доступ никуда не денется.

Stargazer 28.05.2009 13:25

Цитата:

Сообщение от __etc (Сообщение 823831)
Доступ никуда не денется.

Интересно, если это так. Как тогда обратиться к публичной переменной?

etc 28.05.2009 13:40

Дожили. this.ochki.

BlooDHounD 28.05.2009 13:56

this - наше всё

Stargazer 28.05.2009 15:18

Цитата:

Сообщение от __etc (Сообщение 823850)
Дожили. this.ochki.

Спасибо :).
Оказывается, я знал. Но было не лишним вспомнить. Видимо, эти ассоциации сложились из какой-нибудь справки или учебника на тему глобальных и локальных переменных.


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

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