Tip And Tech2008.07.06 15:01
AS3에 또하나의 치명적인 버그가 있다. 많은 분들이 swf파일을 만들어 html에 포함시켰을 때 swf의 마우스 휠을 만들어 사용하면 브라우저창에도 같이 휠이 사용되어 버린다. 즉 swf에 휠스크롤이 있고 브라우저에도 휠스크롤이 있을 때 둘이 동시에 적용된다는 문제가 있다 현재 어도비에서는 아예 브라우저에 스크롤을 막아버렸다..이것은 내부적으로 이러한 문제를 인식하고 있음을 알 수 있으므로 곧 해결방안이 나올 듯 싶다....
현재로서는 이러한 문제가 없는 AS1이나 AS2의 스테이지를 AS3에 불러와 해결하는 방안 밖에는 없다.
this.onMouseWheel = function(){
 }
Mouse.addListener(this)

위와 같이 선언된 swf파일을 만들어 as3프로젝트의 스테이지로 불러와 붙인 다음 실행하면 swf에만 마우스 휠을 사용할 수 있다.

보다 세련되게 하고 싶으면 프로토타입을 만들어 사용하면 된다. 가령 확장자를 xprime등으로 붙인 다음 이를 읽어와 ByteArray를 사용하여 화면에 붙이면 된다. 단 불러올 때 Embed의 속성 중에 mimeType을 "application/octet-stream"으로 설정하여야 한다.
[Embed(source="./assets/MouseWheelEnable.xprime" , mimeType="application/octet-stream") ] private var MouseWheelClass:Class;

var wheel:ByteArray = new MouseWheelClass() as ByteArray;
var ldr:Loader = new Loader()
ldr.loadBytes( wheel );
addChild( ldr );

   

Posted by 정윤수 버터백통