Показать сообщение отдельно
Старый 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()));
		}
 
	}
 
}