Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отображение переменной с помощью Text Tool? (http://www.flasher.ru/forum/showthread.php?t=197501)

WinSTOP 08.04.2013 12:19

Отображение переменной с помощью Text Tool?
 
Как отобразить переменную с помощью Text Tool?
Переменная находится в class'e.
Код AS3:

public static var Score:Number = 5;


in4core 08.04.2013 14:20

вам никто не ответит на вопрос на который нет ответа. Идите читать книжки о основах программирования, о основах ООП и т.п.

WinSTOP 08.04.2013 14:24

Цитата:

вам никто не ответит на вопрос на который нет ответа. Идите читать книжки о основах программирования, о основах ООП и т.п.
Щас найду видео которое уже ищу пол дня и докажу что ответ есть.

Добавлено через 12 минут
Вот:
Код AS3:

var Seconds:Number = 60;
 
var Instance:Timer = new Timer(1000, Seconds);
Instance.addEventListener(TimerEvent.TIMER, Handler);
Instance.start();
 
function Handler(event:TimerEvent):void
{
        taim.text = String (Seconds);
 
 
var pass:Array = ["1"]
 
for (var i:int = 0; i<pass.length; i++)
{
  if ( pass[i] == taim.text)
{
                    gotoAndStop(3);
  }
}
 
        Seconds--;
}

taim - само текстовое поле на сцене.

in4core 08.04.2013 15:10

За такой пример нужно руки оторвать тому, кто это выложил, вопервых. Во вторых приведенный пример - к вашему вопросу не имеет никакого отноешния. В третьих , что такое text Tool ?

WinSTOP 08.04.2013 15:17

Цитата:

За такой пример нужно руки оторвать тому, кто это выложил, вопервых. Во вторых приведенный пример - к вашему вопросу не имеет никакого отноешния. В третьих , что такое text Tool ?
text Tool Иконка при нажатии на которую создаётся текст. Да, точно пример не из лучших я пользуюсь классом, но у меня ошибка
Цитата:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Tclass()
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at Tgames_fla::MainTimeline()
вот код помоги пожалуйста:
Код AS3:

package  {
        import flash.display.MovieClip;
        import flash.display.Sprite;
 
        public class Tmain extends MovieClip
        {
        private var _cec:Number = 5;
 
                public function Tmain(){
            TextVar.text = String(_cec);
                }
        }
}

TextVar - Объект текста
Обеснялкин из меня фиговый)

chamele0n 08.04.2013 15:23

улыбает меня этот товарищ ^_^

WinSTOP 08.04.2013 15:35

chamele0n, ну вот такой я)
Ну всё таки с кодом что не так то? Объект text не добавлен в symbol по идее так должно быть. text на сцене что ему нужно то? nool значит нет на сцене но у мя текст же на сцене, почему ошибка?

Добавлено через 10 минут
addChild(TextVar);
Я так понимаю что нужно добавить объект на сцену, но какой? Если объект уже на сцене.

Александр Мостовой 08.04.2013 15:55

Цитата:

text Tool Иконка при нажатии на которую создаётся текст.
ПОчему вы дали обычной кнопке нарицательное имя? :)
Вы говорите об аналоге поведения кнопки добавления текста в графических редакторах?

Вам нужно просто повесить событие клика на кнопку и из него созать TextField. Вы умеете програмно содавать текстовое поле?
Зачем таймер я не понял.

Inet_PC 08.04.2013 15:58

Как то так:
Код AS3:

package  
{
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import flash.text.TextField;
 
        public class Tmain extends MovieClip
        {
                private var _cec:Number = 5;
 
                public function Tmain()
                {
                        var
                        tf:TextField = new TextField();
                        tf.text = _cec.toString();
                        addChild(tf);
                }
        }
}


WinSTOP 08.04.2013 16:13

Вложений: 1
Цитата:

ПОчему вы дали обычной кнопке нарицательное имя?
Вы говорите об аналоге поведения кнопки добавления текста в графических редакторах?

Вам нужно просто повесить событие клика на кнопку и из него созать TextField. Вы умеете програмно содавать текстовое поле?
Зачем таймер я не понял.
TextField - инструмент в adobe flash там ещё нарисована буква Т.
Ладно буду делать стандартным способом хоть и не охото =(

WinSTOP 08.04.2013 16:15

на скриншоте выше ноль на сцене должен превратится в значение переменной _cec. Я сёдня видел видео, но не могу найти, как это сделать а вы говорите, что это не возможно сделать.

chamele0n 08.04.2013 16:16

Цитата:

Сообщение от Александр Мостовой (Сообщение 1128808)
ПОчему вы дали обычной кнопке нарицательное имя? :)
Вы говорите об аналоге поведения кнопки добавления текста в графических редакторах?

