Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.03.2007, 18:42
dmitriy_rsl вне форума Посмотреть профиль Отправить личное сообщение для dmitriy_rsl Найти все сообщения от dmitriy_rsl
  № 1  
Ответить с цитированием
dmitriy_rsl

Регистрация: Mar 2007
Сообщений: 9
По умолчанию Mouse.broadcastMessage

Пишу обработчик для правой кнопки мыши:
Код:
_root.onEnterFrame = function() {
	if(ASNative(800, 2)(2)) {
		this.rightDown = true;
		Mouse.broadcastMessage("onRightMouseDown");
	} else {
		if(this.leftDown) {
			this.rightDown = false;
			Mouse.broadcastMessage("onRightMouseUp");
		}
	}
}
...skiped....
при запуске получаю ошибку:
Цитата:
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 11: There is no method with the name 'broadcastMessage'.
Mouse.broadcastMessage("onRightMouseDown");
Че за фигня? Видел кучу исходников, где такое прокатывало... А тут вдруг на-те...
Версия флеша: Flash 8

Старый 23.03.2007, 18:52
bbexp вне форума Посмотреть профиль Отправить личное сообщение для bbexp Посетить домашнюю страницу bbexp Найти все сообщения от bbexp
  № 2  
Ответить с цитированием
bbexp
 
Аватар для bbexp

Регистрация: May 2006
Адрес: Город О
Сообщений: 169
Не до конца досматривали исходники видать.

У класса Mouse нет метода broadcastMessage, о чем и было сказано компилятором.
Это метод AsBroadcaster - а.
Почитайте про него в документации, в восьмерке он уже документирован.

да и потом, выкиньте в корзину этот эсНейтив.
вот класс, написанный Silin-ом. Отслеживает и мышей и комбинации клавиш.

http://www.silin.fatal.ru/AS2/KeyEve...atcher.as.html
__________________
Работа * Работы * О работе


Последний раз редактировалось etc; 26.03.2007 в 10:29.
Старый 23.03.2007, 22:41
dmitriy_rsl вне форума Посмотреть профиль Отправить личное сообщение для dmitriy_rsl Найти все сообщения от dmitriy_rsl
  № 3  
Ответить с цитированием
dmitriy_rsl

Регистрация: Mar 2007
Сообщений: 9
Цитата:
Сообщение от bbexp
Не до конца досматривали исходники видать.

У класса Mouse нет метода broadcastMessage, о чем и было сказано компилятором.
Это метод AsBroadcaster - а.
Почитайте про него в документации, в восьмерке он уже документирован.
Та я видел в хелпе, что там нету такого метода, но в куче исходников встречалось его использование (например реализация даблклика, которая описана в факе на этом форуме). Как тогда то, что в этих исходниках описано работает????

вот например тут есть такое:
http://www.flasher.ru/forum/showthread.php?t=62551

Я уже думал, что это спрятанный метод... пытался его через ASSetPropFlags открывать - нефига. Пытался делать AsBroadcaster.initialize(Mouse) - тоже нефига.

Старый 23.03.2007, 22:58
dmitriy_rsl вне форума Посмотреть профиль Отправить личное сообщение для dmitriy_rsl Найти все сообщения от dmitriy_rsl
  № 4  
Ответить с цитированием
dmitriy_rsl

Регистрация: Mar 2007
Сообщений: 9
Я хочу сделать нечто универсальное, чтобы и в других программах потом использовать. А расширение функциональности Mouse - как нельзя лучше для этого подходит. поэтому broadcastMessage у Mouse - ох как нужен.
У меня сейчас стоит задача реализовать не только правую кнопку мыши и дабл-клик левой кнопкой, но и дабл-клик правой кнопкой мыши.

Старый 23.03.2007, 23:05
dmitriy_rsl вне форума Посмотреть профиль Отправить личное сообщение для dmitriy_rsl Найти все сообщения от dmitriy_rsl
  № 5  
Ответить с цитированием
dmitriy_rsl

Регистрация: Mar 2007
Сообщений: 9
Вот еще одна ссылка:
http://flasher.ru/articles/view/%7Btutors.pg=75%7D

Тут есть и Mouse.broadcastMessage и ASBroadcaster.initialize(Mouse)
Но ничего из этого в реальности не работает, после AsBroadcaster.initialize(Mouse) казалось-бы у Mouse должен появиться метод broadcastMessage (хотя не факт, что он будет корректно работать), но ничего подобного - по прежнему ошибка. Такое чувство, что этот метод там есть, но каким-то образом скрыт (и ASSetPropFlags - его не открывает).

Старый 24.03.2007, 00:00
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
Mouse["broadcastMessage"]("onRightMouseDown");
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 26.03.2007, 10:26
dmitriy_rsl вне форума Посмотреть профиль Отправить личное сообщение для dmitriy_rsl Найти все сообщения от dmitriy_rsl
  № 7  
Ответить с цитированием
dmitriy_rsl

Регистрация: Mar 2007
Сообщений: 9
Цитата:
Сообщение от iNils
Код:
Mouse["broadcastMessage"]("onRightMouseDown");
О, спасибо - вроде работает. Хотели заныкать метод, хе-хе...

Старый 26.03.2007, 11:29
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Его ни кто не прятал, если метод не указан здесь
Код:
intrinsic class Mouse
{
	static function addListener(listener:Object):Void;
	static function hide():Number;
	static function removeListener(listener:Object):Boolean;
	static function show():Number;
}
если класс не динамический, то всегда можно достучаться до метода или свойства через ["key_word"]
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 26.03.2007, 12:11
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Это обман компилятора, тем не менее.
Не вижу смысла вообще заставлять конкретно мышиный класс слать событие.

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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