欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

Flash AS学习:深入BroadcasterMX

时间:2022-05-22 00:41:20 其他范文 收藏本文 下载本文

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

Flash AS学习:深入BroadcasterMX

篇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圈吗?林老师边说边画了图,一讲同学们都明白了。

其实这些东西很我们生活很近,仔细想一下就知道了。

一天,天气格外晴朗,我帮妈妈干家务活。我们先挂窗帘,我扶着妈妈,生怕妈妈摔下去。接着,我们又擦玻璃,妈妈站在叉梯上,我也去帮忙,站在叉梯上帮妈妈擦玻璃,妈妈说:“叉梯经受不住,快点下去!”我说:“能经受得住,你重六十千克,我重四十一千克,合起来是一百零一千克,而叉梯的载重量是一百五十千克,一百零一千克小于一百五十千克,所以我能上去。”妈妈赞许地说:“看来你数学学的真不错嘛!”听了妈妈的话,我心里像吃了蜜一样甜。我又接着擦起玻璃来,不一会儿就把玻璃擦得干干净净,看起来像没有东西一样。让人看着心情真舒畅!

我一定要好好学习数学,因为数学的用处可真大呀!

学习工作总结

学习格言

学习报告

学习句子

学习主持词

学习演讲稿

学习心得体会

学习读后感

学习普通话

学习检讨书

《Flash AS学习:深入BroadcasterMX(精选8篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档