2011-10-04 16 views
3

ActionScript3.0에서 Stage3D API를 사용하여 3D 게임을 작성하려고합니다. playerglobal.swc을 내 frameworks/libs/player/11.0 디렉토리에 복사하고 frameworks/flex-config.xml 파일을 11.0.0swf-version13으로 변경하여 파일을 수정했습니다.Flash Player 11의 Stage3D가 표시되지 않습니다.

mxmlc을 사용하여 ActionScript 3.0 파일을 컴파일 할 때 -target-player=11.0.0-static-link-runtime-shared-libraries=true 옵션을 설정합니다. 이제는 컴파일 할 때 com.adobe.utils.AGALMiniAssembler 또는 flash.display.Stage3D을 가져올 때 오류가 발생하지 않으므로 문제가 없다고 가정합니다.

나는 Opera에서 컴파일 된 SWF 파일을 실행하고 있으며 오늘 공개적으로 발표 된 최신 Flash Player (버전 11.0.1.152) (건배; D)를 사용하고 있습니다. Zombie Tycoon을 플레이 할 수 있기 때문에 플레이어와 아무 문제가없는 것 같습니다. 그러나 SWF 파일을 재생할 때 Stage3D가 표시되지 않습니다. 스테이지에 연결된 다른 모든 표시 객체가 표시됩니다.

구성이나 코드에 문제가 있다고 생각되지만 정확하게 지적 할 수는 없습니다. 사용중인 코드는 Labs @ Jam3에서 간단히 복사되었습니다. 뷰포트에 문제가 있다고 생각하여 간단히 stage.stage3Ds[0].viewPort=new Rectangle(0, 0, 980, 570);stage.stage3Ds[0].x=0; stage.stage3Ds[0].y=0;으로 바꿨습니다. 아마 그게 문제의 원인입니다.

나는 웹상에서 해결책을 찾고 있었지만 찾지 못했습니다. 어떤 도움을 주시면 감사하겠습니다. 그러나 Away3D와 같은 프레임 워크는 낮은 수준의 기능을 사용하기를 원하지 않기 때문에 (프로그래밍에 익숙하기 때문에)주의하십시오. 더 자세한 정보가 필요하면 질문하십시오.

+0

* 최신 playerglobal.swc를 갖고 있는지 확인하십시오. – Miha

+0

또한 플래시 무비를 html로 보면 올바른 wmode 매개 변수 (http://kb2.adobe.com/cps/127/tn_12701.html)를 확인할 수 있습니다. – Miha

+1

_ @ Miha_ - 고마워요. 'wmode' 매개 변수를'direct'로 설정하면 문제가 해결됩니다. –

답변

4

@Miha - 내 질문에 답변 해 주셔서 감사합니다. wmode 매개 변수를 direct으로 설정하면 매력처럼 작동합니다. Stage3D API는 transparent, opaque 또는 window 모드에서는 작동하지 않습니다. 사람이 비슷한 문제가있는 경우, 여기에 문제를 해결 내 HTML 코드입니다 :

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="UTF-8"\> 
    <title>Hello Stage3D!</title> 
    </head> 
    <body> 
    <object width="800" height="600" data="HelloStage3D.swf"> 
     <param name="wmode" value="direct"/> 
    </object> 
    </body> 
</html> 

이 Stage3D API를 사용하려면, 당신은 directwmode 매개 변수를 설정해야합니다. 다른 것은 효과가 없습니다. 9 호선이 필요합니다.