reactor使うだけ

by kuma360
2つ同時に開いてテストする。片方の描画がもう片方にも反映される。
♥0 | Line 33 | Modified 2010-08-21 20:37:53 | MIT License
play

ActionScript3 source code

/**
 * Copyright kuma360 ( http://wonderfl.net/user/kuma360 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/9QfJ
 */

//2つ同時に開いてテストする。片方の描画がもう片方にも反映される。
package {
    import flash.display.Sprite;
    import flash.events.Event;
    import net.user1.reactor.IClient;
    import net.user1.reactor.Reactor;
    import net.user1.reactor.ReactorEvent;
    import net.user1.reactor.Room;
    import net.user1.reactor.RoomEvent;
    
    public class Main extends Sprite {
        
        private var _reactor:Reactor = new Reactor();
        private var _room:Room;
        
        public function Main () {
            _reactor.addEventListener ( ReactorEvent.READY , Ready );
            _reactor.connect ( "tryunion.com" , 9100 );
        }
        
        private function Ready ( e:ReactorEvent ):void {
            _room = _reactor.getRoomManager().createRoom ( "wonderfl.kuma360.TestReactor" ) ;
            _room.addEventListener ( RoomEvent.JOIN , Join ) ;
            _room.addMessageListener ( "draw" , Draw ) ;
            _room.join () ;
        }
        
        private function Join ( e:RoomEvent ):void {
            addEventListener( Event.ENTER_FRAME , function ( e:Event ):void {
                _room.sendMessage ( "draw", true, null, mouseX , mouseY );
            });
        }
        
        private function Draw ( fromClient:IClient , X:Number , Y:Number ):void {
            graphics.beginFill ( 0 , 1 ) ;
            graphics.drawRect ( X , Y , 5 , 5 ) ;
            graphics.endFill () ;
        }
        
    }
    
}