webgame开发之Flex调用FLash自定义界面

webgame开发之Flex调用FLash自定义界面心得教程类型:原创本帖最后由junxiang于2011-7-307:20编辑今天做游戏主界面,在群里看见有人讨论如何在Flex中调用Flash里面的组建或者自己搭建的界面,所以抽了点时间写了一个游戏开发中常用的聊天组建提供有用之人学习

大家好,又见面了,我是你们的朋友全栈君。

  • 心得教程类型: 原创
    本帖最后由 junxiang 于 2011-7-3 07:20 编辑

    今天做游戏主界面,在群里看见有人讨论如何在Flex中调用Flash里面的组建或者自己搭建的界面,所以抽了点时间写了一个游戏开发中常用的聊天组建提供有用之人学习,觉得没用可以绕道,谢谢!
            其实加载Flash中的自定义的界面有很多方式 比如讲界面转换成swc;发布成swf,或者直接操作fla都可以,不过大家有去玩网页游戏,然后去网页缓存中看资源文件,就会看见很多游戏都有很多空白的swf文件,其实那些大部分都是加密了的swf资源文件(资源发不成swf的好处我就不说了,有兴趣研究的可以去google,百度),下面是我用Flash做的资源swf,然后用Flex加载并显示的例子。
    1、        调用Flash里面的TextArea
    2、        调用Flash里面的TextInput
    3、        调用Flash里面的Button
    以上这些空间都是Flash里面的fl包中的,所以Flex中是没有的,并且fl中的基类组建都比Flex中对应的组建小很多,这个自己去测试!
            详见代码: 

                            import mx.core.UIComponent;                        /** Flash中的聊天界面 */                        private var chatMc:MovieClip ;                        /** Flash中的TextArea */                        private var chat_content:* ;                        /** Flash中的TextInput */                        private var chat_input:* ;                        /** 发送按钮 */                        private var chat_send:* ;                        /** 资源加载器 */                        private var swfLoader:Loader ;                        /** 发送私聊的玩家名称 */                        private var secretChatRoleName:String = "一笑奈何" ;                        /** MC Contener */                        private var uiComponent:UIComponent ;                                        private function initChatUi():void                        {                                uiComponent = new UIComponent();                                        uiComponent.width = 600 ;                                uiComponent.height= 400 ;                                this.addChild(uiComponent) ;                                swfLoader = new Loader() ;                                swfLoader.load(new URLRequest("assets/chatui.swf")) ;                                swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete) ;                        }                                                private function loadComplete(evt:Event):void                        {                                var chat:Class = swfLoader.contentLoaderInfo.applicationDomain.getDefinition("Chat") as Class ;                                chatMc                 = new chat() as MovieClip ;                                chat_content = chatMc.getChildByName("chat_content") ;                                chat_input = chatMc.getChildByName("chat_input") ;                                                                chat_send         = chatMc.getChildByName("chat_send") ;                                                                chat_send.label = "发送" ;                                chat_send.addEventListener(MouseEvent.CLICK, sendMessage) ;                                uiComponent.addChild(chatMc) ;                        }                                                private function sendMessage(evt:MouseEvent):void                        {                                /** 聊天信息模板 */                                var chatStr:String = "<FONT FACE='宋体' SIZE='16' COLOR='#CFCF00'><b>【世界】<a href='event:" + secretChatRoleName + "'><u>" + secretChatRoleName + "</u></a>:" + chat_input.text + "</b></FONT>\n" ;                                chat_content.htmlText += chatStr ;                                chat_input.text = "" ;                        }

    简析:用TextArea的好处在于其htmlText支持html文本,这个不仅支持网页中的字体,段落,等等,还支持表情,网上很多讲表情聊天制作的没怎么看过,不过用这个是可以轻易实现的;不仅如此,<a href=’event:” + secretChatRoleName + “‘><u>” + secretChatRoleName + “</u></a> 的Link还可以监听玩家的名称,装备的名称,这样也很容易的就实现了再聊天窗口中查看玩家的信息和游戏装备属性!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137788.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • git checkout简介

    git checkout简介

    2021年10月20日
  • vim编辑模式、vim命令模式

    vim编辑模式、vim命令模式

  • simhash的应用范围_Simplorer

    simhash的应用范围_Simplorer目录0x01海量数据文本相似度解决方式SimHash+分词方法+基于内容推荐算法0x02海量simhash查询(1)抽屉原理(2)建立索引(3)判重(4)优化效果(5)权衡时间、空间(6)存储选型0x03比较相似度0x01海量数据文本相似度解决方式SimHash+分词方法+基于内容推荐算法原文链接:海量数据文本相似度解决方式SimHash+…

  • java拦截器handler_java拦截器HandlerInterceptor的preHandle、postHandle与afterCompletion三个方法…

    java拦截器handler_java拦截器HandlerInterceptor的preHandle、postHandle与afterCompletion三个方法…preHandle调用时间:Controller方法处理之前执行顺序:链式Intercepter情况下,Intercepter按照声明的顺序一个接一个执行若返回false,则中断执行,注意:不会进入afterCompletionpostHandle调用前提:preHandle返回true调用时间:Controller方法处理完之后,DispatcherServlet进行视图的渲染之前,也就是说在这…

  • 二级反渗透1T/H二级反渗透纯水机 纯净水反渗透设备 反渗透设备

    反渗透技术原理反渗透技术是美国六十年代后期为解决宇航员在太空的饮水问题而研制的高新技术,也是目前的膜分离技术。简单地说,反渗透装置是利用半透膜在压力差的作用下使含盐水脱盐纯化的设备,它能有效地去除水中的无机盐、细菌、病毒、色素、热源、重金属离子及农药、化肥、清洁剂、胶体物质等污染物。反渗透膜孔径非常小,一般在2-10埃左右,而水中的各种离子杂质的直径约为几十埃,病毒、细菌的直径为几百至几十万埃,因此这些物质都是无法透过反渗透膜的,被截止在膜的浓水端,随浓水排出,透过反渗透膜的即是无菌,无毒害且富氧的纯净

  • Perl正则表达式 模式匹配[通俗易懂]

    Perl正则表达式 模式匹配[通俗易懂]m运算符与匹配修饰符含义i关闭大小写敏感性m将字符串作为多行处理o只编译模式一次。用于优化搜索流程s嵌入换行符时,将字符串作为单行处理x允许在正则表达式中提供注释,并忽略空白字符g全局匹配,即查找所有具体值。如果用于数组型上下文语境,则会返回一个列表;如果用于标量型上下文语境,则返回真或假s运算符与替换格式:s/ol

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号