![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2009
Сообщений: 34
|
Экспериментирую с p2p. Компилирую этот класс. Открываю в 2 окна. В первом двигаю. Во втором шевелится ,но с сильными тормозами. Как-нибудь можно добиться плавности?
package { import flash.display.*; import flash.events.*; import flash.net.*; [SWF(width = 800, height = 600, frameRate = 60)] public class Main extends Sprite { private const SERVER:String = ""; private const DEVKEY:String = ""; private const GROUP:String = "komnata1"; private var _netConnection:NetConnection; private var _netStream:NetStream; private var _netGroup:NetGroup; private var _sprite:Sprite; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { _sprite = new Sprite(); _sprite.graphics.beginFill(0x000000, 1); _sprite.graphics.drawCircle(100, 100, 50); _sprite.graphics.endFill(); addChild(_sprite); _sprite.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); _sprite.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); removeEventListener(Event.ADDED_TO_STAGE, init); _netConnection = new NetConnection() _netConnection.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus) _netConnection.connect(SERVER + DEVKEY) } private function onLive(e:Event):void { var mes:Object = new Object() mes.x = _sprite.x; mes.y = _sprite.y; _netGroup.post(mes); } private function onMouseDown(e:MouseEvent):void { addEventListener(Event.ENTER_FRAME, onLive); _sprite.startDrag(); } private function onMouseUp(e:MouseEvent):void { removeEventListener(Event.ENTER_FRAME, onLive); _sprite.stopDrag(); } private function onNetStatus(e:NetStatusEvent):void { trace(e.info.code); switch(e.info.code) { case "NetConnection.Connect.Success" : onConnect(); break; case "NetStream.Connect.Success" : onStreamConnect(); break; case "NetGroup.Connect.Success" : onGroupConnect(); break; case "NetGroup.Posting.Notify" : posting(e.info.message); break; } } private function onConnect():void { var gs:GroupSpecifier = new GroupSpecifier(GROUP); gs.multicastEnabled = true; gs.postingEnabled = true; gs.serverChannelEnabled = true; _netStream = new NetStream(_netConnection, gs.groupspecWithAuthorizations()); _netStream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus); _netGroup = new NetGroup(_netConnection, gs.groupspecWithAuthorizations()); _netGroup.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus); } private function onStreamConnect():void { _netStream.client = this; } private function onGroupConnect():void { } private function posting(mes:Object):void { _sprite.x = mes.x; _sprite.y = mes.y; } } } |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Только визуально. Используйте твинер для перемещения объекта, когда приходят новые координаты.
Как ускорить соединение, я не знаю. Думаю, что это не подвластно из кода.
__________________
hauts.ru |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|