2014-09-15 | 再次归来,庆祝一下。
类别(Flash课件设计) | 评论(0) | 阅读(301) | 发表于 18:04

太久没有回来看了,有好一阵子网站基本处于打不开,也搜索不到的状态,以为就它这么消失了。忽然有一天,一封救助Flash的邮件让我知道网站又回来了,如同之前很多次的起死回生一样,吾弟(5d)又回来了。

总排行上,我的博客还是前十,基本有两年多没有更新了,期间工作关系,全然没有余力来更新一下flash的知识。最近一年倒是论文写作的需要,捡起flash来做课题的软件验证,倒也用得比较顺手。

无论哪个行业,做课题就必须掌握一门编程语言,无论它是网页工具还是动画工具,理论上升到逻辑验证阶段时,懂一门编程是多么的方便啊。

感谢不知名的网友发来的邮件,让我又回到这里重温一下过去与flash一起的美好日子。做为回报,我把程序代码发在下面供大家参考。

程序功能:元件库中有多张图片,利用属性绑定相应的类名(BDexcel、BDfla等),将这些图片依次摆20个到屏幕上,点击屏幕,图片的位置发生随机的调整。

关键点:

1、图片绑定类名,在调用时用 new 来生成,加载到bitmap类实例中使用。

2、图片全部存储到一个picArr 数组中。

3、图片的坐标数据保存到oldPsn数组中,对数组进行打乱顺序的操作,再利用这个数组将图片位置刷新。

 

import flash.display.BitmapData;

import flash.display.Bitmap;

import flash.events.MouseEvent;

 

var picArr:Array = new Array();

var bmd:BitmapData;

var bm:Bitmap;

for (var i:int =0; i<20; i++)

{

var rand:int = Math.random() * 100 % 4;//随机生成1至4,用来加载不同图片。

switch (rand)

{

case 0 :

bmd = new BDexcel();

break;

case 1 :

bmd = new BDflash();

break;

case 2 :

bmd = new BDhtml();

break;

case 3 :

bmd = new BDfla();

break;

default :

trace("Not 0, 1, 2 or 3");

}

bm = new Bitmap( bmd);

bm.scaleX = bm.scaleY = 0.5;//缩小图片。

bm.x =80*(i%5); //横向排开

bm.y = 80*Math.floor(i/5);//纵向排开

addChild( bm );

picArr.push( bm );

}

stage.addEventListener(MouseEvent.CLICK,changPicPosition);

function changPicPosition(evt:MouseEvent){

trace("it's ok");

var oldPsn:Array = new Array();

for (var i:int =0; i<20; i++){//读取图片的坐标数据。

oldPsn.push([picArr[i].x,picArr[i].y]);//用数组保存图片的原始坐标数据,实际上是一个二维数组,按照一维来用。

}

for( var j:int =0; j< 40;j++){

var firstPic:int = Math.random()*1000%oldPsn.length;//在数组中找到第一张图片的序号

var secondPic:int = Math.random()*1000%oldPsn.length;//在数组中找到第二张图片的序号

var tempPsn:Array = oldPsn[firstPic];//用数组转移的办法,将坐标数据[x,y]传递给中间变量。

oldPsn[firstPic] = oldPsn[secondPic];

oldPsn[secondPic] = tempPsn;//Flash中比较随意的就是数组直接可以等于另一个数组,简单实现内容替换。

}

for ( i =0; i<20; i++){//刷新图片位置。

picArr[i].x = oldPsn[i][0];

picArr[i].y = oldPsn[i][1];

}

}

  

 下载文件:assample

0

评论Comments