拖动与碰撞的应用,Flash学习

点击这里下载源文件

picx_array = new Array(); //图片元件的X坐标
picy_array = new Array(); //图片元件的Y坐标
xx_array = new Array(30, 135, 30, 135, 30, 135); //图片被放入答案框的位置 X坐标
yy_array = new Array(110, 110, 170, 170, 230, 230); // 图片被放入答案框的位置 Y坐标
ansxx_array=new Array(30,265,370,265,135,30); //显示答案时的图片位置x坐标
ansyy_array=new Array(110,110,110,170,110,170);
m1_array = new Array(0, 0, 0, 0, 0, 0); //第一个答案框放入图片位置标志
m2_array = new Array(0, 0, 0, 0, 0, 0); //第二个答案框放入图片位置标志
answer_array = new Array(0, 0, 0, 0, 0, 0); //答案记录数组
key_array = new Array(1, 2, 2, 2, 1, 1); //正确答案,1表示图片在第一个答案框
pic_num = 6; //图片总数
answer._visible = false; //结果显示板隐藏
answer.swapDepths(30); //交换到深度30
for (var i = 1; i<pic_num+1; i++) {
picx_array[i-1] = eval("pic"+i)._x; //将图片的初始位置存入数组
picy_array[i-1] = eval("pic"+i)._y;
eval("pic"+i).swapDepths(i); //并置入深度
eval("pic"+i).pd1 = 0; //位置变量
eval("pic"+i).pd2 = 0;
}
for (var i = 1; i<pic_num+1; i++) {
eval("pic"+i).onPress = function() {//图片接收鼠标按下信息
this.startDrag(); //将图片拖动
this.swapDepths(20); //深度置为20
this._alpha = 65; //透明度为65
m1_array[this.pd1-1] = 0;
m2_array[this.pd2-1] = 0;
};
eval("pic"+i).onRelease = function() {
this.stopDrag(); //停止拖动
tmp = Number(this._name.slice(3, 4)); //提取图片元件中的数字
this.swapDepths(tmp); //交换为原来的深度
this._alpha = 100; //透明度为100
if (this.hitTest(m1_mc)) { //如果与答案框一接触
end = 0;
for (var m = 1; m<7; m++) {
if (end == 0) {
if (m1_array[m-1] == 0) {
this._x = xx_array[m-1];
this._y = yy_array[m-1];
m1_array[m-1] = 1;
answer_array[tmp-1] = 1;
trace(answer_array);
end = 1;
this.pd1 = m;
this.pd2 = 0;
pd3 = 0;
continue;
}
this._x = picx_array[tmp-1];
this._y = picy_array[tmp-1];
answer[tmp-1] = 0;
this.pd1 = 0;
this.pd2 = 0;
pd3 = 0;
}
}
} else if (this.hitTest(m2_mc)) {
end = 0;
for (var m = 1; m<7; m++) {
if (end == 0) {
if (m2_array[m-1] == 0) {
this._x = xx_array[m-1]+240;
this._y = yy_array[m-1];
m2_array[m-1] = 1;
answer_array[tmp-1] = 2;
trace(answer_array);
end = 1;
this.pd1 = 0;
this.pd2 = m;
pd3 = 0;
continue;
}
this._x = picx_array[tmp-1];
this._y = picy_array[tmp-1];
answer[tmp-1] = 0;
this.pd1 = 0;
this.pd2 = 0;
pd3 = 0;
}
}
} else {
this._x = picx_array[tmp-1];
this._y = picy_array[tmp-1];
this.pd1 = 0;
this.pd2 = 0;
pd3 = 0;
}
};
}
answer_show.onRelease = function() {
answer._visible = true;
key = 0;
for (var i = 0; i<6; i++) {
if (answer_array[i] == key_array[i]) {
key++;
}
}
answer.right_num = key;
};
answer.head.onPress = function() {
answer.startDrag();
};
answer.head.onRelease = function() {
answer.stopDrag();
};
answer.close_win.onRelease = function() {
answer._visible = false;
};
answer.answer.onRelease=function(){
for(var i=1;i<7;i++){
eval("pic"+i)._x=ansxx_array[i-1];
eval("pic"+i)._y=ansyy_array[i-1];
eval("pic"+i).onPress=function(){ };
eval("pic"+i).onRelease=function(){ };
}

}

时间: 2024-12-31 15:11:42

拖动与碰撞的应用,Flash学习的相关文章

Flash学习:花招技巧荟萃

技巧 荟萃Flash使用中的各种"花招",出乎大家意料的效果. 如何将Flash转换为EXE文件 用一个小软件WinAFP,可以轻松完成.它除了Flash播放的功能外,还有将SWF文件和EXE文件互换的功能.运行软件后,点击其面板上的"齿轮"设置按钮,进入它的格式转换对话框.首先勾选"SWF→EXE"选项,然后设置源文件和目标文件的路径,最后点击"转换"按钮.这样得到的EXE文件会比原SWF文件大了200至300多KB,这是因

