[转]FLEX推广贴――使用AS project编写游戏/FLASH网站
(2011-08-12 16:22:13)
2011年08月12日
一般我们谈到FLEX,首先想到的就是它的组件框架。然而,FLEX SDK与FLEX Builder其实两个不同的产品,一个是开源免费的,一个则不是。后者是前者的支持,但并不是只能作为前者的支持。
当建立AS project项目的时候,FLEX Builder只会使用FLASH的内置类库来进行编译,所以和通常意义的FLEX完全不同,而是区别于FLASH的另一种编译AS文件的手段。下面将会 就如何将一个项目从使用FLASH CS3/4迁移至FLEX Builder做出说明。
一个具体项目,是由表现与逻辑两部分组成的。FLA内的图形元件是表现,而AS则是逻辑。所以我们首先的问题就是,如何将表现与逻辑联系在一起。
CS3/4的方法大家应该都很熟悉,就是绑定类。给元件取个类名,相应目录放上一个AS文件,就能将两者联系起来。而在FLEX中,实现这样的功能有两种方法:
1. Embed
FLEX AS project唯一比FLASH内多的内容,就是这样的元标签。
了解FLEX的应该对Embed非常熟悉,是主要的导入外部资源的方式。具体写法如下:
[Embed(source=”xxx.swf”,symbol=”symbol_name”)]
Public var imageClass:Class;
在之后的语句里,只要var newins:Sprite=new imageClass();addChild(newins);就可以将这个图形元件呈现出来。然而,每次都要建立一个Class的确有些麻烦。下面这种 写法是FLEX文档没有涉及的,所以很多人都不知道,实际上可以这样写:
Package{
Import flash.display.Sprite;
[Embed(source=”xxx.swf”,symbol=”symbol_name”)]
Public class ImageClass extends Sprite{
Public function ImageClass():void{
//do something….
}
//the other functions ..
}
}
也就是说,我们在原来的AS文件CLASS前面添加一句[Embed],就可以将它和对应SWF文件内的一个元件联系起来。这样的做法和直接绑定 类是一样的。诸如某个元件里还设置了几个实例,如果在CS3中没有勾选自动声明实例,我们需要在AS文件中手动声明实例一样,在FLEX Builder中我们也一样需要这样做,否则就会报错:
Package{
Import flash.display.Sprite;
[Embed(source=”xxx.swf”,symbol=”symbol_name”)]
Public class ImageClass extends Sprite{
//SWF中对应元件内已取名的实例
Public var ins1:Sprite;
Public var ins2:Sprite;
Public var ins3:Sprite;
Public function ImageClass():void{
//do something….
}
//the other functions ..
}
}
说白了,结果就是这样。把原来FLA文件生成SWF,然后在AS文件头上加上Embed来实现绑定,所得到的结果和原来直接绑定是一样的。只是由FLA主动寻找链接的AS文件编译,变成了AS文件寻找指定SWF内的元件一起编译。
当然,还是有一些不同的。这样导入的元件,其内部时间线上的AS会被完全忽略,stop()也不会被保留。而且,内部元件所有的类定义也都会被忽 略,只保留类名。多帧元件会被认为是MovieClip,单帧元件会被认为是Sprite,按钮会被认为是SimpleButton,位图会被认为是 BitmapData(不过你如果trace一下会看到转过来的其实是对应的asset类,反正是一样的我就不作说明了),不管你原来是否给了它其他的基 类,或者绑定过类文件,那部分内容都不会过来。能过来的就是帧标签,舞台上设定的实例名,grid-9定义三种。类名定义也不会过来,你将它绑定到什么类 上,它就叫什么类(当然必须要兼容)。
有些时候的确不方便。不过对于游戏来说,这应该是无所谓的吧?
这里有一个例外,如果直接[Embed(source=”xxx.swf”)],不写元件名,也是可以导入的。使用这种方法,类定义,AS都可以 保留,就跟直接用loader载入一个外部SWF一样。但同样的,因为两者不在同一个应用域,是不能直接交互的。这样的方法我很少用,具体也不了解,但这 样做体积会比较大一点(相当于内镶SWF的字节码),不是很推荐就是了。
2. SWC
发布设置里,勾上“生成SWC”,即可在生成SWF文件的同时生成一个对应的SWC文件。
将这个SWC文件拖到FLEX的lib目录中,建立的项目就可以直接导入它的所有类,当然也就包括所有元件了。
注意FLA写类名的时候请写好包名。否则进来的所有类全都是顶级类,不import都会被导入(带元件的类很大的
发表评论
-
shell中字符串的比较
2012-07-06 09:52 547#!/bin/sh #测试各种字符串比较操作。 #shel ... -
常用工具总结
2012-07-06 09:45 618ildasm:反编译.net程 ... -
用正则表达式找出不包含连续字符串abc的单词(转)
2012-07-06 09:38 986就我自己而言,这个问题最简单的解决方法是使用编程语言的配合 ... -
SharePoint Hello World Web Part
2012-07-06 09:30 692i am now in university(HIT@We ... -
xloadtree+DWR 生成和维护树结构
2012-07-05 20:45 649利用DWR维护一棵树(如下图),右侧的树是通过xloadt ... -
Android深入探究笔记之一 -- 我的第一个 Android 程序,基于 Intent 的组件交互机制
2012-07-03 13:44 8761. 本文是临时写的 ... -
Flex 实现LineChart曲线――动态加载组件
2012-07-02 12:29 779Height:int = 400 private va ... -
ArcGisServer Flex 地图查询
2012-07-02 12:29 792下面我们通过 Flex和ArcGisServe 实现地图的 ... -
第一个FLEX4程序 Button Label
2012-07-02 12:29 612学习 ActionScript3 已经有一段时间了 今天开 ... -
flex 利用饼图生成内部环状图
2012-07-02 12:29 630height="500" ... -
Ext 4 概述(六)之Grid
2012-07-01 10:06 585这次升级Ext 4全部 ... -
也谈jQuery之学习
2012-07-01 10:06 553由于之前一直是做 ... -
Firefox/Chrome下flash的wmode参数设为opaque或transparent时输入文本框中无法输入中文汉字的解决方法
2012-07-01 10:06 738这段时间做个项目 ... -
深度剖析WinPcap之(十)――数据包的内核过滤(13)
2012-07-01 10:06 671数据包到达网络接 ... -
Flash Builder 4-找不到所需的 Adobe Flash Player
2012-07-01 10:06 542比较懒,比较少上csdn的,如果发现留言给我没有回复,望见 ... -
Flex4 多语言
2012-06-30 16:31 503Flex4 多语言 2011年01月04日 Flex开发 ... -
使用FLEX 和 Actionscript开发FLASH-9-3-1
2012-06-30 16:31 504使用FLEX 和 Actionscript开发FLASH-9- ... -
转:从“富客户端”(RIA)说到 Flex AIR
2012-06-30 16:31 580转:从“富客户端”(RIA)说到 Flex AIR 2011 ... -
FLEX和Actionscript开发FLASH游戏6
2012-06-30 16:30 447FLEX和Actionscript开发FLASH游戏6 20 ...
相关推荐
linux安装程序,必备资料;tar包解压后编译即可使用 linux安装程序,
apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx-lts-trusty:i386 libgl1-mesa-...
#wget /project/libdnet/libdnet/libdnet-1.11/libdnet-1.11.tar.gztar -zxf libdnet-1.11.tar.gz #cd libdnet-1.11 #./configure && make && make install 安装daq #Yum install /downloads/snort/daq-2.0.6-1....
缩小使用CSS模块创建的类名。 该插件与官方的Gatsby Less,Sass,Stylus和PostCSS插件兼容。 /* Without gatsby-plugin-minify-classnames */ . index-module--container--l2fVb { display : flex; } . index-...
@ react-three / flex 将内容放入THREE.js很难。 @react-three/flex使web的flexbox规范变为 。 它基于Facebook开源React-native布局引擎。 npm install @react-three/flex 这些演示是真实的,您可以单击它们! ...
#wget /project/libdnet/libdnet/libdnet-1.11/libdnet-1.11.tar.gztar -zxf libdnet-1.11.tar.gz #cd libdnet-1.11 #./configure && make && make install;安装daq #Yum install /downloads/snort/daq-2.0.6-1....
使用FLEX 和 Actionscript 开发FLASH 游戏3-1
ln -sf /usr/local/bin/flex /usr/bin/flex ln -sf /usr/local/bin/flex++ /usr/bin/flex++ ln -sf /usr/local/bin/bison /usr/bin/bison ln -sf /usr/local/bin/yacc /usr/bin/yacc 抓包工具的使用 usr/local/...
NULL 博文链接:https://yuchengj-824316079-qq-com.iteye.com/blog/1184429
使用FLEX 和 Actionscript 开发FLASH 游戏8-1
快速简便的NodeJS库和cli,可以使用 ()和来抓取网站并与之交互version : 1jobs : main : steps : - goto : https://github.com/marketplace?category=code-quality - pdf : path : Github_Tools.pdf format :...
org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包,org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包org.springframework.flex-1.0.3....
弹性桌使用HACS()进行安装在前端内部使用 (如果不可用), 搜索flex-table ,点击install ,完成! 将提供的相应行添加到lovelace ui配置中安装(作为快速,仅手动更新,更适合开发人员) 找到您的家庭辅助配置...
使用方法: 引入: add silvergreen-2.1.swc to libs 使用(SWC方案): 在IDE(如:Flash Builder)里面,增加一个编译参数: -theme ../libs/silvergreen-2.0.swc 使用(fx:Style方案): 1、copy ...
动画演示flex布局,包括flex父容器属性以及flex布局子元素...flex-start:侧轴开始 flex-end:侧轴结束 center:居中 stretch:拉伸(默认值) 四. justify-content 子盒子主轴方向上的对齐方式 等,字数不够,无法一一列举
OrchestraDesigner是由北京航空航天大学计算机学院新技术研究所自主开发的一款基于Flex技术的在线协同工作流编辑工具。该建模工具针对非技术人员,采用一种比BPEL更面向业务、更直观的图元作为建模基础,生成的模型...
Flex教程系列, 本教程是郑岩峰老师的教程, 我只是借花献佛。 Flex教程系列之(一) AS3语法——编程基础 http://download.csdn.net/source/1161756 Flex教程系列之(二) AS3语法——流程控制语句 ...
FLEX和Actionscript开发FLASH游戏的中文文档,内容和详细 希望对你有用~
很久之前无聊的时候用flex实现的一个BullBreaker小游戏,点击小球可消除周围同色小球,可以回滚操作至起始状态。swf格式的可以直接在视频播放器中打开来玩,也可以打开html文件在浏览器中玩(需要flash支持)。
使用FLEX和Actionscript开发FLASH 游戏