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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html5 sexteen,Teens ‘conservative’ about pre-marital sex

    html5 sexteen,Teens ‘conservative’ about pre-marital sexAsignificantmajorityofChineseteenagersarequiteconservativewhenitcomestopre-maritalsex,asurveyof1,500peoplefromadistrictofChongqingmunicipalityhasshown.Thelatestpollsurvey…

    2022年5月10日
    35
  • 一个servlet登陆过滤器

    一个servlet登陆过滤器

    2021年7月23日
    57
  • Java 数组转list_string数组转list

    Java 数组转list_string数组转listava中数组转list使用Arrays.asList(T…a)方法。示例:publicclassApp{publicstaticvoidmain(String[]args){List&lt;String&gt;stringA=Arrays.asList("hello","world","A");String[]stringArray={"h…

    2022年8月23日
    4
  • 小米手机通过电脑上网「建议收藏」

    小米手机通过电脑上网「建议收藏」步骤很简单。只需要两步。所需要的软件工具如下:  电脑软件1.小米USB驱动  手机软件2.超级终端 点击下载  1.打开系统设置-系统-共享手机网络-USB绑定-(打开)  2.USB连接上电脑,在网络连接里会多出一个本地连接4,然后找到一下你的宽带连接(电脑上网那个)点一下右键-属性-共享-允许其他网络用户通过此计算器…选择勾上。  然后找到虚拟网卡(就是第二

    2025年6月23日
    0
  • Redis 雪崩、穿透、击穿「建议收藏」

    Redis 雪崩、穿透、击穿「建议收藏」一、缓存雪崩:概念:缓存雪崩是指缓存中key大批量到过期时间,而这时大量请求同时打过来,引起数据库压力过大甚至down机实际生产中举例:以秒杀活动为例,QPS达到5000,这时,如果这5000个请求同时访问过来,在redis的缓存没有失效时,这个量级的qps,redis是可以承受住的。但是如果这时,所有的key都在某一个时间点失效了,而后台还没来得及重新刷缓存(缓存一般是定时任务主动刷新或修改时才刷新),那么这时,所有的请求就将会都直接打入MySQL数据库。可以想象,MySQL

    2022年9月14日
    0
  • 对于多层神经网络,BP算法的直接作用_什么是多层神经网络

    对于多层神经网络,BP算法的直接作用_什么是多层神经网络多层神经网络BP算法原理及推导转载;https://www.cnblogs.com/liuwu265/p/4696388.html首先什么是人工神经网络?简单来说就是将单个感知器作为一个神经网络

    2022年8月3日
    3

发表回复

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

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