チェンジセット 1339: as3/OSCemote/branches/saqoosha
- コミット日時:
- 2008/09/19 02:33:36 (1 年前)
- ファイル:
-
- as3/OSCemote/branches/saqoosha/samples/Sample.as (更新) (1 diff)
- as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/OSCemote.as (更新) (3 diffs)
- as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/event/OSCemoteAccelerationEvent.as (追加)
- as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/event/OSCemoteButtonEvent.as (追加)
- as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/event/OSCemoteEvent.as (更新) (1 diff)
- as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/event/OSCemoteSegmentEvent.as (追加)
- as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/event/OSCemoteSliderEvent.as (追加)
- as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/event/OSCemoteSwitchEvent.as (追加)
- as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/event/OSCemoteTouchEvent.as (追加)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/OSCemote/branches/saqoosha/samples/Sample.as
r1337 r1339 1 package 2 { 3 import flash.display.Sprite; 4 1 package { 5 2 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 8 12 [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 12 16 private var oscemote:OSCemote; 13 14 public function Sample() 15 { 17 18 public function Sample() { 16 19 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); 18 27 oscemote.connect(); 19 28 } 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); 24 32 } 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 } 26 60 } 27 61 } 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 1 package uranodai.oscemote { 7 2 import it.h_umus.osc.OSCArgument; 8 3 import it.h_umus.osc.OSCConnection; … … 11 6 import it.h_umus.osc.OSCPacket; 12 7 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; 18 14 15 import flash.events.Event; 16 import flash.events.EventDispatcher; 17 import flash.events.IOErrorEvent; 18 19 19 public class OSCemote extends EventDispatcher 20 20 { … … 48 48 { 49 49 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; 58 95 } 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 // } 64 113 } 65 114 66 private function onTuio2Dcur(msg:OSCMessage, data:Array):void67 {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):void75 {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 // } 78 127 79 128 } as3/OSCemote/branches/saqoosha/src/uranodai/oscemote/event/OSCemoteEvent.as
r1337 r1339 6 6 { 7 7 public static const UPDATE:String = "update"; 8 public static const CHANGE:String = 'change'; 8 9 9 10 public var data:Object;