Flash学习:Accordion组件的使用实例

制作过程使用Flash MX Professional 2004中文版,以下为制作后的效果图: 点击这里下载源文件 制作过程: 第1步:新建"FLASH表单应用程序": 第2步:设置舞台尺寸为:200*300px: 第3步:将默认"表单1"名称改为"bottom"; 第4步:将Accordion组件拖入"bottom": 第5步:新建一影片剪辑:画一宽和高为13px;的图标:名字为:元件1: 第6步:回到库中:选中"

新手如何学习flash动画

一.如何打好基础 ※首先做好心理准备,第一阶段没有捷径,必须勒学苦练※ 1.上网自学 这是一方面,不过我不主张这样~~如果闭门造车能做出成绩~~我们就不必在外面拼的这么辛苦了~~我们的目的是实战! 2.进学习班 如果你有钱我也不反对.... 3.实习 这是我走的路线~我从直线怎么画都要人教的"基础"开始~不计较薪水,找一家flash工作室,找了一个师傅~便开始了flash学习.对师傅一定不要客气,该问什么就问什么~问到他烦也要继续问(很幸运我的师傅RP很好,百问不厌) 4.要有目标 既

Flash深入学习:全Flash网站制作剖析

(另外推荐学习:flash制作很出效果的韩国菜单 flash制作广告全程实例)     经过一段时间的Flash学习之后,很多朋友开始对那些全Flash网站的制作发生兴趣.全Flash网站基本以图形和动画为主,所以比较适合做那些文字内容不太多,以平面.动画效果为主的应用.如:企业品牌推广.特定网上广告.网络游戏.个性网站等. 制作全Flash网站和制作html网站类似,事先应先在纸上画出结构关系图,包括:网站的主题.要用什么样的元素.哪些元素需要重复使用.元素之间的联系.元素如何运动.用什么风格

全Flash网站制作剖析

经过一段时间的Flash学习之后,很多朋友开始对那些全Flash网站的制作发生兴趣.全Flash网站基本以图形和动画为主,所以比较适合做那些文字内容不太多,以平面.动画效果为主的应用.如:企业品牌推广.特定网上广告.网络游戏.个性网站等. 制作全Flash网站和制作html网站类似,事先应先在纸上画出结构关系图,包括:网站的主题.要用什么样的元素.哪些元素需要重复使用.元素之间的联系.元素如何运动.用什么风格的音乐.整个网站可以分成几个逻辑块.各个逻辑块间的联系如何.以及你是否打算用Flash建

如何成为一个合格的或者优秀的Flash制作者

1.学FLASH的目的要明确,是为了做简单的FLASH广告.LOGO.按钮还是为了做复杂的美工动画或者是学更为复杂的AS去做FLASH网站或游戏. 2.关于是否需要美工好才能学好FLASH,做好FLASH?这就是目标的问题,如果要做复杂的美工动画,当然是需要的,但是如果只学其他方面,比如广告等等,自然不需要什么深厚的美术基础,有那么一点点审美观就好了,况且现在做动画都是一个团队,有专业的美工,这样一说,其实谁都能学好做好FLASH,要有信心哦! 3.FLASH不是难学的工具,说来说去就只几种常见

给Flash初学者的几点建议

初学 接触Flash己有两年多了吧!虽然学习了这么久,但一直没有几个像样的作品拿出来,一是因为学业太紧,不能付出太多时间(一个好作品的诞生绝对是需要时间的).可能更重要的一个原因就是没掌握学习方法,走了太多的弯路.现在将我对Flash学习的反思,拿来供大家参考,当然,这只属于个人心得,不足之处还请各位批评指证. 一.过多的依靠Flash这个软件. 初学时,总以为能熟练掌握了Flash,就能做出很炫的作品,然而当我能轻松的操作时,却发现存在的问题太多了,令我郁闷了好长一段时间.其实,任何的软件都只

全Flash网站制作剖析-1

经过一段时间的Flash学习之后,很多朋友开始对那些全Flash网站的制作发生兴趣.全Flash网站基本以图形和动画为主,所以比较适合做那些文字内容不太多,以平面.动画效果为主的应用.如:企业品牌推广.特定网上广告.网络游戏.个性网站等. 制作全Flash网站和制作html网站类似,事先应先在纸上画出结构关系图,包括:网站的主题.要用什么样的元素.哪些元素需要重复使用.元素之间的联系.元素如何运动.用什么风格的音乐.整个网站可以分成几个逻辑块.各个逻辑块间的联系如何.以及你是否打算用Flash建

AS3 拖动对象实现方法

as3 拖动对象实现方法 在flash as3.0里面 有startdrag 函数 mc.startdrag(false, new rectangle(0, 0, 100, 0) ); 这样mc这个元件只能在x轴方向拖动 拖动范围是 0-100 mc.startdrag(false, new rectangle(10, 20, 100, 200) ); 这样mc是可以在x方向10-100 y轴方向20-200 这样一个矩形区域拖动 希望对你有帮助 user1.addeventlistener(m