第一章 flash media server 3 的开始
1.1 fms 3的新特征
fms3 分成3种配置类型,第一种:fmis 3(flash media interactive server 3),该版本属于完全版,不限制连接数,也不限制带宽,包含了很多新特征;第二种:fmss 3(flash media streaming server 3),这个版本仅限于提供视频和音频服务,这对于你只希望开发一个提供视频、音频的网站来说,非常的适合。并且,他也不限制连接数,也不限制带宽;第三种,fsds 3(flash media development server 3),该版本限制连接数,最大为10,只适合开发者用。
1.2 什么是媒体服务器?
FMS3 是一种开放套接字服务器。与传统的web服务器不同的是,传统web服务器一旦你收到服务器的返回信息,你就被断开;而开放套接字服务器不会断开,因为你打开一个web页面,连接就会一直保持,直到你退出应用程序或者触发断开连接的事件。所以 ,这种架构是全新的。
由于建立这样的程序,需要用到了as的内容,所以,现在穿插as:
一、建立一个新的AS项目
打开Flex builder 3,在右边的导航栏点击右键,new->activescript project
输入项目名称(例如:activescript3)和存储的路径(d:\appserv\www\activescript3),点击Finish。
flex3自动建立了相关的文件,并以项目名称作为主程序的名称,并以.as作为扩展名。
文件的内容:
package {
import flash.display.Sprite;
public class activescript3 extends Sprite
{
public function activescript3()
{
}
}
}
运行这个程序,可以点击绿色的“播放”按钮或者点击“debug”按钮,进行运行。
flex会自动打开一个浏览器,显示运行结果:
因为你什么也没有写,所以打开以后是一个蓝色背景的空的flash。
一个新的as项目完成。
二、自定义一个as程序
如果想改变as输出的背景、大小或者播放速度等,我们有2个办法解决:
1:通过改变as项目的属性
右键点击activescript3这个项目,选择属性,
在右边的栏目中选择:actionscript compiler,在自定义编译参数中添加参数:
-default-size width height
-default-background-color color
-default-frame-rate fps
通过上面的参数来定义程序的输出
例如:我们可以添加自定义的编译参数:
-default-size 800 600 -default-background-color #000000 -default-frame-rate 34
2:通过在主程序中添加参数
在主程序中添加头元素
package {
import flash.display.Sprite;
[SWF(width="800", height="600", backgroundColor="#ffffff", frameRate="31")] public class activescript3 extends Sprite
{
public function activescript3()
{
}
}
}
放在导入语句的后面即可。虽然编译器不会作为as进行解释执行,但是编译会根据这一的头元素来进行设定输出。如下图所示:
3:如何写as程序
as3程序是基于类,可以把需要执行的代码放在方法中实现,然后进行调用。
package {
import flash.display.Sprite;
[SWF(width="400",height="300",backgroundColor="#fff000",frameRate="32")]
public class actionscript3 extends Sprite
{
public function actionscript3()
{
graphics.lineStyle(1,0,1);
for (var i:int = 0;i < 10;i++ ){
graphics.lineTo(Math.random() * 200 ,Math.random() * 200);
}
}
public function addnews():int{
var $str1:String = "pic";
return $str1.length;
}
}
}
当你建立一个新的项目的时候,flex3会自动建立一个和项目名称同名的主类,主类中包含一个同名的主方法,它是一个构造器,在主程序第一个加载执行的。
package {
import flash.display.Sprite;
[SWF(width="400",height="300",backgroundColor="#fff000",frameRate="32")]
public class actionscript3 extends Sprite
{
public function actionscript3()
{
graphics.lineStyle(1,0,1);
for (var i:int = 0;i < 10;i++ ){
graphics.lineTo(Math.random() * 200 ,Math.random() * 200);
}
}
public function addnews():int{
var $str1:String = "pic";
return $str1.length;
}
}
}
package:将相关的类和方法组织在一起;
import:引用外部的类和方法的捷径;
public/private/proteced/internal:
变量、类或者是方法的声明前,会对他们的作用范围进行设定。
vaiable:变量声明的时候,需要以“var”开始,并指定它的类型;
function:函数,类中声明的函数被称作方法,方法可以是一段有意义的代码块;
scope:范围
A private variable can only be accessed from within the class itself, whereas
public variables can be accessed by objects of another class.
Protected variables can be accessed from an
instance of the class or an instance of any subclass, and
internal variables can be accessed by any
class within the same package. If no access modifier is specified, it defaults
to
internal.
event handler:触发一个事件以后执行的代码或者调用的方法;
object 和 class:类是抽象的概况了一种模型,而object是对这种模型的具体实例化;
method:方法,是一个有意义的函数;
statement:as3中的语句以分号结尾;
comments:以//或者/* */注释;
interpreter:解析as