Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   UIComponent не ловит keyDown? (http://www.flasher.ru/forum/showthread.php?t=91493)

firelord 01.02.2007 00:34

UIComponent не ловит keyDown?
 
не знаю, насколько это интересно для общественности - я и сам решил уже делать в обход - но все-таки!

сделал свою компоненту extends UIComponent, наивно рассчитывал, что она сама будет рюхать ряд заявленных событий, типа keyDown.

соотв. на экземпляре компоненты делаю on(keyDown) { trace() } - фиг! хотя и setFocus делаю вроде - и focusIn приходит - вроде клавиатура должна в компоненту идти - а событие не файрит!

надо как-то специально подтвердить желание ловить клавиатуру для UIComponent - или я вообще что-то не так себе представляю?

7thsky™ 01.02.2007 00:43

addEventListener (eventName, listener)

и вообще RTFM!

silin 01.02.2007 00:57

нормальные герои всегда идут в обход..
может она и "будет рюхать ряд заявленных событий", но не таким же образом..
или у тебя on(keyDown) { trace() } на родных компонентах работает?

etc 01.02.2007 01:13

firelord, а заглянуть в класс UIComponent нельзя? И посмотреть, что тебе нахаляву подарят.

firelord 01.02.2007 02:15

Цитата:

Сообщение от 7thsky™
addEventListener (eventName, listener)

обидно, когда тебя совсем за идиота принимают :) так тоже не работает - естественно ;)
Цитата:

Сообщение от 7thsky™
и вообще RTFM!

я бы с радостью - да где эти FM взять? или вот эта груда бесполезных PDF у флеша называется мануалами? ;)

firelord 01.02.2007 02:17

Цитата:

Сообщение от silin
нормальные герои всегда идут в обход..
может она и "будет рюхать ряд заявленных событий", но не таким же образом..

я уже выяснил, что не таким - вопрос остался - каким ;) ну, ладно, я не гордый - буду делать через Key.onKeyDown - но это же коряво...

Цитата:

Сообщение от silin
или у тебя on(keyDown) { trace() } на родных компонентах работает?

да :) на Textbox пробовал...

etc 01.02.2007 02:27

firelord, по F1 тебе полный мануал откроется. Если бесполезные — купи книгу тогда.

firelord 01.02.2007 02:27

Цитата:

Сообщение от __etc
firelord, а заглянуть в класс UIComponent нельзя? И посмотреть, что тебе нахаляву подарят.

вообще, строго говоря, лазить в исходники базовых компонент - это занятие для людей, не обделенных свободным временем. у класса существует ИНТЕРФЕЙС, интерфейс должен быть ОПИСАН.
в "мануалах" (т.н. FM) упоминается, что класс UIComponent предназначен как базовый для компонент, которым требуется обработка событий клавиатуры. точка, конец абзаца ;) а, нет! вот в другом "мануале" - "UIComponent.keyDown - Broadcast when a key is pressed". я не поленился - в качестве эксперимента - переопределил функцию keyDown - засунул в нее dispatchEvent - вдруг, думаю, так имеется в виду? нет ;)
ладно, я уже готов залезть в исходники - с толкача правда не нашел, где можно описание UIComponent найти - не подскажите? просто уже из любопытства... а то ведь и дальше буду на грабли наступать, не понимая столь своеобразной модели классов флеша...

etc 01.02.2007 02:32

Эти компоненты изнутри вообще жуть и то, что они не работают, ничего удивительного :)

firelord 01.02.2007 02:33

Цитата:

Сообщение от __etc
firelord, по F1 тебе полный мануал откроется. Если бесполезные — купи книгу тогда.

то, что открывается по F1 я бы на месте разработчиков постыдился бы по F1 открывать ;) включая 10 книжек, которые я успел скачать - и библии, и Using Components, и ActionScript reference и пр. нормального мануала по созданию компонент - близко нет. возможно, я пока не нашел ;)
видимо моя ошибка была в самом начале - что я решил вообще делать компоненты - флеш, видать, исповедует собственную идеологию (в этом уже убедился на runtime sharing)... придется забыть все, о чем знал - и учиться программить "по-флешовски" ;)


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

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