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

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

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

Регистрация: Oct 2006
Сообщений: 2,282
По умолчанию обработка средней кнопки

Я в курсе, что в чистом as3 нет обработчиков для средней кнопки,но зато есть в as2.Поиск выдал такую тему
http://www.flasher.ru/forum/showthre...ht=middleMouse
Там господин silin предлагает внедрять as2 флэшку в as3 и далее слушать её по LocalConnection
код внедрения такой
Код AS3:
...
		[Embed(source="middleMouseDispatcher.swf",  mimeType="application/x-shockwave-flash")]
		private var _dispatcherSWF:Class;
		private var _dispatcher:AVM1Movie = new _dispatcherSWF() as AVM1Movie;
Кто-нибудь может сказать куда надо класть эту as2 флэшку чтоб FlashDevelop заэмбедил её в родительскую флэху? Пробовал положить в папку Bin - он ругается
..\game\Game.as(39): col: 3: Error: unable to resolve 'middleMouseDispatcher.swf' for transcoding
[Embed(source="middleMouseDispatcher.swf", mimeType="application/x-shockwave-flash")]
UPD:
вопрос снимается FD сам её эмбедит
Но все равно я не понимаю зачем у силина этот код
Код AS1/AS2:
	public static function main(swfRoot:MovieClip):Void 
	{
		swfRoot.__proto__ = Dispatcher.prototype;
		//trace(getTimer());
	}
без этого не работает.Да и вообще не понятно куда этот AS2 класс подключать в AS2 Document Class'а же нет.


Последний раз редактировалось undefined; 20.01.2015 в 13:43.
Старый 20.01.2015, 14:21
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 2  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
undefined,
http://help.adobe.com/ru_RU/FlashPla...l#MIDDLE_CLICK

Цитата:
Но все равно я не понимаю зачем у силина этот код
какая разница? ты на as2 хочешь пописать?
это делегирование.

он делает объект со слушателями, потом записывает этот объект в динамический прототип swfRoot.
до у swfRoot onEnterFrame было undefined, после стало функцией.

Код AS1/AS2:
var obj = {};
obj.asd === undefined;
 
obj.__proto__ = {asd: 123};
obj.asd === 123;

Цитата:
Да и вообще не понятно куда этот AS2 класс подключать в AS2 Document Class'а же нет.
в as1 нет классов, а в as2 есть

с учетом того что mtasc умеет только классы я делаю вывод что тс не смог as2 в flash ide, это код "в первый кадр"
Код AS1/AS2:
_pressed = false;
_lc = new LocalConnection();
onEnterFrame = function(){
	if (Key.isDown(4) && !_pressed){
		_lc.send("middleMouse", "middleMousePress", getTimer());
	}
	_pressed = Key.isDown(4);
}

Старый 20.01.2015, 14:41
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 3  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
это первое что я попробовал
пишем в FD:
Код AS3:
trace(MouseEvent.MIDDLE_MOUSE_DOWN);  //undefined
соответственно лисенер туда не повесишь
Цитата:
с учетом того что mtasc умеет только классы я делаю вывод что тс не смог as2 в flash ide, это код "в первый кадр"
Все верно,
Этот mtasc, я так понял, внешний компилятор? а где его найти можно?

Старый 20.01.2015, 14:54
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 4  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
undefined, версию fp выстави 11.2, в опциях компилятора допиши -swf-version=15

http://www.mtasc.org/#download
не нужен тебе mtasc если в as3 оно есть

Старый 20.01.2015, 16:03
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 5  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
у меня стоит версия 14.0, поставил 11.2 - без изменений.
в инете все почему-то пишут что таки не умеет as3
Я думаю это связано с тем, что не у всех есть колесо. На старых маках, например, вообще 1 кнопка на мыше, на новых не знаю как.
Да и существование топика из 1-го сообщения как-бы намекает
Оно есть в рамках AIR
as3-mousewheeldown-listener
оттуда
Цитата:
Though I never used it there's MIDDLE_CLICK event which works only in AIR apps

Старый 20.01.2015, 16:19
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 6  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
нажми меня я демка с работающей средней кнопкой мыши

Цитата:
Да и существование топика из 1-го сообщения как-бы намекает
а ниче что было это шесть лет назад?

Цитата:
в инете все почему-то пишут что таки не умеет as3
кто все? я тебе говорю что работает, я для тебя пустое место что ли?
http://flashrealtime.com/demos/newmousefeatures/
http://tomkrcha.com/?p=2621

Цитата:
Я думаю это связано с тем, что не у всех есть колесо. На старых маках, например, вообще 1 кнопка на мыше, на новых не знаю как.
как бы это вообще не аргумент. не у всех есть джойстики, но их почему то прикрутили. вебки не у всех есть - тоже прикрутили.
куда более вероятно что у человека не будет монитора чем мышки с третей кнопкой, потому что я __думаю__ что мышка тупо дешевле монитора

Добавлено через 5 минут
Цитата:
Оно есть в рамках AIR
as3-mousewheeldown-listener
оттуда
Цитата:
Though I never used it there's MIDDLE_CLICK event which works only in AIR apps
ой всё
короче rtfm и хватит этих бестолковых утверждений, я второй раз прошу

нажми меня я демка с работающей средней кнопкой мыши


Последний раз редактировалось nubideus; 20.01.2015 в 16:39.
Старый 20.01.2015, 16:41
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 7  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
хм..занятно, эти фишки что-ли только в 11.2?
Цитата:
в опциях компилятора допиши -swf-version=15
а где это в ФД прописать можно не подскажешь?
Я что-то логику понять не могу в 11.2 фишка появилась, а дальше её что-ли выпилили?

Старый 20.01.2015, 16:51
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 8  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
undefined, слишком толсто, попробуйте потоньше

Старый 20.01.2015, 17:04
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 9  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
я вполне серьезно говорю
FD вообще не видит констант, связанных со средней кнопкой. Мне кажется маловероятным, что эта фишка была только в 11.2
И кстати код из приведенной демки компилится, но при запуске вылетает
[Fault] exception, information=TypeError: Error #2007: Параметр type не должен быть равен нулю.
при попытке повесить лисенер на ср. кнопку

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

Регистрация: Jan 2013
Сообщений: 322
"middleClick" укажи аргументом addEventListener.

undefined, гугли rigth click as3 fd.

Цитата:
я вполне серьезно говорю
а хрен ли ты игноришь мою помощь и придумываешь фигню какую то?

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

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

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


 


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


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