• AS3中的条件编译


    转自:http://bbs.9ria.com/thread-170721-1-1.html 条件编译一般用来控制同一个项目的多个版本,如游戏中,上不同平台的版本需要实现不同的平台接口.条件编译可以在一个项目方便的控制版本的同时不增加编译后的程序文件大小(这对 web 游戏很重要,第一次加载的速度越快,则可能完成游戏新手引导的人会越多.),同时还不损耗程序的性能. 在flash builder中选择要进行设置的项目 -> 右击 -> 选择"属性" -> 选择"ActionScript编译器" -> "附加的编译器参数"中指定以下参数: -define=CONFIG::CHINESE,false -define=CONFIG::JAPANESE,false -define=CONFIG::ENGLISH,true 最后的false/true,是指定编译那一个版,如果要编译中文版,就进行如下修改,依此类推 -define=CONFIG::CHINESE,true -define=CONFIG::JAPANESE,false -define=CONFIG::ENGLISH,false
    
    package
    {
            import flash.display.Sprite;
            import flash.text.TextField;
            
            /**
             * 条件编译演示(在多版本控制中比较好用,比如下面指定的"中文版","日文版","英文版".在项目中也可以用来控制 web 版和 pad 版)
             * <p>编译后的代码量不会增加,因它是编译时进行处理的.<b>所谓的条件编译是指:<font color="#ff0000">根据指定的条件:选择性的编译其中的某一部分</font></b></p>
             * <p>需要在项目的编译选项中附加如下编译常量:</p>
             * <listing version="3.0">
             * -define=CONFIG::CHINESE,false
             * -define=CONFIG::JAPANESE,false
             * -define=CONFIG::ENGLISH,true
             * </listing>
             * 编译选项的设置:
             * <table>
             * <tr>
             *         <td>flash builder</td><td>选择要进行设置的项目 -> 右击 -> 选择"属性" -> 选择"ActionScript编译器" -> "附加的编译器参数"中指定</td>
             * </tr>
             * <tr>
             * <td colspan="2">其它的参见:<a href="http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_21.html">http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_21.html</a></td>
             * </tr>
             * @author blank
             * 
             */
            public class conditionCompile extends Sprite
            {
                    /**
                     * 名字
                     * @return 
                     * 
                     */
                    private function get pName():String{
                            CONFIG::CHINESE{
                                    return "小明";
                            }
                            CONFIG::JAPANESE{
                                    return "梅川库子";
                            }
                            CONFIG::ENGLISH{
                                    return "鸡姆";
                            }
                    }
                    
                    /**
                     * 国籍
                     * @return 
                     */
                    CONFIG::CHINESE{
                            private function get nationality():String{
                                    return "中国"
                            }
                    }
                    CONFIG::JAPANESE{
                            private function get nationality():String{
                                    return "日本"
                            }
                    }
                    CONFIG::ENGLISH{
                            private function get nationality():String{
                                    return "英国"
                            }
                    }
                    
                    public function conditionCompile()
                    {
                            var txf:TextField=new TextField();
                            txf.text="名字:" + pName + "\n" +
                                    "国籍:" + nationality;
                            
                            txf.width=txf.textWidth + 4;
                            txf.height=txf.textHeight + 4;
                            addChild(txf);
                    }
            }
    }
    
  • 相关阅读:
    前端笔记之React(五)Redux深入浅出
    前端笔记之React(四)生命周期&Virtual DOM和Diff算法&日历组件开发
    前端笔记之React(三)使用动态样式表&antd&React脚手架&props实战
    前端笔记之React(二)组件内部State&React实战&表单元素的受控
    前端笔记之React(一)初识React&组件&JSX语法
    详解Asp.net MVC DropDownLists
    String.Format格式说明
    jquery日历datepicker的使用方法
    asp.net文本编辑器(FCKeditor)
    将jira添加至开机自启动
  • 原文地址:https://www.cnblogs.com/AS30/p/3113263.html
Copyright © 2020-2023  润新知