flash as 制作躲避碰撞的盒子

flash as 制作躲避碰撞的盒子

在这个Actionscript 3教程中,我将为你展示怎样创建一个躲避被一个球碰撞的盒子。看上面的效果(单击那白色的球使它运动),让我们马上开始吧!

设置环境

1.创建一个新的Flash Actionscript 3影片 (340x200).
2.在舞台上画一个矩形.设置大小为20x20.
3.将矩形转换为MC.给它取一个你喜欢的名字,将注册点移到中心!
4.设连接属性中MC的类名为"Box".如果你对MC连接属性感到陌生的话,请查看 Actionscript 3 扩展类教程.
5.现在在舞台上画一个10x10的园.
6.将园转换为MC.给它取一个你喜欢的名字,将注册点移到中心!
7.设连接属性中MC的类名为"Ball".
8.从舞台上删除园和矩形.
进入 Actionsctipt9. 在第一帧输入下列Actionscript代码.
//这个数组包含所有的盒子
var boxes:Array = new Array();
//设置球的速度
var ballSpeed:Number = -4;
//循环添加8个盒子到舞台
for (var i = 0; i < 9; i++) {
//创建一个盒子
var box:Box = new Box();
//添加一个位置
box.y = 150;
box.x = box.width * i * 1.5 + 40;
//添加一个盒子到数组
boxes.push(box);
//在舞台上添加一个盒子
addChild(box);
}
//创建一个盒子并设置它的右边
var ball:Ball = new Ball();
ball.x = 320;
ball.y =155;
//使球看起来象按钮 (手形光标)
ball.buttonMode = true;
//把球添加到舞台上
addChild(ball);
//侦听用户点击球的时候
ball.addEventListener(MouseEvent.CLICK, ballClicked);
//当用户点击球时这个函数被调用
function ballClicked(e:Event):void {
//在整个动画过程中添加ENTER_FRAME
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
//在每一帧这个函数被调用
function enterFrameHandler(e:Event):void {
//将球左移2像素
ball.x += ballSpeed;
for (var i = 0; i < boxes.length; i++) {
//从数组获得一个盒子
var box:Box = boxes as Box;
//检测从球到盒子的x距离
var distX:Number = ball.x - box.x;
//球来自右边
if (distX < 50 && distX > 0 && ballSpeed < 0) {
//把盒子推上去
box.y -= 2;
}
//球离开左边
else if (distX < 50 && distX < 0 && ballSpeed < 0) {
//如果球没有在原来的位置则往下落
if (box.y <= 150) {
box.y += 2;
}
}
//球从左边来
if (distX < 0 && distX > -50 && ballSpeed > 0) {
//往上推盒子
box.y -= 2;
}
//球离开右边
else if (distX < 50 && distX > 0 && ballSpeed > 0) {
//如果球没在原来的位置则往下落
if (box.y <= 150) {
box.y += 2;
}
}
//如果球到了左边则改变方向
//或者右边边缘
if (ball.x + 5 >stage.stageWidth || ball.x - 5 < 0) {
//反转速度
ballSpeed *= (-1);
}
}
}
测试你的影片,我希望你能从这里学到一些新的东西。记住如果你有任何问题,请毫不犹豫地到论坛提问。

下面附代码供学习研究:

var boxes:Array = new Array(); 
var ballSpeed:Number = -4; 
for (var i = 0; i < 9; i++) { 
var box:Box = new Box(); 
box.y = 150; 
box.x = box.width * i * 1.5 + 40; 
boxes.push(box); 
addChild(box); 

var ball:Ball = new Ball(); 
ball.x = 320; 
ball.y =155; 
ball.buttonMode = true; 
addChild(ball); 
ball.addEventListener(MouseEvent.CLICK, ballClicked); 
function ballClicked(e:Event):void { 
addEventListener(Event.ENTER_FRAME, enterFrameHandler); 

function enterFrameHandler(e:Event):void { 
ball.x += ballSpeed; 
for (var i = 0; i < boxes.length; i++) { 
var box:Box = boxes[i]; 
var distX:Number = ball.x - box.x; 
if (distX < 50 && distX > 0 && ballSpeed < 0) { 
box.y -= 2; 

else if (distX < 50 && distX < 0 && ballSpeed < 0) { 
if (box.y <= 150) { 
box.y += 2; 


if (distX < 0 && distX > -50 && ballSpeed > 0) { 
box.y -= 2; 

else if (distX < 50 && distX > 0 && ballSpeed > 0) { 
if (box.y <= 150) { 
box.y += 2; 


if (ball.x + 5 >stage.stageWidth || ball.x - 5 < 0) { 
ballSpeed *= (-1); 


}

效果

时间: 2024-11-19 01:14:07

flash as 制作躲避碰撞的盒子的相关文章

用Flash 8 制作燃烧的香烟动画(2)

课程标题:用Flash 8 制作燃烧的香烟动画(2) 课程目标:能够运用 Flash 8 绘制物体并掌握 Flash 8 新功能. 课程要点:视频教程教你如何绘制烟灰缸和香烟,以及运用flash 8 的滤镜新功能制作动画效果.本教程共计5节,这是第2节. 观看教程:[全屏观看] (3.54MB) 下载教程:[下载教程] 实例效果预览: 必须安装Flash Player 8.0播放器方能正常观看,[官方下载] 上一节: 用Flash 8 制作燃烧的香烟动画(1) 下一节: 用Flash 8 制作燃

用Flash 8 制作燃烧的香烟动画(1)

课程标题:用Flash 8 制作燃烧的香烟动画(1) 课程目标:能够运用 Flash 8 绘制物体并掌握 Flash 8 新功能. 课程要点:视频教程教你如何绘制烟灰缸和香烟,以及运用flash 8 的滤镜新功能制作动画效果.本教程共计5节,这是第1节. 观看教程:[全屏观看] (858KB) 下载教程:[下载教程] 实例效果预览: 必须安装Flash Player 8.0播放器方能正常观看,[官方下载] 下一节: 用Flash 8 制作燃烧的香烟动画(2)

flash实例-制作壮观瀑布

本教程为大家介绍如何使用flash制作瀑布效果,效果非常不错,下面一起来看看具体操作吧. 效果图1 效果图2 flash 8 制作瀑布: 1.准备好一张清晰的瀑布图片,启动FLASH,设背景为蓝色,其它默认. 图1 2.文件--导入--导入到库,把图片导入. 图2 3.在第一层的第1 帧,把图片从库里拖进舞台,调整图片和舞台一样大小. 图3 4.打开对齐面版,选相对于舞台,水平对齐,垂直对齐. 图4 5.增加图层2 ,右键点图层1 的第1 帧--复制帧,右键点图层2 的第1 帧,粘贴帧. 图5

Flash AS3制作个性的旋转圆形网页导航

核心提示:Flash AS3制作个性的旋转圆形网页导航教程. Flash AS3制作个性的旋转圆形网页导航. 1.用矩形工具绘制一个黑色的矩形,转换为MC影片剪辑,打开属性窗口 2.双击这个影片剪辑编辑它,使用文本工具,设置为动态文本,绘制一个区域,设置颜色是白色,命名实例名为abelBtn. 3.回到场景1,删除掉刚刚建立的影片剪辑. 4.我们选择第一帧,然后打开动作面板,输入下面代码,主要是为了导入Tweenlite engine. import com.greensock.*; impor

Flash相册制作大师的操作步骤

核心提示: Flash相册制作大师让您将喜爱的照片在一分钟之内转换成精彩的Flash动画. 相关下载: Flash相册制作大师V7.5       <Flash相册制作大师>让您将喜爱的照片在一分钟之内转换成精彩的Flash动画.整个过程操作简单,只要选择好我们给您提供的模板,添加您的照片即可导出SWF文件.您完全不用懂得烦琐的Flash制作和照片的处理过程,一切由Flash相册制作大师帮您轻松解决. 下载地址:    Flash相册制作大师          1.如果您已经安装了Flash相

全Flash网站制作剖析

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

专用Flash网站制作工具A4Desk技巧拾零

技巧 A4Desk作为一款傻瓜式的Flash网站制作工具,受到了许多用户的喜爱,下面笔者在使用过程中发现了一些小技巧,写出来供大家参考. 1. 快速更新网站文字 在Flash网站各子界面制作过程中,网站文字可以通过复制.粘贴.甚至直接导入文本的方式进行.这里介绍的方法是连A4Desk都不用打开,直接修改文本文件即可更新网站文字了.因为在制作Flash网站时,在软件安装目录下会自动生成一个import文件夹,该文件夹里的每一个文本文件的内容都和网站页面的内容相对应的,找到相应的文本文件即可进行修改

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

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

Flash动画制作大揭秘 五彩缤纷海洋世界

flash动画 在网上提起最热门最炙手可热的动画制作软件,大家也许第一个就会想到Flash,<小小动作作品系列>.<东北人都是活雷锋>.<大话三国>等等这些在互联网上广为流传,为广大网民所非常喜爱的作品都是用Flash制作的.提起Flash,我想大家都不会陌生,它是美国著名的多媒体软件公司Macromedia开发的矢量图形编辑和交互式动画制作专业软件,该软件与同是Macromedia公司出品的Dreamweaver(网页编辑软件).Fireworks(图像处理软件)合称