我正在尝试使用Stage3D API在ActionScript 3.0中编写3D游戏。我已将playerglobal.swc
复制到我的frameworks/libs/player/11.0
目录中,并通过将target-player
更改为11.0.0
和swf-version
至13
来修改frameworks/flex-config.xml
文件。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)。玩家似乎没有问题,因为我可以玩僵尸大亨。但是,当我播放SWF文件时,Stage3D不显示;但连接到舞台的所有其他显示对象都会显示。
我相信我的配置或代码有问题,但我无法确定它。我使用的代码只是从Labs @ Jam3复制而来。我相信视口有问题,所以我简单地用stage.stage3Ds[0].x=0; stage.stage3Ds[0].y=0;
替换了stage.stage3Ds[0].viewPort=new Rectangle(0, 0, 980, 570);
。也许,这是问题的原因。
我一直在寻找一个解决方案遍布全球,但我似乎无法找到它。任何帮助将不胜感激。但是请注意,我不希望使用像Away3D这样的框架,因为我希望使用低级功能(我更喜欢编程)。如果您想了解更多详情,请询问。
*确保你有最新的playerglobal.swc。 – Miha
此外,如果您在html中查看Flash影片,则可以检查正确的wmode参数(http://kb2.adobe.com/cps/127/tn_12701.html)。 – Miha
_ @ Miha_ - 谢谢。将'wmode'参数设置为'direct'解决了这个问题。 –