【导语】以下是小编帮大家整理的Flash AS学习:深入BroadcasterMX(共8篇),供大家参考借鉴,希望可以帮助到您。

篇1:FLASHAS的使用技巧
都是在项目中总结的,经过实践的,在flex2 as3下使用的。
as调js
ExternalInterface.call(“js函数名”,参数:数组);(可以接收返回值)
js调as
as:ExternalInterface.addCallback(“js中使用的函数名(字符串)”, as中的函数(函数类型));
js:SWF名.js中使用的函数名(参数);
对象清理:
as中如果某个对象不被使用,且没有任何对象引用它,则此对象会被回收器回收(不一定什么时候),所以用完的对象一定要处理(比如加的监听要删除等等),否则会长占内存。
重绘:
flash中被挡住的对象也会被重绘,比如在一个位置不停的画圆,画到几百或几千层,当鼠标经过这块的时候会感觉到速度变慢,查看cpu状态会看到cpu被占满,但不会占内存。
判断对象类型:
if(a is 类型){}
获得对象类型:
trace(typeof 对象)输出对象类型
类型转化:
var a:类型 = b as 类型;
强转:
var a:类型 = 类型(b);
判断数字:
isNaN(表达式),注意是数字时返回false
Timer
不要认为Timer可以极其准确;使用Timer时间间隔不要低于10毫秒.
private,protected,internal,public访问权限
private:只能在类本身内部访问
protected:可以由类本身或任何子类访问.
internal:可以由类本身或者相同包内的任何类访问;
public:可以在类内部访问,也可以由类实例访问
for...in与for each...in的区别
与for...in循环不同的是,for each...in循环中的迭代变量包含属性所保存的值,而不包含属性的名称(或主键,索引).
例如:var obj:Object={name1:value1,name2:value2};
for...in取出的是name,for each...in取出的是value
对象:
AS中所有对象可默认互相转换,如数组可以当作Map来用。
但是作为数组来用时,就不能保证顺序了。
比如:
var array:Array = new Array;
array[“a”] = new Object();
ToolTip
如果禁止ToolTip显示,
1.this.truncateToFit = false;(不会出现...)
2.重写updateDisplayList,并最后super.toolTip = null;(会出现...)
反射:
classType = flash.utils.getDefinitionByName(className) as Class;
new classType();
格林尼治时间 格式化时出错。(如中国 时区,1970/01/01 08:00时出错,已经确认是flex的bug)
replace所有
AS中没有replaceAll 函数,要实现这个函数可以用正则表达式
如: 将 00:00:00 中的 ’:‘替换成 ‘ ‘ 可如下实现
var testStr : String = “00:00:00”;
var repedStr : String = testStr.replace(/:/g, “ ”);
/:/g 后面的g不能少, g 表示全局
AS对象深Clone方法:
private function clone(_source:Object):* {
var copier:ByteArray = new ByteArray();
copier.writeObject(_source);
copier.position = 0;
return(copier.readObject());
}
mx_internal类型的方法也可以重载:(不推荐)
需要在import的最下面进行如下声明-
use namespace mx_internal
篇2:FlashAS:随风飘摆的大红灯笼
详细代码:
[SWF(backgroundColor=0x004890,width=550,height=400)]
var denglong:MovieClip =new MovieClip();
addChild(denglong);
denglong.x=275;
denglong.y=0;
denglong.rotation=5;
var rota:Number=0;
denglong.addEventListener(Event.ENTER_FRAME. ,frame);
function frame(e) {
var xs:Number=(0-denglong.rotation)*0.01;
rota+=xs;
denglong.rotation+=rota;
}
var diaoxian:Shape =new Shape();
denglong.addChild(diaoxian);
diaoxian.graphics.lineStyle(6, 0xcc6600);
diaoxian.graphics.moveTo(0,0);
diaoxian.graphics.lineTo(0,50);
function Rect():Sprite {
var sp:Sprite =new Sprite();
sp.graphics.beginGradientFill(“linear” ,[0xffbe17,0xf8fd97,0xffbe17],[1,1,1],[0,128,255]);
sp.graphics.drawRoundRect(-50,-10,100,20,15,13);
var mc:Shape=new Shape();
sp.addChild(mc);
mc.graphics.lineStyle(1.5,0x996633,1);
mc.graphics.drawRoundRect(-48,-9,96,18,13,12);
return sp;
}
for (var c:int=0; c<4; c++) {
var rect:Sprite=Rect();
denglong.addChild(rect);
c%2==0?[rect.scaleX=rect.scaleY=0.7,rect.y=50+c*107]:rect.y=c*90-23;
}
function Huxian(n:int):Shape {
var hu:Shape=new Shape();
hu.graphics.beginFill(0xffbe17,1);
hu.graphics.moveTo(0,0);
hu.graphics.curveTo(n,80,0,160);
hu.graphics.curveTo(n+5,80,0,0);
return hu;
}
var ellip:Sprite=new Sprite();
denglong.addChildAt(ellip,0);
ellip.y=158;
ellip.graphics.beginGradientFill(“radial” ,[0xfea408,0xe20708],[1,1],[0,255]);
ellip.graphics.drawEllipse(-120,-85,240,170);
for (var d:int=0; d<4; d++) {
var n:int;
var huxian:Shape=Huxian(d%4==0?n=-80:d%4==1?n=-60:d%4==2?n=60:d%4==3?n=80:0);
ellip.addChild(huxian);
huxian.x=-45+d*30;
huxian.y=-80;
}
function line():Sprite {
var sp:Sprite =new Sprite();
sp.graphics.lineStyle(0.5,0xffff00,1);
sp.graphics.moveTo(0,0);
sp.graphics.lineTo(0,60);
return sp;
}
for (var a:int=0; a<15; a++) {
var mc:Sprite=line();
denglong.addChild(mc);
mc.x=a*4-28;
mc.y=270;
}
篇3:用FlashAS简单制作可以任意拖动的四边形
用Flash Actionscript简单制作可以任意拖动的四边形,是制作游戏的一个基础程序,
打开Flash,首先将属性改为30fps然后新建立一个组建laser。
然后回到主场景,在第一帧内输入Action。
laser_nodes = 4;
for (x=1; x<=laser_nodes; x++) {
node = _root.attachMovie(“laser”, “laser_”+x, x, {_x:Math.random*460+20, _y:Math.random()*310+20});
node.onPress = function() {
startDrag(this);
};
node.onRelease = function() {
stopDrag();
};
}
_root.createEmptyMovieClip(“ray”, _root.getNextHighestDepth());
ray.onEnterFrame. = function() {
this.clear();
this.lineStyle(3, 0xff0000);
this.moveTo(_root.laser_1._x, _root.laser_1._y);
for (x=2; x<=laser_nodes; x++) {
this.lineTo(_root[“laser_”+x]._x, _root[“laser_”+x]._y);
}
this.lineTo(_root.laser_1._x, _root.laser_1._y);
};
你可以修改上面的参数,比如laser_nodes = 其它数,就可以看到其它效果了!
篇4:Flash教程:FlashAS实现颜色渐变光线旋转特效
代码如下:
var pMaxSize:Number = 150;
var pCenterX:Number = 275;
var pCenterY:Number = 200;
var pNumTraces:Number = 20;
var pNumLayers:Number = 30;
var pCurrentLayer:Number = 0;
var pLineColour:Number;
var pPointDegree:Array = new Array();
var pPointDegreeChange:Array = new Array();
var pPointScale:Array = new Array();
var pPointScaleChange:Array = new Array();
var pPointX:Array = new Array();
var pPointY:Array = new Array();
var pBaseTimeline:MovieClip;
var pIntervalId:Number;
function init(baseTimeline:MovieClip):Void {
pBaseTimeline = baseTimeline;
pBaseTimeline.createEmptyMovieClip(“holder”, 0);
for (var j:Number = 0; j
pBaseTimeline.createEmptyMovieClip(“layer”+j, j+1);
pBaseTimeline[“layer”+j]._x = pCenterX;
pBaseTimeline[“layer”+j]._y = pCenterY;
}
initTraces();
pBaseTimeline.holder.onEnterFrame. = function() {
moveSpheres();
};
pIntervalId = setInterval(this, “updateSeeds”, );
}
function initTraces() {
for (var i:Number = 0; i
pPointX = 0;
pPointY = 0;
pPointDegree = (6.28318530718/pNumTraces)*i;
pPointScale = 50;
}
updateSeeds();
for (i=0; i
plotLine(i);
}
}
function moveSpheres() {
for (var i:Number = 0; i
pPointDegree += pPointDegreeChange;
pPointScale += pPointScaleChange;
plotLine(i, true);
}
pBaseTimeline[“layer”+pCurrentLayer]._alpha = 100;
pCurrentLayer = (pCurrentLayer+1)%pNumLayers;
for (var j:Number = 0; j
pBaseTimeline[“layer”+((pCurrentLayer+j)%pNumLayers)]._alpha = (j/pNumLayers)*100;
}
pBaseTimeline[“layer”+pCurrentLayer].clear();
}
function plotLine(i:Number, drawLine:Boolean) {
pBaseTimeline[“layer”+pCurrentLayer].lineStyle(1, pLineColour, 100);
pBaseTimeline[“layer”+pCurrentLayer].moveTo(pPointX, pPointY);
pPointX = (Math.cos(pPointDegree)*pPointScale);
pPointY = (Math.sin(pPointDegree)*pPointScale);
if (drawLine == true) {
pBaseTimeline[“layer”+pCurrentLayer].lineTo(pPointX, pPointY);
}
}
function updateSeeds() {
var deg:Number;
var scale:Number;
deg = randomRange(-100, 100)/2000;
if (pPointScale[0]>pMaxSize) {
scale = randomRange(-10, 0)/2;
} else if (pPointScale[0]<-pMaxSize) {
scale = randomRange(0, 10)/2;
} else {
scale = randomRange(-10, 10)/2;
}
for (var i:Number = 0; i
pPointDegreeChange = deg;
pPointScaleChange = scale;
}
pLineColour = randomRange(0, 0xFFFFFF);
}
function randomRange(min:Number, max:Number):Number {
var randomNum:Number = Math.round(Math.random()*(max-min))+min;
return randomNum;
}
init(this);
篇5:学习
学习
学习正文:学习 福建省泉州 七中分校 C=3 凌笑炎 刚上中学时,老师问我们:“你们说人格的最大缺陷是什么?”我们有的说骄傲,有的说虚伪,有的说嫉妒。老师说:“我看是脆弱。它是各种错误的根源,是你取得成功的.绊脚石。”我把老师的话牢牢记下,努力寻找和战胜自己的脆弱。 我似乎生来胆小、怯懦,众人面前不敢说话,上课不敢举手发言。一次老师让我读课文,我紧张得浑身发抖,音儿都变了。惹得同学们直笑。课后我忽然意识到胆小就是脆弱,我必须克服和战胜它。从此,我课前认真准备,课上主动争取读课文,举手发言,慢慢就不害怕了,表达和朗读能力也大有提高,受到老师的夸奖。 我还有点虚荣心。最经不住长辈当众批评。一次姑姑到我家来,我在饭桌上宣布表妹在学校作文竞赛中得了奖,爸爸当即指着我鼻子说:“你瞧瞧人家妹妹!”一句话把我说得满脸通红,恨不得有个地缝钻进去。胡乱吃完饭,就躲到自己屋里偷偷哭起来。哭着哭着,老师的话又在我耳边响起:人格的最大缺陷是……咳,真是的 。别人瞧不起,不正好激励自己争气、上进?表妹好,不正多了个学习对象?看来虚荣也是脆弱,必须克服和战胜它。从此我求真务实,苦练作文,终于在市作文竞赛中获得了二等奖。我提醒爸妈不必张扬,因为战胜脆弱才是我主要的收获。 其实,在苦练作文的过程中,我也有过动摇。看了不少书,观察了不少事,写了一篇又一篇,就是不见长进,于是失去了信心。这时偶翻笔记本,其中一行字印入眼帘:脆弱是成功路上的绊脚石。我心里一振,不觉又拿起笔来。在老师、父母、同学们的帮助下,我的作文终于上去了,噢,动摇也是一种脆弱,我战胜了它,从而取得成功。 脆弱还有种种,我战胜脆弱的故事多多,限于时间,就此打住。朋友,你想追求人格的完美吗?请你首先学会战胜自己的种种脆弱。投稿:-10-2 9:11:12
篇6:学习
学习
学习有一则古文是:天下事难易乎?为之,则难者亦易乎;不为,则易者亦难矣。人之为学难易乎?学之,则难者亦易矣;不学,则易者亦难矣。这则古文的意思是:天下的事情有困难和容易的区别吗?只要去做,那么困难的事情也就变得容易了;如果不去做,那么容易的事情也就困难了。学习也有困难和容易的区别吗?只要去做,那么困难的题也就变得容易了;如果不去做,那么容易的题也就困难了。 作文网
《醉翁亭记》的作者是欧阳修。欧阳修,且是唐宋八大家的领袖。对于他的才能,现代没有任何人能超过他,他为什么能取得如此大的成就呢?他自己曾这样说过:“我取得的这些成就,只不过抓住了马上、枕上、厕上的时间来读书。”也就是说:他骑在马上,头枕枕头,上厕所的时间,都在学习。这就是他取得成绩的诀窍。 作文网
那时,他的家境非常贫困,四岁时就死了父亲,他是靠母亲用茅草在沙地上教他写字的,由于他家境贫困买不起书,他就去抄借别人的书,有时昼夜废寝忘食。在这艰苦的`环境里,他终于磨练出来了。他读书的条件和我们相比,真是我们在天上,他在地下。若用他的成绩和我们的成绩相比,那他就在天上,我们在地下了。我们具有这样优越的条件,为什么不好好学习呢?为什么不像古人学习呢?别人能做到的事情,我们为什么做不到呢?
篇7:学习
人生之乐莫过于放假,
放假之后迎来个月考,
月考ok进入紧张学习,
学习就是我的必修课。
篇8:学习
“时针一天转几圈?”林老师问我们。
我们的答案五花八门,各式各样,有说50的,还有说100的,就像猜谜语似的,都有十几个同学被罚站了,我算了算了,心里有数了,但我也害怕说错,万一错了也要被罚站的。高文昭问我,我告诉了她,可偏偏这时林老师叫到我:“唐睿琪,你说。”我站起来毫不犹豫脱口说:“24圈。”
林老师说:“对了,你座下吧!”
可是有的同学说:“林老师不对,不是24圈。”
林老师说:“大家想一想,时针走一圈是一个小时,一天24小时不就是24圈吗?林老师边说边画了图,一讲同学们都明白了。
其实这些东西很我们生活很近,仔细想一下就知道了。
一天,天气格外晴朗,我帮妈妈干家务活。我们先挂窗帘,我扶着妈妈,生怕妈妈摔下去。接着,我们又擦玻璃,妈妈站在叉梯上,我也去帮忙,站在叉梯上帮妈妈擦玻璃,妈妈说:“叉梯经受不住,快点下去!”我说:“能经受得住,你重六十千克,我重四十一千克,合起来是一百零一千克,而叉梯的载重量是一百五十千克,一百零一千克小于一百五十千克,所以我能上去。”妈妈赞许地说:“看来你数学学的真不错嘛!”听了妈妈的话,我心里像吃了蜜一样甜。我又接着擦起玻璃来,不一会儿就把玻璃擦得干干净净,看起来像没有东西一样。让人看着心情真舒畅!
我一定要好好学习数学,因为数学的用处可真大呀!
★学习格言
★学习报告
★学习句子
文档为doc格式