버튼 Rollover, RollOut, Release
App.as==============================================================================================
package
{
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
public class App extends Sprite
{
public function App()
{
state_txt.text = "Button test";
sample_btn.addEventListener(MouseEvent.ROLL_OVER, onRollOverHandler);
sample_btn.addEventListener(MouseEvent.ROLL_OUT, onRollOutHandler);
sample_btn.addEventListener(MouseEvent.CLICK, onReleaseHandler);
}
private function onRollOverHandler(e:MouseEvent):void
{
var target:Object = e.target;
target.scaleX = 1.10;
target.scaleY = 1.10;
state_txt.text = "Button rollOver";
}
private function onRollOutHandler(e:MouseEvent):void
{
var target:Object = e.target;
target.scaleX = 1.00;
target.scaleY = 1.00;
state_txt.text = "Button rollOut";
}
private function onReleaseHandler(e:MouseEvent):void
{
state_txt.text = "Button release";
}
}
}
=====================================================================================================
외부 swf를 load 해 왔을때 버튼 RollOver, RollOut, Release :
load된 swf에 가려(?) 반응하지 않는다. (load된 swf의 사이즈는 가리지(?) 않는다.)
App.as==============================================================================================
package
{
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
public class App extends Sprite
{
private var _loader:Loader;
public function App()
{
state_txt.text = "Button test";
sample_btn.addEventListener(MouseEvent.ROLL_OVER, onRollOverHandler);
sample_btn.addEventListener(MouseEvent.ROLL_OUT, onRollOutHandler);
sample_btn.addEventListener(MouseEvent.CLICK, onReleaseHandler);
loadSwf();
}
private function loadSwf():void
{
_loader = new Loader();
_loader.load(new URLRequest("Loaded.swf"));
this.addChild(_loader);
}
private function onRollOverHandler(e:MouseEvent):void
{
var target:Object = e.target;
target.scaleX = 1.10;
target.scaleY = 1.10;
state_txt.text = "Button rollOver";
}
private function onRollOutHandler(e:MouseEvent):void
{
var target:Object = e.target;
target.scaleX = 1.00;
target.scaleY = 1.00;
state_txt.text = "Button rollOut";
}
private function onReleaseHandler(e:MouseEvent):void
{
state_txt.text = "Button release";
}
}
}
=====================================================================================================
Shape를 생성, 외부에서 load된 swf에 mask를 씌워준다. 버튼 RollOver, RollOut, Release :
이상없이 반응한다.
App.as==============================================================================================
package
{
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
public class App extends Sprite
{
private var _loader:Loader;
public function App()
{
state_txt.text = "Button test";
sample_btn.addEventListener(MouseEvent.ROLL_OVER, onRollOverHandler);
sample_btn.addEventListener(MouseEvent.ROLL_OUT, onRollOutHandler);
sample_btn.addEventListener(MouseEvent.CLICK, onReleaseHandler);
loadSwf();
}
private function loadSwf():void
{
_loader = new Loader();
_loader.load(new URLRequest("Loaded.swf"));
this.addChild(_loader);
var rect:Shape = new Shape();
rect.graphics.beginFill(0xFFFFFF);
rect.graphics.drawRect(0, 0, 550, 100);
rect.graphics.endFill();
this.addChild(rect);
_loader.mask = rect;
}
private function onRollOverHandler(e:MouseEvent):void
{
var target:Object = e.target;
target.scaleX = 1.10;
target.scaleY = 1.10;
state_txt.text = "Button rollOver";
}
private function onRollOutHandler(e:MouseEvent):void
{
var target:Object = e.target;
target.scaleX = 1.00;
target.scaleY = 1.00;
state_txt.text = "Button rollOut";
}
private function onReleaseHandler(e:MouseEvent):void
{
state_txt.text = "Button release";
}
}
}
=====================================================================================================
** 참고 : flash.display.Loader (Flex™ 2 레퍼런스 가이드)
'OM' 카테고리의 다른 글
외부에서 load된 swf 메소드 호출하기 (0) | 2008.06.25 |
---|---|
마우스를 따라 다니는 원 (0) | 2008.06.03 |
에어 배포 (badge.swf) (0) | 2008.06.03 |
에어 디스크립터 파일 (0) | 2008.06.03 |
캐릭터 이동 (2) | 2008.05.11 |
Yahoo WebAPI를 이용한 날씨 위젯 2 (0) | 2008.05.11 |
Yahoo WebAPI를 이용한 날씨 위젯 1 (1) | 2008.05.10 |
Flash Javascript 연동 (ExternalInterface) (0) | 2008.05.07 |
애니메이션 (0) | 2008.05.07 |