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

news/2025/2/26 19:54:01

万世开头难,先来一个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.as中敲入以下代码:

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还要继续努力啊)


http://www.niftyadmin.cn/n/4036194.html

相关文章

java-mysql类型对照

java mysql 数据类型对照 类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述 VARCHARLNVARCHARjava.lang.String12 CHARNCHARjava.lang.String1 BLOBLNBLOBjava.lang.byte[]-4 TEXT65535VARCHARjava.lang.String-1 INTEGER4INTEGER UNSIGNEDjava.lang.Long4…

cisco交换机命令

交换机口令设置: switch>enable 进入特权模式 switch#config terminal 进入全局配置模式 switch(config)#hostname 设置交换机的主机名 switch(config)#enable secret xxx 设置特权加密口令 switch(conf…

【半平面交】【计算几何】[BZOJ1038][ZJOI2008]瞭望塔

题目描述 致力于建设全国示范和谐小村庄的H村村长dadzhi,决定在村中建立一个瞭望塔,以此加强村中的治安。我们将H村抽象为一维的轮廓。如下图所示 我们可以用一条山的上方轮廓折线(x1, y1), (x2, y2), …. (xn, yn)来描述H村的形状,这里x1 &l…

9种增强WordPress安全性的方法

对于WordPress博客的数据,有这么一句话:不是WordPress博客数据不重要,是没尝过丢失的滋味。有些朋友可能有这种经历:访问一个站的时候,会出现提示:This site may harm your computer(这个网站可…

Flash/Flex学习笔记(2):捕获摄像头

Flash中使用摄像头,个人感觉比silverlight要更容易 时间轴第一帧上敲以下代码就可以了: //import fl.controls.Label; //var camera:Camera Camera.getCamera(); //trace(cameranull?"未检测到摄像头":"已安装了摄像头");…

java -D

2019独角兽企业重金招聘Python工程师标准>>> java已有默认系统属性,通过:System.getProperties().list(System.out);查看,结果如下: -- listing properties -- java.runtime.nameJava(TM) SE Runtime Environment sun.…

promise异步编程的原理

一.起源 JavaScript中的异步由来已久,不论是定时函数,事件处理函数还是ajax异步加载都是异步编程的一种形式,我们现在以nodejs中异步读取文件为例来编写一个传统意义的异步函数: var fs require(fs); function readJSON(filename…

MyISAM 全文检索

1. 需要特殊语法,index有助于查询,需要特殊结构 2. 只有MyISAM支持,基于字符的列(char varchar text),支持自然语言和Boolean Searchingindex由一个或多个text列的连接组成,b-tree两层&#xff…