root/as2/Ojos/sample/eventBroadcaster/Main_EventBroadcaster.as

リビジョン 116, 1.9 kB (コミッタ: ido, コミット時期: 1 年 前)

サンプル放流。

Line 
1 import jp.ojos.event.EventBroadcaster;
2
3 /**
4  * EventBroadcasterの使用サンプル
5  *
6  * @author Tsuyoshi Aizu
7  */
8 class Main_EventBroadcaster extends MovieClip
9 {
10         private var $eventBroadcaster:EventBroadcaster;
11         private var $obj1:Object;
12         private var $obj2:Object;
13
14         public function Main_EventBroadcaster()
15         {
16                 super( );
17                
18                 this.$eventBroadcaster = new EventBroadcaster();
19                 this.$obj1 = new Object();
20                 this.$obj2 = new Object();
21                
22                 this.$obj1['_name'] = '$obj1';
23                 this.$obj2['_name'] = '$obj2';
24                
25                 this.$obj1['method1'] = this.$obj2['method1'] = function(sender:Object, message:String):Void {
26                         trace(this['_name']);
27                         trace(sender['_name'] + ' call method1.' );
28                         trace('message is "' + message + '"');
29                 };
30                
31                 this.$obj1['method2'] = function(sender:Object, message1:String, message2:String):Void {
32                         trace(this['_name']);
33                         trace(sender['_name'] + ' call method2.' );
34                         trace('message1 is "' + message1 + '"');
35                         trace('message2 is "' + message2 + '"');
36                 };
37                
38                 this.$obj2['method2'] = function(sender:Object, message2:String, message1:String, message3:String):Void {
39                         trace(this['_name']);
40                         trace(sender['_name'] + ' call method2.' );
41                         trace('message1 is "' + message1 + '"');
42                         trace('message2 is "' + message2 + '"');
43                         trace('message3 is "' + message3 + '"');
44                 };
45                
46                 this.$eventBroadcaster.addEventObserver(this.$obj1, 'method1');
47                 this.$eventBroadcaster.addEventObserver(this.$obj2, 'method1');
48                 this.$eventBroadcaster.addEventObserver(this.$obj1, 'method2', undefined);
49                 this.$eventBroadcaster.addEventObserver(this.$obj2, 'method2', undefined, function():Array{
50                         var _array:Array = arguments;
51                         _array.push(this['_name']);
52                         return _array;
53                 });
54                
55                 this.$eventBroadcaster.dispatchEvent('method1', this, 'hello world!!');
56                 this.$eventBroadcaster.dispatchEvent('method2', this, 'hello world!!', 'welcome');
57         }
58 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。