Flash中一个fla文件可以关联到一个as文件,这个有点类似于asp.net中的code behind.
可参考以下图操作:
注:
1.as文件的类名与文件名要求一样,并且默认情况下必须与fla处于同一目录。
2.所有as文件必须继承自flash.display.Sprite
下面这个是一个示例文件代码:
package
{
import
flash.display.Sprite;
import
fl.controls.Label;
import
fl.controls.Button;
import
fl.controls.List;
import
flash.text.TextFieldAutoSize;
import
flash.events.MouseEvent;
import
fl.data.DataProvider;
public
class
AddControlCode
extends
Sprite {
public
function
AddControlCode() {
//加一个label
var
_label:Label =
new
Label();
_label.text=
"来来,我是一个Label"
;
_label.width=
150
;
_label.autoSize=TextFieldAutoSize.CENTER;
_label.addEventListener(MouseEvent.CLICK,
function
(){
trace
(_label.text =
"文本被点击了"
)});
//象不象c#中的匿名函数?
this
.addChild(_label);
//加一个Button
var
_btn:Button =
new
Button();
_btn.
label
=
"来来,我是一个Button"
;
_btn.width=
150
;
this
.addChild(_btn);
//获取舞台尺寸
var
w:
int
=stage.stageWidth;
var
h:
int
=stage.stageHeight;
trace
(
"宽度:"
+ w +
",高度:"
+ h);
//将Label与Button移动到水平中心点
_label.move((w-_label.width)/
2
,
10
);
_btn.move((w-_btn.width)/
2
,
50
);
_btn.addEventListener(MouseEvent.CLICK,btnClick);
//给Button添加点击事件
//添加一个List控件
var
_lst:List =
new
List();
var
dp:
Array
=
new
Array
();
var
i:
uint
;
var
count:
uint
= _lst.rowCount *
2
;
for
(i=
0
;i<count;i++){
dp.push({
label
:
"元素"
+ i});
}
_lst.allowMultipleSelection =
true
;
//允许多选
_lst.dataProvider =
new
DataProvider(dp);
//绑定数据源
this
.addChild(_lst);
}
//鼠标点击处理函数
function
btnClick(e:MouseEvent) {
trace
(
"你点了我一下,这是证据:"
+ e);
}
}
}
默认情况下,如果您运行这段代码会发现根本没办法编译通过,通常会提示: 未发现fl.controls.Label之类,解决办法:
先在设计视图中,拖一个Label控件到舞台上,然后再删除就行了,其它组件类似处理
个人猜测:就好比Winform中,我们引用某命名空间时,通常光using ...后,还需要添加对某程序集的引用,类似的:fla默认可能没有添加fl.controls.Label的"程序集"引用,哪怕你在代码中import过了,但是运行时仍然找不到这个包,而手动拖一个到舞台上后,强迫flash自动添加了相关引用
最后一个问题:如果组件不全是动态添加的,比如在设计视图下直接把一个Label拖动舞台上,在对应的as文件中如何引用呢?
其实也很简单,只要在设计视图中给组件指定一个实例名(比如lbl123),然后就能在as文件中直接用lbl123.text = "..."来使用了
运行截图:
分享到:
相关推荐
flex/Flash开发系列书籍:基于FLASH的WEB3D应用研究
附件是关于 Flash/Flex 几个重要框架 Cairngorm、Mate、PureMVC以及Swiz 的典型例子,由 Tony Hillerson 提供 Homepage: http://insideria.com
Flex学习笔记Flex学习笔记Flex学习笔记Flex学习笔记Flex学习笔记
来自《潮汕IT男》网站的文章《解决flash/flex/as3 访问中文域名时的流错误》代码示例,地址:http://chenlinsheng.com/?p=990
flash/flex画曲线,绘图板,用代码实现的个画曲线功能,类绘图板,可下载看看,不错的学习案例。
语言:C ++许可证:BSD-3代码质量:A + https://lgtm.com/projects/g/Genivia/RE-flex/context:cpp文档:https://www.genivia.com/doc/reflex/html /index.html存储库:https://github.com/Genivia/RE-flex更改日志...
flash/flex 的aqua皮肤.类似苹果系统
FDT-flash/flex devtoolkit for eclipse. for最新版的 FDT 3.5 beta2
NULL 博文链接:https://as3.iteye.com/blog/1134453
flex学习笔记 flex学习笔记 flex学习笔记 flex学习笔记 flex学习笔记 flex学习笔记
NULL 博文链接:https://summerbell.iteye.com/blog/359226
一.flex2的全屏代码 在仅仅使用Flex Builder2(我下载的是FLXB_2.0_Win_WWE.exe)的时候,写全屏代码竟然找不到flash.display.StageDisplayState,于是下载了Flex 2.0.1升级包(官方地址:...(参考:...
Flex 组件Flex 组件Flex 组件Flex 组件Flex 组件
最近开始学习Flex,其中用到了AS,AS2到AS3发生了很大的变化,完全的面向对象,知道这个特点以后我也一直没有特意的好好去学学AS3,但是随着最近学习的深入,还是有必要学习一下
总共有4个例子: 1.http://127.0.0.1:8080/flexDemo/HelloWorld/HelloWorld.html ...如果你的数据库配置和我的不一样,请修改flexDemo\WEB-INF\classes\下的DBSetting.properties文件,数据库建表的sql语句是user.sql
第一阶段(2周左右每天至少4个小时):入门 目标是:做简单的demo....参考书:Flex 入门教程http://www.5uflash.com/Flex-AIR/Flexziliao/17.html flex入门介绍:http://download.csdn.net/source/452847
这是作者自己亲自编写的教程,里面包含的有图解教程,各式jar,及配置文件,全部包含在内,如果你是一个决定学习flex初学者,我敢保证它肯定适合你!带上你走上flex开发旅途!
Flex学习笔记1
本人用FLEX写的直播播放器,基于RTMP协议。代码要放入tomcat等容器里运行,打开play.html即可看到例子效果,含有源代码,希望能帮助到需要的人。
xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="app_creationCompleteHandler(event)"> <fx:Script> <![CDATA[ import mx.events.FlexEvent; ...