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还可以监听玩家的名称,装备的名称,这样也很容易的就实现了再聊天窗口中查看玩家的信息和游戏装备属性!

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Webpack插件按需加载组件_webpack懒加载

    Webpack插件按需加载组件_webpack懒加载因为Vue是SPA,所以首页第一次加载时会把所有的组件以及组件相关的资源全都加载了。这样就会导致首页加载时加载了许多首页用不上的资源,造成网站首页打开速度变慢,降低用户体验。为了解决上面问题,我们需要对Vue实现组件懒加载。本文将对懒加载的实现原理以及使用进行讲解。

    2022年10月6日
    4
  • 安卓系统文件夹及其文件解析[通俗易懂]

    安卓系统文件夹及其文件解析[通俗易懂]安卓系统文件夹及其文件解析打开Android文件管理器,会发现里面数十个英文名称命名的文件夹罗列其中,很多功能我们可以从其名字上略有所知,内部大批量的文件却让我们有些一头雾水。这些文件是什么?有什么用?我们能不能删?这些都是我们脑中充满疑问的。现在将将An…

    2022年9月13日
    3
  • linux常用命令(50个)「建议收藏」

    linux常用命令(50个)「建议收藏」1. find基本语法参数如下:find[PATH][option][action]#与时间有关的参数:-mtimen:n为数字,意思为在n天之前的“一天内”被更改过的

    2022年7月3日
    21
  • 向 J2EE 架构师 学习之路[通俗易懂]

    向 J2EE 架构师 学习之路[通俗易懂]首先表明下这个只是个人记录,看到觉得很烂莫怪。认真看点书学点知识,脚踏实地的走,记录学到的东西,收获的东西,慢慢的成长。今天心血来潮,想看下书,百度搜索了下到csdn下载了一本《TheJ2EEArchitect’sHandbook》,毕竟想成为J2EE架构师自己觉得自己路还很长,一直觉得自己很笨,做事方法肯定有问题,一会看js,一会看java,一会看j2ee,感觉确认很烦,自己未来…

    2022年6月24日
    28
  • 使用 Vue + LayUI 做后台管理、RESTful 交互

    使用 Vue + LayUI 做后台管理、RESTful 交互一、前言1、之前使用了React/Angular,使用起来显然是比jQuery好多了,但时隔半年,最近再次深入研究了vue,很惊喜。故以后选择MVC/MVVM框架的话,建议首选vue,主要是其代码结构,清晰简单。2、使用vue+layui了,但layui里边的layui.js模块vue.js冲突,因此放弃使用layui.js,导致很多高级…

    2022年6月25日
    27
  • WIN7 Microsoft Platform SDK Febrary 2003 安装[通俗易懂]

    WIN7 Microsoft Platform SDK Febrary 2003 安装[通俗易懂]windows7安装了VC没有太多的问题,顺便也装下VC6最后一个可用的SDK从网上搜索windowsplatformsdk2003下载http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1.cabhttp://do

    2022年6月1日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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