Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с TextField в роли input (http://www.flasher.ru/forum/showthread.php?t=211087)

PsychoTech 23.06.2015 22:34

Проблема с TextField в роли input
 
Я сам офигел

Код AS3:

package Interface 
{
        import flash.display.Sprite;
    import flash.display.Stage;
    import flash.text.*;
    import flash.events.*;
 
        /**
        * ...
        * @author @PsYcHoTeCh
        */

        public class InputType extends Sprite
        {
                private var TField: TextField;
        //private var myOutputBox:TextField = new TextField();
        private var _myText:String = "Text";
                public function InputType()
                {
                        if (stage) init();
                        else addEventListener(Event.ADDED_TO_STAGE, init);
                }
 
                private function init(e:Event = null):void
                {
                        removeEventListener(Event.ADDED_TO_STAGE, init);
                        captureText();
        }
 
        public function captureText():void
        {
                        TField = new TextField();
                        TField.width = 150;
                        TField.height = 22;
                        TField.type = TextFieldType.INPUT;
                        TField.textColor = 0x000000;
                        TField.backgroundColor = 0xaaaaaa;
                        TField.borderColor = 0x000000;
                        TField.border = true;
                        TField.background = true;
                        TField.selectable = true;
                        TField.htmlText = '<font face="Times New Roman" size="16"><b>' + myText + '</b></font>';
                        TField.x = -TField.width / 2; //??????????????????????
                        TField.y = -TField.height / 2;//??????????????????????
                        this.addChild(TField);
            TField.addEventListener(KeyboardEvent.KEY_UP, textInputCapture);
            this.addEventListener(Event.ENTER_FRAME, onFrame);
        }
                private function onFrame(e: Event):void {
                        this.myText = TField.text;
                        TField.htmlText = '<font face="Times New Roman" size="16"><b>' + this.myText + '</b></font>';
                }
                private function textInputCapture(e: KeyboardEvent):void {
                        this.myText = TField.text;
                        TField.htmlText = '<font face="Times New Roman" size="16"><b>' + this.myText + '</b></font>';
                }
 
                public function get myText():String
                {
                        return _myText;
                }
 
                public function set myText(value:String):void
                {
                        _myText = value;
                }
    }
}

при удалении строчек с коментариями вопросов (это я их сейчас пометил) ввод перестает работать. выделение тоже.

GBee 24.06.2015 00:35

Я бы тоже перестал работать, если бы меня постоянно тюкали и вгоняли в какие-то рамки.

PsychoTech 24.06.2015 01:02

Цитата:

Сообщение от GBee (Сообщение 1183983)
Я бы тоже перестал работать, если бы меня постоянно тюкали и вгоняли в какие-то рамки.

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

AlexCooper 24.06.2015 02:07

Цитата:

Сообщение от PsychoTech (Сообщение 1183984)
в том то и дело что перестало работать только когда рамки начал расширять. и рамок тут никаких не вижу.

те строчки что помеченны, сдвигают текстфилд так, что его центром является x:0,y:0 локальных координат InputType.

Соответсвенно, смотрите во вью, не перекрывает ли его чтото выше

caseyryan 24.06.2015 06:48

Проверил. Все работает. И с этими строчками, и без них.

PsychoTech 24.06.2015 08:56

Цитата:

Сообщение от AlexCooper (Сообщение 1183986)
те строчки что помеченны, сдвигают текстфилд так, что его центром является x:0,y:0 локальных координат InputType.

Соответсвенно, смотрите во вью, не перекрывает ли его чтото выше

сдвиг так и планировался в другом приожении, а сейчас это стало ненужным и у меня почему-то перестало работать. Ведет себя так будто накладывается маска только на первые 4 символа и только с этой позицией, сдвигая влево маска будто остается на том месте а tf естественно перестает реагировать. думаю какой-то глюк. обновил федю но ничего не изменилось. при опускании всех параметров кроме type tf просто отказывается быть инпутом. что делать не пойму. сейчас делаю форму где этих полей должно быть с десяток, а он и с одной капризничает.
Насчет перекрывает вроде не должно. далее идет кнопка но она гораздо ниже. больше вывода никакого небыло.

Добавлено через 13 часов 58 минут
Цитата:

Сообщение от AlexCooper (Сообщение 1183986)
Соответсвенно, смотрите во вью, не перекрывает ли его чтото выше

В самый корень зрил. сверху была невидимая 3д сцена. подвинул её и все стало нормально. спасибо.


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

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