Вам нужно просто повесить событие клика на кнопку и из него созать TextField. Вы умеете програмно содавать текстовое поле?
Зачем таймер я не понял.

из класа нельзя делать обращение напрямую к обьекту на сцене, только через линк обьекта\сцены
както так:
Код AS3:

package  {
        import flash.display.MovieClip;
        import flash.display.Sprite;
 
        public class Tmain extends MovieClip
        {
        private var _link:TextField = new TextField();
        private var _cec:Number = 5;
 
                public function Tmain(text:TextField){
            _link = text;
            _link.text = String(_cec);
                }
        }
}

ну это корявенько и без всяких проверок
TextVar - обьект на сцене
Код AS3:

var m:Tmain = new Tmain(TextVar);

хотя все это глупо выглядит и неизвесно для чего нужно )

Александр Мостовой 08.04.2013 16:17

Цитата:

TextField - инструмент в adobe flash там ещё нарисована буква Т.
Ну да, занчит я вас правильно понял
Цитата:

Вы говорите об аналоге поведения кнопки добавления текста в графических редакторах?
Только о каких стандартных и нестандартых сопсобах вы гоыорите?
Вы хотите что бы появлялась иконка T ? Вам нужно добавить свой курсор или просто спрятать стандартный курсор сделав startDrag простому sprite

WinSTOP 08.04.2013 16:24

Вы нажали на кнопку "Т" создали ТЕКСТ на (сцене - это рабочая область) дальше создаёте переменную и этот текст который вы создали на сцене должен отображать эту переменную. Я не знаю как ещё обеснить.

Александр Мостовой 08.04.2013 16:47

Цитата:

Вы нажали на кнопку "Т" создали ТЕКСТ на (сцене - это рабочая область) дальше создаёте переменную и этот текст который вы создали на сцене должен отображать эту переменную. Я не знаю как ещё обеснить.
Что-то мне подсказывает что вас сбивает с толку наследие AS1, где с каждому тектсовуму полю можно было назначить свойство variable завязанное с одноименной переменной в коде во фрейме (не путать с именем TextField). В AS3 такго нет.

Если вы хотите следить за обновлением TextField вам придется подписваться на его события напимер так
Код AS3:

textField.addEventListener(Event.CHANGE, textFieldChangeHandler);
 
....
private function textFieldChangeHandler(event:Event):void
{
        var myVar:String = textField.text;
}


WinSTOP 08.04.2013 16:51

Александр Мостовой, as1! вот блин. а в ас1 были class,ы?

Александр Мостовой 08.04.2013 16:56

Цитата:

Александр Мостовой, as1! вот блин. а в ас1 были class,ы?
Только в AS2
Но в AS2 variable на textField вроде тоже поддердивались
Просто мнение что считать AS2, что AS1 расходятся.
Некоторые называют AS2 появление класов, некоторые просто версию языка в котором классы начали поддерживаться.
Классы в AS2 надстройка над прототипами, рекомендую не возиться с их мзучением ил либо писать код во фреймах на AS1 либо сразу переходить на AS3, так как его логика классов проще для понимания

strangedk 08.04.2013 17:08

Цитата:

Сообщение от WinSTOP (Сообщение 1128800)
TextVar - Объект текста
Обеснялкин из меня фиговый)

Пожалуйста, поставьте вопрос нормально. Вот сразу когда тему создаете - обдумайте постановку вопроса несколько раз.

WinSTOP 08.04.2013 17:12

Всем спасибо))

Добавлено через 8 минут
Александр Мостовой, я не собирался переходить на другой язык. Начал изучать as3 больше мне не надо. А с текстом и в коде можно работать) Ток как присвоить шрифт тексту, но это уже гугл.

Александр Мостовой 08.04.2013 17:26

Цитата:

А с текстом и в коде можно работать)
Вам нужно все-таки немного следить за терминологией иначе вас будет очень сложно понять. За собой тоже иногда наблюдаю сей факт: называть что угодно чем угодно. Но у вас все еще серьезнее :)

в коде == код во фреймах
создали ТЕКСТ == создали экземпляр TextField идобавили его в DisplayList root класса
и т.д.


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

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