チェンジセット 1339: as3/OSCemote/branches/saqoosha

差分発生行の前後
無視リスト:
コミット日時:
2008/09/19 02:33:36 (1 年前)
コミッタ:
saqoosha
ログメッセージ:

ええええい、こんどこそ。

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/OSCemote/branches/saqoosha/samples/Sample.as

    r1337 r1339  
    1 package 
    2 
    3         import flash.display.Sprite; 
    4          
     1package { 
    52        import uranodai.oscemote.OSCemote; 
    6         import uranodai.oscemote.event.OSCemoteEvent; 
    7          
     3        import uranodai.oscemote.event.OSCemoteAccelerationEvent; 
     4        import uranodai.oscemote.event.OSCemoteButtonEvent; 
     5        import uranodai.oscemote.event.OSCemoteSegmentEvent; 
     6        import uranodai.oscemote.event.OSCemoteSliderEvent; 
     7        import uranodai.oscemote.event.OSCemoteSwitchEvent; 
     8        import uranodai.oscemote.event.OSCemoteTouchEvent; 
     9 
     10        import flash.display.Sprite;     
     11 
    812        [SWF(width="400",height="300",frameRate="60",backgroundColor="#FFFFFF")] 
    9          
    10         public class Sample extends Sprite 
    11         { 
     13 
     14        public class Sample extends Sprite { 
     15 
    1216                private var oscemote:OSCemote; 
    13                  
    14                 public function Sample() 
    15                 { 
     17 
     18                public function Sample() { 
    1619                        oscemote = new OSCemote(); 
    17                         oscemote.addEventListener(OSCemoteEvent.UPDATE, handleUpdate); 
     20                        oscemote.addEventListener(OSCemoteButtonEvent.BUTTON_DOWN, this._onButtonDown); 
     21                        oscemote.addEventListener(OSCemoteButtonEvent.BUTTON_UP, this._onButtonUp); 
     22                        oscemote.addEventListener(OSCemoteSliderEvent.SLIDER_CHANGE, this._onSliderChange); 
     23                        oscemote.addEventListener(OSCemoteSegmentEvent.SEGMENT_CHANGE, this._onSegmentChange); 
     24                        oscemote.addEventListener(OSCemoteSwitchEvent.STATE_CHANGE, this._onSwitchStateChange); 
     25                        oscemote.addEventListener(OSCemoteTouchEvent.TOUCH, this._onTouch); 
     26                        oscemote.addEventListener(OSCemoteAccelerationEvent.ACCELERATION_CHANGE, this._onAccelChange); 
    1827                        oscemote.connect(); 
    1928                } 
    20                  
    21                 private function handleUpdate(e:OSCemoteEvent):void 
    22                 { 
    23                         trace(e.data); 
     29 
     30                public function _onButtonDown(e:OSCemoteButtonEvent):void { 
     31                        trace('_onButtonDown', e.button); 
    2432                } 
    25                  
     33 
     34                public function _onButtonUp(e:OSCemoteButtonEvent):void { 
     35                        trace('_onButtonUp', e.button); 
     36                } 
     37 
     38                public function _onSliderChange(e:OSCemoteSliderEvent):void { 
     39                        trace('_onSliderChange', e.index, e.value); 
     40                } 
     41 
     42                public function _onSegmentChange(e:OSCemoteSegmentEvent):void { 
     43                        trace('_onSegmentedChange', e.value); 
     44                } 
     45 
     46                public function _onSwitchStateChange(e:OSCemoteSwitchEvent):void { 
     47                        trace('_onSwitchStateChange', e.index, e.state); 
     48                } 
     49 
     50                public function _onTouch(e:OSCemoteTouchEvent):void { 
     51                        trace('_onTouch', e.count); 
     52                        for (var i:int = 0; i < e.count; i++) { 
     53                                trace('---', i, e.getPosition(i)); 
     54                        } 
     55                } 
     56 
     57                public function _onAccelChange(e:OSCemoteAccelerationEvent):void { 
     58                        trace('_onAccelChange', [e.x, e.y, e.z]); 
     59                } 
    2660        } 
    2761} 
  • as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/OSCemote.as

    r1337 r1339  
    1 package uranodai.oscemote 
    2 
    3         import flash.events.Event; 
    4         import flash.events.EventDispatcher; 
    5         import flash.events.IOErrorEvent; 
    6          
     1package uranodai.oscemote { 
    72        import it.h_umus.osc.OSCArgument; 
    83        import it.h_umus.osc.OSCConnection; 
     
    116        import it.h_umus.osc.OSCPacket; 
    127         
    13         import uranodai.oscemote.event.OSCemoteEvent; 
    14         import uranodai.oscemote.model.acceleration.AccelerationXYZ; 
    15         import uranodai.oscemote.model.tuio.Tuio2Dcur; 
    16         import uranodai.oscemote.osc.OSCemoteArgument; 
    17         import uranodai.oscemote.osc.OSCemoteMessage; 
     8        import uranodai.oscemote.event.OSCemoteAccelerationEvent; 
     9        import uranodai.oscemote.event.OSCemoteButtonEvent; 
     10        import uranodai.oscemote.event.OSCemoteSegmentEvent; 
     11        import uranodai.oscemote.event.OSCemoteSliderEvent; 
     12        import uranodai.oscemote.event.OSCemoteSwitchEvent; 
     13        import uranodai.oscemote.event.OSCemoteTouchEvent; 
    1814         
     15        import flash.events.Event; 
     16        import flash.events.EventDispatcher; 
     17        import flash.events.IOErrorEvent;                
     18 
    1919        public class OSCemote extends EventDispatcher 
    2020        { 
     
    4848                { 
    4949                        var packet:OSCPacket = e.data as OSCPacket; 
    50                         var data:Array = []; 
    51                         for each(var msg:OSCMessage in packet.messages){ 
    52                                 //trace(msg.name) 
    53                                 if(msg.name == OSCemoteMessage.TUIO_2DCUR){ 
    54                                         onTuio2Dcur(msg, data); 
    55                                 }else if(msg.name == OSCemoteMessage.ACCELERATION_XYZ){ 
    56                                         onAccelerationXYZ(msg, data); 
    57                                 } 
     50//                      trace('oscPacketInHandler ---------'); 
     51//                      for each (var msg:OSCMessage in packet.messages) { 
     52//                              trace(msg.name); 
     53//                              for each (var args:OSCArgument in msg.arguments) { 
     54//                                      trace('   ', args.type, '->', args.value); 
     55//                              } 
     56//                      } 
     57                         
     58                        var msg0:OSCMessage = packet.messages[0]; 
     59                        var names:Array = msg0.name.split('/'); 
     60//                      trace(names); 
     61                        var ival:int; 
     62                        var fval:Number; 
     63                        var bval:Boolean; 
     64                        switch (names[1]) { 
     65                                case 'button': 
     66                                        ival = int(OSCArgument(msg0.arguments[0]).value); 
     67                                        var btnEv:OSCemoteButtonEvent = new OSCemoteButtonEvent(ival ? OSCemoteButtonEvent.BUTTON_DOWN : OSCemoteButtonEvent.BUTTON_UP, names[2]); 
     68                                        this.dispatchEvent(btnEv); 
     69                                        break; 
     70                                case 'slider': 
     71                                        fval = Number(OSCArgument(msg0.arguments[0]).value); 
     72                                        var sldEv:OSCemoteSliderEvent = new OSCemoteSliderEvent(OSCemoteSliderEvent.SLIDER_CHANGE, parseInt(names[2]), fval); 
     73                                        this.dispatchEvent(sldEv); 
     74                                        break; 
     75                                case 'segmented': 
     76                                        ival = int(OSCArgument(msg0.arguments[0]).value); 
     77                                        var segEv:OSCemoteSegmentEvent = new OSCemoteSegmentEvent(OSCemoteSegmentEvent.SEGMENT_CHANGE, ival); 
     78                                        this.dispatchEvent(segEv); 
     79                                        break; 
     80                                case 'switch': 
     81                                        bval = Boolean(OSCArgument(msg0.arguments[0]).value); 
     82                                        var swtEv:OSCemoteSwitchEvent = new OSCemoteSwitchEvent(OSCemoteSwitchEvent.STATE_CHANGE, parseInt(names[2]), bval); 
     83                                        this.dispatchEvent(swtEv); 
     84                                        break; 
     85                                case 'tuio': 
     86                                        this.dispatchEvent(new OSCemoteTouchEvent(OSCemoteTouchEvent.TOUCH, packet)); 
     87                                        break; 
     88                                case 'acceleration': 
     89                                        var x:Number = Number(OSCArgument(msg0.arguments[0]).value); 
     90                                        var y:Number = Number(OSCArgument(msg0.arguments[1]).value); 
     91                                        var z:Number = Number(OSCArgument(msg0.arguments[2]).value); 
     92                                        var accEv:OSCemoteAccelerationEvent = new OSCemoteAccelerationEvent(OSCemoteAccelerationEvent.ACCELERATION_CHANGE, x, y, z); 
     93                                        this.dispatchEvent(accEv); 
     94                                        break; 
    5895                        } 
    59                         if(data.length>0){ 
    60                                 var event:OSCemoteEvent = new OSCemoteEvent(OSCemoteEvent.UPDATE); 
    61                                 event.data = data; 
    62                                 dispatchEvent(event); 
    63                         } 
     96                         
     97                         
     98//                      var packet:OSCPacket = e.data as OSCPacket; 
     99//                      var data:Array = []; 
     100//                      for each(var msg:OSCMessage in packet.messages){ 
     101//                              trace(msg.name, '->', msg.arguments.length); 
     102//                              if(msg.name == OSCemoteMessage.TUIO_2DCUR){ 
     103//                                      onTuio2Dcur(msg, data); 
     104//                              }else if(msg.name == OSCemoteMessage.ACCELERATION_XYZ){ 
     105//                                      onAccelerationXYZ(msg, data); 
     106//                              } 
     107//                      } 
     108//                      if(data.length>0){ 
     109//                              var event:OSCemoteEvent = new OSCemoteEvent(OSCemoteEvent.UPDATE); 
     110//                              event.data = data; 
     111//                              dispatchEvent(event); 
     112//                      } 
    64113                } 
    65114                 
    66               private function onTuio2Dcur(msg:OSCMessage, data:Array):void 
    67               { 
    68                       var head:OSCArgument = msg.arguments[0] as OSCArgument; 
    69                       if(head.value == OSCemoteArgument.SET){ 
    70                               data.push(new Tuio2Dcur(msg)); 
    71                       } 
    72               } 
    73                
    74               private function onAccelerationXYZ(msg:OSCMessage, data:Array):void 
    75               { 
    76                       data.push(new AccelerationXYZ(msg)); 
    77               } 
     115//            private function onTuio2Dcur(msg:OSCMessage, data:Array):void 
     116//            { 
     117//                    var head:OSCArgument = msg.arguments[0] as OSCArgument; 
     118//                    if(head.value == OSCemoteArgument.SET){ 
     119//                            data.push(new Tuio2Dcur(msg)); 
     120//                    } 
     121//            } 
     122//             
     123//            private function onAccelerationXYZ(msg:OSCMessage, data:Array):void 
     124//            { 
     125//                    data.push(new AccelerationXYZ(msg)); 
     126//            } 
    78127 
    79128        } 
  • as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/event/OSCemoteEvent.as

    r1337 r1339  
    66        { 
    77                public static const UPDATE:String = "update"; 
     8                public static const CHANGE:String = 'change'; 
    89                 
    910                public var data:Object;