Flash/Flex学习笔记(33):如何用As3协同Flash CS IDE控制MovieClip实例

简介: AS3历经若干年的成长,已经完全进化为一门面向对象的(动态)语言,但很多介绍AS3的书籍上往往只注意了AS3语言本身,而淡化了如何跟Flash IDE协同开发。 1.如何在Flash时间轴代码上创建一个外部as文件中定义的MovieClip实例? 假设外部有一个MyClip.

AS3历经若干年的成长,已经完全进化为一门面向对象的(动态)语言,但很多介绍AS3的书籍上往往只注意了AS3语言本身,而淡化了如何跟Flash IDE协同开发。

1.如何在Flash时间轴代码上创建一个外部as文件中定义的MovieClip实例?

假设外部有一个MyClip.as文件,内容如下:

package {
	import flash.display.MovieClip;

	public class MyClip extends MovieClip {
		public function MyClip():void{
			trace("MyClip constructor is called");
		}
	}
}

新建一个fla文件(注意:要与MyClip.as处于同一目录),然后在时间轴的代码中就可以这样使用了:

var clip1:MyClip = new MyClip();

Ctrl + 回车 测试影片,将会在输出窗口看到:MyClip constructor is called

但这样可能有人会郁闷了:这样的话,所有东东都要纯AS代码来控制,那还要Flash CS干啥?不如直接用记事本写,然后编译下完事,这样根本体现不出Flash IDE实时设计的强大。--往下看

2.如何用代码从库里取出一个用Flash设计好的MovieClip实例?

img_a37a2945b66b41772b5785106c2dc3ff.jpg

上图是在Flash CS4中创建一个Symbol时的界面,注意高亮部分,我们可以在创建时指定类名以及父类,这样该Symbol就可以用代码引用了,我们可以利用Flash的强大设计功能先弄好布局,放置一些控件,比如动态文本,然后在代码中使用(注:下面代码中的txtMsg是MyClip2上放置的一个动态文本)

var clip:MyClip2 = new MyClip2();
clip.txtMsg.text = "Hello World!";
clip.x = 0;
clip.y = 0;
clip.width = stage.stageWidth;
addChild(clip);

3.把上面二种情况结合起来

即:如果我们先在Flash Cs4中创建一个MovieClip类型的Symbol(同时参照2中的方法指定了类名MyClip3);然后再到同级目录下新建一个MyClip3.as文件,这二者能结合在一起用么?

MyClip3.as文件内容如下:

package {
	import flash.display.MovieClip;

	public class MyClip3 extends MovieClip {
		
		public function MyClip3():void{
			trace("MyClip3's constuctor is called.");
			
			txtMsg.text = "MyClip3's constuctor is called.";//引用Flash CS设计时放置在MyClip3元件上的动态文件txtMsg
		}
		
		//将txtMsg.text封装成属性Msg
		public function set Msg(v:String):void{
			trace("Msg setter is called");
			txtMsg.text = v;			
		}
		
		
		public function get Msg():String{
			trace("Msg getter is called");
			return txtMsg.text;		
		}
		
	}
}

主场景中的时间轴代码可以这么用:

var clip:MyClip3 = new MyClip3();
clip.txtMsg.text = "Hello World!";
trace(clip.Msg);
clip.Msg = "Hi";
clip.x = 0;
clip.y = 0;
clip.width = stage.stageWidth;
addChild(clip);

运行后输出窗口内容如下:

MyClip3's constuctor is called.
Msg getter is called
Hello World!
Msg setter is called

目录
相关文章
|
IDE Java 网络安全
本地 IDE 开发代码方式|学习笔记
快速学习本地 IDE 开发代码方式
本地 IDE 开发代码方式|学习笔记
|
存储 IDE Java
IDE与Maven对比|学习笔记
快速学习IDE与Maven对比
268 0
IDE与Maven对比|学习笔记
|
Web App开发 IDE Linux
部署 Web IDE | 学习笔记
快速学习部署 Web IDE。
|
IDE Shell 开发工具
使用 Web IDE | 学习笔记
快速学习使用 Web IDE。
|
自然语言处理 IDE Dubbo
通过IDE/Maven 部署 Serverless 应用实践|学习笔记
快速学习 通过 IDE/Maven 部署 Serverless 应用实践
154 0
|
IDE Java Go
Golang学习笔记-IDE安装指南
引言   上篇Golang学习笔记-环境搭建指南已经讲解了如何搭建Golang开发环境,并写了一个Go程序【Hello,world】,但是写代码没有一个好用的IDE,没有语法高亮,自动补全,格式调整,查找函数等功能,想必也会令大家抓狂吧,笔者以前是做Java和.
2239 0
|
内存技术
Flash/Flex学习笔记(29):MovieClip帧/时间轴的控制
在开发过程中,经常会遇到要从一个界面跳到另一个界面的情况,比如:软件中的窗口跳转,web开发中的页面跳转...但在Flash的世界里:只有帧,没有窗口与页面,所以控制时间轴/帧之间的跳转,就成为这一需求最常见的解决办法 btn1.
1011 0
|
2月前
|
开发者 容器
flex 布局属性在实际项目中的应用场景有哪些?
flex 布局属性在实际项目中的应用场景有哪些?
|
28天前
|
前端开发 UED 容器
使用 Flex 布局实现垂直居中效果
【10月更文挑战第7天】
99 57
|
13天前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。