Flash Builder上的AS3源代码编译成功无法在IntelliJ上编译

时间:2017-01-04 03:12:17

标签: actionscript-3 flash flex intellij-idea actionscript

我们有一个可以在Flash Builder 4.7上成功编译的AS3项目。

最近我需要重构它。由于Intellij-idea with flash / flex插件似乎提供了更多的重构帮助,我想尝试一下。

所以我安装了Intellij-Idea 2016.3.2终极版。导入现有项目并设置AIR 4.6.0 sdk(可在Flash Builder 4.7安装目录中找到)后,我可以开始构建。

问题是看起来intellij-idea需要比flash builder更严格的语法检查。这是我遇到的一些编译错误:

将生成以下代码:函数不返回值。

    public static function isChrome2():Boolean{
            try {
                return  false;
            } catch(error:Error) {
                return false;
            }
    }

以下代码生成:重复变量定义(关于变量tempVertexData)

    public static function setGamePlueVertexData2( vertexData:Vector.<Number> ):void {

            if (SceneReader.NUM_PER_VERTEX == SceneReader.VERTEXSIZE) {
                var tempVertexData:Vector.<Number> = Vector.<Number>(1);
            }
            else {
                var tempVertexData:Vector.<Number> = Vector.<Number>(2);
            }
            for( var i:int = 0; i < tempVertexData.length; ++i )
            {
                vertexData[i] = tempVertexData[i];
            }
        }

以下代码将生成:覆盖未标记为覆盖的函数(关于函数initModel)

    public class EffectRenderObject
    {
        public function initModel(entity:LocalClientEntity) :void 
        {

        }
    }
    public class DragonWhirlwindLevelUpEffectRenderObject extends EffectRenderObject {
        private function initModel():void
        {
        }
    }

为什么不编译?如何在intellij-idea中再次编译?

1 个答案:

答案 0 :(得分:1)

好吧,我发现Flash Builder 4.7安装中有3个SDK:

  • 蚀\插件\ com.adobe.flash.compiler_4.7.0.349722 \ AIRSDK
  • 的SDK \ 4.6.0
  • 的SDK \ 3.6.0

我最初复制了第二个。复制第一个后,项目可以再次编译。