Flash/Flex学习笔记(1):Hello World!

万世开头难,先来一个Hello World!吧,Adobe出了二款支持Action Script3语言的经典开发工具,即:Flash CS 与Flash Builder(以前称为Flex Builder),这二者的关系就好Silverlight中的Blend与Visual Studio

先来看看Flash中如何玩:

1.启动Flash CS 4,新建一个"Flash 文件(Action Script3.0)"

2.保存为HelloWorld.fla

3.再新建一个ActionScript文件,保存为Person.as(注意要与HelloWorld.fla保存在同一个目录下,否则fla就调用不到as文件了)

4.Person.cs中敲入以下代码:

package {
	public class Person {

		private var _sName:String;//姓名
		private var _sSayContent:String;//说的内容

		//构造函数
		public function Person(obj:Object):void {
			this._sName=obj.name;
			this._sSayContent=obj.say;
		}
	
		//类的公共方法
		public function SayHello():String {
			var _s:String="["+this._sName+"]说:"+this._sSayContent;
			trace(_s);
			return _s;
		}
	}
}

注:ActionScript与JavaScript都是从ECMAScript标准发展而来的语言,所以语法比较相似,就不多解释了.

5.切换到开发人员工作区 偶是程序员,不是动画设计师,so,换个更习惯的环境,操作如下:

Flash Cs4-->"窗口"菜单-->"工作区"-->"开发人员"

在这个工作区下,可以很方便的添加各类基本组件(即.net中的控件)到场景中

6.拖一个Label到场景中,并设置id为lbl1

7.添加AS代码

"窗口"-->"时间轴"

先把时间轴调出来,然后在第一帧在右击,选择"运作",敲入以下代码:

var p:Person = new Person({name:"菩提树下的杨过",say:"Hello Flash"});

lbl1.text = p.SayHello();

stop();

这里我们初始了一个json对象做为参数,实例化了一个Person对象,然后调用它的SayHello方法,并把返回值赋值为Label控件,最后的stop()让动画不要循环播放

Ctri + Enter 运行结果如下:

源文件下载:

再来看Flash Builder 怎么玩

1.启用Flash Builder Beta2(好象目前这是最高版本了),新建一个"Flex项目"

2.拖一个Label控件到设计视图中,同时设置Id为lbl1

3.新建一个ActionScript文件,并保存为Person.cs,把刚才在Flash中写过的Person.cs代码复制到里面

其实也就是重用在Flash中写过的代码

4.切换到源代码视图,参考下图添加代码

ok了,运行

小结:做为程序员来讲,肯定会更喜欢Flex的编程方式, 这个与Silverlight/VS的开发比较相似,但是有一个细节要注意,同样的功能用Flex开发生成的swf文件要大出N倍,以本文为例:Flash方式生成的swf文件只有15k,而Flash Builder beta2生成的swf文件居然有100K !(看来Adobe还要继续努力啊)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏为数不多的Android技巧

Android Studio你不知道的快捷键(二)

在Android Studio你不知道的快捷键(一)里面,主要讲述了一些窗口操作的快捷键还有补全参数提示等,这一篇会分享一些代码代码编辑的快捷键。(默认Keym...

1162
来自专栏finleyMa

补充上一篇 实现基于最新chrome的动态按需加载组件

上面代码中,import函数的参数specifier,指定所要加载的模块的位置。import命令能够接受什么参数,import()函数就能接受什么参数,两者区别...

1215
来自专栏前端达人

2018年最全面的前端面试题都在这里了

意义:根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。 注意: 1.尽可能少的...

4.9K7
来自专栏Django中文社区

Django模板标签regroup的妙用

在使用 Django 开发时,有时候我们需要在模板中按对象的某个属性分组显示一系列数据。例如博客文章按照时间归档分组显示文章列表(示例效果请看我的博客的归档页面...

3316
来自专栏机器学习算法与Python学习

Python:爬虫系列笔记(8) -- 爬去MM图片

转载于:静觅 » Python爬虫实战四之抓取淘宝MM照片 链接:http://cuiqingcai.com/1001.html 1.抓取淘宝MM的姓名,头像,...

4316
来自专栏chafezhou

程序员探案之被吃掉的串口数据

1874
来自专栏Linux驱动

17.QT-事件处理分析、事件过滤器、拖放事件

2032
来自专栏逍遥剑客的游戏开发

C++与Flash的交互

3628
来自专栏逆向技术

32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.

      32位第五讲,逆向实战干货,快速定位扫雷内存. 首先,在逆向之前,大家先对OD有一个认识. 一丶OD的使用 ? 标号1: 反汇编窗口 (显示代码的地...

2209
来自专栏用户2442861的专栏

PyQt4 - 关闭最小化问题

在这个部分,我们开始学习一些PyQt4的基本功能,解释会比较详细,就像教孩子说话一样。 最简单的example     下面的示例会非常的简单,仅仅显示...

3351

扫码关注云+社区

领取腾讯云代金券