静岡理工科大学 菅沼ホーム ActionScript 目次 索引

InteractiveObject クラス

[内容]

  マウスとキーボードを使用してユーザーが操作できるすべての表示オブジェクトの基本クラスです.

継承: InteractiveObject → DisplayObjectEventDispatcher → Object

[プロパティ]

[イベント]

[使用例]

  1. この例」では,マウスが矩形または円の内部に入るとその図形にフォーカスされます.以下はそのプログラム( InteractiveObject_focus.as )です.
    package
    {
    	import flash.display.Sprite;
    	import flash.events.MouseEvent;
    
    	[SWF(backgroundColor="0x000000", width="300", height="200", frameRate="30")]
    
    	public class InteractiveObject_focus extends Sprite
    	{
    		private var rect : Sprite;
    		private var cir : Sprite;
    
    		public function InteractiveObject_focus()
    		{
    			init();
    		}
    		
    		private function init():void
    		{
    			stage.stageFocusRect = true;
    
    			rect = new Sprite();
    			rect.graphics.beginFill(0xffff0000);
    			rect.graphics.drawRect(60, 60, 80, 80);
    			rect.graphics.endFill();
    			rect.name = "rectangle";
    			addChild(rect);
    
    			cir = new Sprite();
    			cir.graphics.beginFill(0xff00ff00);
    			cir.graphics.drawCircle(200, 100, 40);
    			cir.graphics.endFill();
    			cir.name = "circle";
    			addChild(cir);
    
    			stage.focus = rect;
    			rect.addEventListener(MouseEvent.ROLL_OUT, onRollOut);
    			rect.addEventListener(MouseEvent.ROLL_OVER, onRollOver);
    			cir.addEventListener(MouseEvent.ROLL_OUT, onRollOut);
    			cir.addEventListener(MouseEvent.ROLL_OVER, onRollOver);
    		}
    
    		private function onRollOut(event:MouseEvent):void {
    			stage.focus = null;
    		}
    
    		private function onRollOver(event:MouseEvent):void {
    			if (event.target.name == "rectangle")
    				stage.focus = rect;
    			else
    				stage.focus = cir;
    		}
    	}
    }
    			

[参照]

Stage クラスEvent クラスFocusEvent クラスMouseEvent クラスKeyboardEvent クラス

静岡理工科大学 菅沼ホーム ActionScript 目次 索引