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

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

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

Регистрация: Feb 2008
Сообщений: 72
По умолчанию Можно ли в АС3 отследить нажатие колесика мыши?

В АС 2 было вот так - Key.isDown(4), но насколько я понял аналога Key.isDown в АС3 не существует. Подскажите, как быть?

Старый 28.05.2009, 18:45
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 2  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
Цитата:
Сообщение от Smirnov48 Посмотреть сообщение
но насколько я понял
а как вы понимали?
http://livedocs.adobe.com/flex/2/langref/migration.html поиск по странице isDown

Старый 28.05.2009, 19:58
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 3  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>Подскажите, как быть?
взять на борт as2-флешку, которая отследит нажатие и по LocalConnection доложит

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

Регистрация: Sep 2002
Сообщений: 30,787
silin, много времени потеряется после нажатия. Как минимум один кадр.

Старый 28.05.2009, 21:56
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
да по мне так и черт бы с ним, с этим кадром..
к слову, хотел глянуть сколько теряется, полагая что getTimer() у обоих должен быть от одного начала,
но похоже что getTimer и них разный, потому как получаются сущие копейки по времени: 0..15 мс
смотрел так:
Код AS1/AS2:
//AS2-мувик, следит за средней кнопкой, отправляет "middleMousePress" если нажали
class Dispatcher extends MovieClip
{
	//mtasc entry point
	public static function main(swfRoot:MovieClip):Void 
	{
		swfRoot.__proto__ = Dispatcher.prototype;
		//trace(getTimer());
	}
 
	private var _pressed:Boolean = false;
	private var _lc:LocalConnection = new LocalConnection();
	function onEnterFrame()
	{
		if (Key.isDown(4) && !_pressed)
		{
			_lc.send("middleMouse", "middleMousePress", getTimer());
		}
		_pressed = Key.isDown(4);
	}
}
Код AS3:
package 
{
	import flash.display.*;
	import flash.net.LocalConnection;
	import flash.utils.getTimer;
 
	//LC, ждет от AS2-флешки вызова middleMousePress
	public class MiddleButTest extends Sprite 
	{
		private var _lc:LocalConnection = new LocalConnection();
 
		[Embed(source="dispatcher.swf",  mimeType="application/x-shockwave-flash")]
		private var _dispatcherSWF:Class;
		private var _dispatcher:AVM1Movie = new _dispatcherSWF() as AVM1Movie;
 
		public function MiddleButTest():void 
		{
			_lc.client = this;
			_lc.connect("middleMouse");
		}
 
		public function middleMousePress(time:int ):void
		{
			trace("MIDDLE_MOUSE, dt: "+(time-getTimer()));
		}
 
	}
 
}

Старый 28.05.2009, 22:42
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 6  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
При внедрении флешки, внедренная флешка создается на кадр позже. Тут нужно синхронизировать как-то по-другому.
__________________
TankiOnline
Я разработчик Alternativa3D

Старый 28.05.2009, 23:02
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
getTimer : Returns the number of milliseconds that have elapsed since Flash Player was initialized

по идее должна быть единая точка отсчета, т.е. пусть хоть через полчаса создается..
но возможно для avm1 не все так просто

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

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

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


 


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


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