0

那么我是如何做到的 - 在 adobe 的网站上找不到任何信息.. 谢谢

更新:这是我所做的:

  • 从 Adob​​e 下载 playerglobal11_2.swc
  • 创建文件夹 Adob​​e/Adobe Flash CS5.5/Common/Configuration/Players/FP11.2,将下载的 swc 重命名为 playerglobal.swc 并将其放入该文件夹中
  • 在 Adob​​e/Adobe Flash CS5.5/Common/Configuration/Players 中复制了 FlashPlayer10_2.xml,将其命名为 FlashPlayer11_2.xml 并编辑以下行

    <player id="FlashPlayer11.2" version="13" asversion="3">
    <name>Flash Player 11.2</name>
    <playerDefinitionPath as2="$(UserConfig)/Classes/FP10;$(UserConfig)/Classes/FP9;$(UserConfig)/Classes/FP8;$(UserConfig)/Classes/FP7" as3="$(AppConfig)/ActionScript 3.0/FP11.2/playerglobal.swc" />
    

现在,当我启动 flash 时,我可以从下拉菜单中选择发布到 Flash Player 11.2,当我在浏览器中发布它(ctrl+F12)时,在第一个关键帧上使用以下代码:

import flash.display.Stage3D;

var stage3d = new Stage3D();   

var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFF0000;
my_fmt.size = 32;
my_fmt.bold = true;
my_fmt.font  = "Arial";

var textF: TextField = new TextField;
textF.defaultTextFormat = my_fmt;
textF.autoSize = TextFieldAutoSize.LEFT;
textF.text = "Hello Flash Player: " + Capabilities.version + "\n" + stage3d;

addChild(textF);

我在调试器中收到此错误:

ArgumentError: Error #2012: Stage3D$ class cannot be instantiated.

显然我错过了什么或做错了,因为我无法访问 FP11 API。

4

4 回答 4

2

我刚刚遇到了同样的问题。我意识到错误 #2012 是运行时错误,因此这意味着编译正常,因此您的设置应该可以正常工作。问题在于玩家方面。这是我解决它的方法:

  1. 确保从此处更新您的 Flash 播放器。如果您的 Web 浏览器已经有更新版本,请使用 Ctrl+F12 在您的 Web 浏览器中进行测试。否则,您需要更新您的 Flash 调试播放器:http: //www.adobe.com/support/flashplayer/downloads.html

  2. 给出的代码不再有效。必须从舞台中检索 Stage3D 参考。

    var stage3d = stage.stage3Ds[0];
    
  3. 出于调试目的,您可以尝试此代码,如果有问题,它将打印版本和错误消息。

    import flash.display.Stage3D;
    
    var my_fmt:TextFormat = new TextFormat();
    my_fmt.color = 0xFF0000;
    my_fmt.size = 32;
    my_fmt.bold = true;
    my_fmt.font  = "Arial";
    
    var textF: TextField = new TextField;
    textF.defaultTextFormat = my_fmt;
    textF.autoSize = TextFieldAutoSize.LEFT;  
    textF.width = this.stage.stageWidth;
    textF.wordWrap = true;
    textF.multiline = true;
    addChild(textF);
    
    
    try
    {
        var stage3d:Stage3D = stage.stage3Ds[0];
        textF.text = "Hello Flash Player: " + Capabilities.version + "\n" + stage3d;
    }
    catch(e:Error)
    {
        textF.text = "Hello Flash Player: " + Capabilities.version + "\n" + e.toString();
    }
    
于 2012-09-13T05:39:51.380 回答
1

一旦您安装了位于那里的 .mxp,您就可以发布为 FP11:

在此处输入图像描述

最后能够使用像Starling这样令人印象深刻的库。

于 2012-04-19T08:43:49.977 回答
1

您可能需要在 FlashPlayer11_2.xml 文件中设置 version="15"(而不是 version="13")。

<player id="FlashPlayer11.2" version="15" asversion="3">
于 2012-05-10T01:30:19.250 回答
0

http://www.flashdeveloper.co/post/20583114199/air32-in-flash-cs-55

于 2012-04-19T08:24:54.450 回答