본문 바로가기

Starling

Starling - 플래시 IDE에서 작업할경우 모바일 AIR3.2 에서 WMODE 에러

AIR3.2 가 나왔다. 즉 모바일에서도 이제 stage3D를 사용할 수 있다.


테스트를 위해 Starling 프레임워크로 만든걸 모바일 디바이스에 설치 해보았다.



....?

실행이 되어야 하는데 되지 않는다.
원인을 제대로 집자면 stage3D 객체에서 EventError.ERROR 가 생겨서 그렇다.

아래는 Starling 클래스 속 코드이다



wmode를 gpu로 세팅하고 퍼블리리 하든 xml에서 직접 direct로 바꾸든 모바일에 설치하면 제대로 되지 않는다.
물론 작업환경에서는 바르게 실행된다.
아무리 발버둥 쳐도안된다 ㅋㅋㅋ

원인은 플래시 IDE였다.
같은코드를 플래시 빌더나 이클립스로 작성한 후 앱으로 컴파일 하여 설치해보면 아무런 문제없이 제대로 나오는 반면
플래시IDE에서 Air for Android 로 작업하면 나오지 않는다.

-app.xml 파일을 열어 수정한다해도 플래시IDE에서 퍼블리시를 하면 옵션에서 세팅한 값으로 다시 변경되는데

바로 그것 때문인것같다.(플래시IDE에서는 air 퍼블리싱에서 wmode를 direct를 설정할 수 없다);

이문제는 Starling포럼에도 제기되었다.
http://forum.starling-framework.org/topic/publish-for-mobile-from-cs5-ide#post-2809 

사실 그냥 빌더로 작업하면 되긴 되지만..

플래시IDE를 활용하면 얻는 장점이 많아 나같은경우는 대부분의작업을
플래시빌더에서 Flash Professional Project로 한다.

비트맵 이미지 등의 소스 활용하고 관리하기도 개인적으로 fla의 라이브러리에 있는게 사용하기 편하기도 하고..
타임라인의 모션의 장점을 포기하기도 힘들다.

어째든 혹시 이런문제를 겪는다면 작업을 플래시IDE에서 한게 원인일수도 있겠다.

해결방법은 

-app.xml에서 직접
<renderMode>direct</renderMode> 로 지정한 뒤
이파일을 읽기전용으로 바꾼다.
그럼 플래시에서 컴파일할때 렌더모드를 바꾸는걸 방지할수 있다.
 



'Starling' 카테고리의 다른 글

Starling - Introducing 번역 2 > Display List , Event Model , Touch Events  (6) 2012.10.31
Starling - Introducing 번역 1 > 준비  (16) 2012.05.05
Starling - TouchEvent  (0) 2012.04.30
Starling - 참고사이트  (0) 2012.02.24
Starling  (0) 2012.02.23