网站大量收购独家精品文档,联系QQ:2885784924

第8章综合程序.doc

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章综合程序

第8章 综合程序 【案例89】方形框内随机移动的彩球 “方形框内随机移动的彩球”动画播放后的2幅画面如图8-1-1所示。一个彩球在一个正方形框架内来回移动,彩球的运动轨迹是随机的,并不断撞击正方形框架的内边框。而且先撞击框架的左或右内边框,再撞击框架的上或下内边框,然后再撞击框架的左或右内边框,交替进行,周而复始。同时,在屏幕的下边还会显示撞击的次数。而且正方形内会显示背景图像,背景图像有10幅,它们会在每撞击5次后依次切换显示。单击屏幕右下边的按钮,可以使小球移动暂停;单击屏幕左下边的按钮,可以使彩球继续移动。 图8-1-1 “方形框内随机移动的彩球”动画播放后的2幅画面 (1)设置动画页面大小为220px宽,220px高,背景色为白色。 (2)进入“背景图像”影片剪辑元件编辑窗口。单击“文件”→“导入到库”菜单命令,将10幅图像导入到当前动画的“库”面板中。单击选中“图层1”图层第1帧,将“库”面板中的一幅图像拖曳到舞台工作区中。然后,利用其“属性”面板,调整图像的宽为140px,高为140px,X=0、Y=0。 重复上述操作,使第1到第10帧内各放置一幅大小和位置相同的图像。 (3)创建一个名称为“小球”的影片剪辑元件,其内绘制一个红色立体球,它的大小与位置(小球中心的坐标值)是:宽=20、高=20、X=0、Y=0。 (4)在“图层1”图层第1帧的舞台工作区内,导入一幅正方形框架图像,如图8-1-1所示。正方形框架图像的大小与位置(图像中心的坐标值)是:宽=150、高=150,X=110、Y=110,正方形框架内框大小为宽=140、高=140。同时,还导入一幅“彩球随机移动”文字图象。 (5)在“图层1”图层的上边新增一个”图层2“图层。单击选中“图层2”图层的第1帧,再将“库”面板中的“背景图像”影片剪辑元件拖曳到舞台工作区中,形成实例。利用它的“属性”面板,给该实例命名为“BJ”。 (6)在“图层2”图层的上边新增一个“图层3”图层。单击选中“图层3”图层的第1帧,再将“库”面板中的“小球”影片剪辑元件拖曳到舞台工作区内的正中间,形成实例。利用它的“属性”面板,给该实例命名为“XQ”。 (7)单击选中“图层3”图层的第1帧,再将Flash公共库提供的两个按钮拖曳到舞台工作区内正方形框架的下边。在“属性”面板内,给左边按钮命名为“AN1”,右边按钮命名为“AN2”。在两个按钮之间,加入一个动态文本框,变量名为“text”,字体为宋体,字号为18,颜色为红色。此时的画面如图8-1-1所示。 (8)在“图层 1”图层第1帧加入如下程序。 //确定小球移动的起始坐标 x0 = _root.XQ._x;//将小球实例XQ的水平坐标值赋给变量x0 y0 = _root.XQ._y; //将小球实例XQ的垂直坐标值赋给变量y0 k++;//变量k是为了第1次产生随机坐标值而设置的,变量k第一次的值为1 /*如果是第一次执行该关键帧或起始坐标值(x0、y0)和终止坐标值(x1、y1)相等,则产生一个新的终止坐标数,并记下小球撞击方形边框的次数(nn),赋给动态文本框变量text,以显示小球撞击方形边框的次数。*/ if (x0==x1 or k==1){ m = 119-m; //变量m在0或119这两个数之间切换 x1 = random(121-m)*(m+1)+50; //产生目标坐标x1的随机数 y1 = random(m+2)*(120-m)+50; //产生目标坐标y1的随机数 nn++;//记小球撞击正方形边框的总次数 nk++;//记小球撞击正方形边框的次数 text=nn-1; // 将小球撞击方形边框的次数nn赋给文本变量text } if (x1x0){ x=x0+1;//如果x1x0,则小球x坐标值等于当前(即起始)坐标x0的值加1 } if (x1x0){ x=x0-1; //如果x1x0,则小球x坐标值等于当前(即起始)坐标x0的值减1 } y = y0+((y1-y0)/(x1-x0))*(x-x0);//根据已知的坐标值,计算小球y坐标值 setProperty(_root.XQ,_x,x);//改变小球的水平位置属性,以产生移动效果 setProperty(_root.XQ,_y,y); //改变小球的垂直位置属性,以产生移动效果 w=0; //延时程序 while(w1000){//循环语句,循环1000次 w++; } //如果变量nn等于50的整数倍,则重新给变量nk赋初值1,因为只有10幅图像 if (Math.ceil(nn/50)==nn/50){ nk=1; //重新给变量nk赋初值1 } //播放影片剪辑实例B

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档