早教吧作业答案频道 -->其他-->
AS3.0,在满足某个条件下,就生成一个随机位置,随机运动的小球。要求小球在舞台上匀速直线运动,碰到边界就弹回。但每个小球的速度都不一样,而且出现的位置也要随机。要求能重复
题目详情
AS3.0,在满足某个条件下,就生成一个随机位置,随机运动的小球。
要求小球在舞台上匀速直线运动,碰到边界就弹回。但每个小球的速度都不一样,而且出现的位置也要随机。要求能重复生成小球,越来越多。该如何用代码实现呢?
要求小球在舞台上匀速直线运动,碰到边界就弹回。但每个小球的速度都不一样,而且出现的位置也要随机。要求能重复生成小球,越来越多。该如何用代码实现呢?
▼优质解答
答案和解析
首先,在库里有一个小球元件,元件中心就是小球的中心,然后输一下代码;
var sw:Number = 550; //Stage Widht,舞台宽,自定
var sh:Number = 400; //Stage Height,舞台高,自定
function creatBall():void{
//创建小球
var ball:Ball = new Ball();
//随机位置
ball.x = Math.random()*sw;
ball.y = Math.random()*sh;
//随机速度和方向
Math.random()>0.5?ball.speedX = Math.random()*5+1 : ball.speedX = -1 * Math.random()*5+1
Math.random()>0.5?ball.speedY = Math.random()*5+1 : ball.speedY = -1 * Math.random()*5+1
//因为小球的坐标原点是小球的中心,所以用该函数用来调整小球位置,防止移出边界
adjustBall(ball);
//添加小球到显示列表
addChild(ball);
//用ENTER_FRAME侦听器使小球运动
ball.addEventListener(Event.ENTER_FRAME,moveBall);
}
function adjustBall(mc:MovieClip):void{
if(mc.x > sw-mc.width/2){mc.x = sw-mc.width/2;}
if(mc.x < mc.width/2){mc.x = mc.width/2};
if(mc.y > sh-mc.height/2){mc.y = sh-mc.height/2;}
if(mc.y < mc.height/2){mc.y = mc.height/2;}
}
function moveBall(evt:Event):void{
//改变小球的坐标让小球运动
evt.target.x += evt.target.speedX;
evt.target.y += evt.target.speedY;
//检测小球是否碰到舞台边界
if(evt.target.x >= sw-evt.target.width/2 || evt.target.x <= evt.target.width/2){
evt.target.speedX *= -1;
}
if(evt.target.y >= sh-evt.target.height/2 || evt.target.y <= evt.target.height/2){
evt.target.speedY *= -1;
}
}
最后,在“满足某个条件下”调用creatBall函数就行了。
看了 AS3.0,在满足某个条件下...的网友还看了以下:
要求数学好的进来,困扰多天从1~10号球里面,共10个球,随机抽取5个球,每次有放回.就是每次都是 2020-06-24 …
这个概率怎么算袋里有12个球,每次随意抓取2个,那么刚好抓到我要的那2个球的概率是多少袋里有12个 2020-06-24 …
一个口袋有2个红球和4个黄球,从中随机的连取3个球,每次取一个.记事件A=“恰有一个红球”,事件B 2020-06-27 …
袋子共装有9个球,其中4个白球,4个黄球,一个黑球,每次从袋中取出一个球(不放回,且每球取到的机会 2020-07-08 …
离散型随机变量的分布列1:袋中有8个白球,2个黑球,从中随机地连续取3次球,每次取1个,不放回抽样 2020-07-14 …
设有10个球,其中有6个白球,4个黑球.随机地从中取两个球,每取一次都要把球放回.见以上问题.求所 2020-07-20 …
已知盒中有n个黑球和m个白球,连续不放回地从中随机取球,每次取一个,直到盒中无球,规定第i次取球若 2020-07-29 …
AS3.0,在满足某个条件下,就生成一个随机位置,随机运动的小球。要求小球在舞台上匀速直线运动,碰 2020-07-31 …
排列组合问题:三种颜色的乒乓球,每种颜色球都由4个号码为0,4个号码为1,4个号码为9的40个球组成 2020-11-01 …
摸色球盒子里装有10只红球、10只白球、10只黑球,小奥特曼从中随即摸球,每次只摸一只,直到摸出2只 2020-11-15 …