2个回答
展开全部
假设它是 ball_mc;
使用TweenMax
move();
function move(){
TweenMax.to(ball_mc, Math.random()*3,{x:Math.random()*stage.stageWidth, y:Math.random()*stage.stageHeight, onComplete: move});
}
你的那些图片,也可以使用这个函数去随机移动,但素鼠标rollOver的时候要 TweenMax.killAll(); 移开的时候又需要再调用一次这个函数, 检测边缘你需要在X和Y那里写写
使用TweenMax
move();
function move(){
TweenMax.to(ball_mc, Math.random()*3,{x:Math.random()*stage.stageWidth, y:Math.random()*stage.stageHeight, onComplete: move});
}
你的那些图片,也可以使用这个函数去随机移动,但素鼠标rollOver的时候要 TweenMax.killAll(); 移开的时候又需要再调用一次这个函数, 检测边缘你需要在X和Y那里写写
展开全部
随机移动有多种形式,不知道您 要的是哪种形式?匀速?变速?直线?曲线?途中变向还是碰壁后转向?反弹吗?
import flash.geom.Rectangle;
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
var vx:Number=5,vy:Number=3;
//绘制一个圆,运动的物体......................
var r:uint=10;
var ball:Sprite =new Sprite();
ball.graphics.clear();
ball.graphics.lineStyle(1,0x00ff00);
ball.graphics.beginFill(0x00ff00);
ball.graphics.drawCircle(0,0,r);
ball.graphics.endFill();
ball.x=stage.stageWidth/2
ball.y=stage.stageHeight/2
this.addChild(ball);
//设置边界.................................
var boundary:Rectangle=new Rectangle(r,r,stage.stageWidth-r,stage.stageHeight-r);
//动力系统...........................
var timer:Timer=new Timer(50);
timer.start();
timer.addEventListener(TimerEvent.TIMER,run);
function run(e:TimerEvent):void {
if (ball.x<=boundary.left||ball.x>=boundary.right) {
vx=- vx;
}
if (ball.y<=boundary.top||ball.y>=boundary.bottom) {
vy=- vy;
}
ball.y+=vy;
ball.x+=vx;
}
import flash.geom.Rectangle;
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
var vx:Number=5,vy:Number=3;
//绘制一个圆,运动的物体......................
var r:uint=10;
var ball:Sprite =new Sprite();
ball.graphics.clear();
ball.graphics.lineStyle(1,0x00ff00);
ball.graphics.beginFill(0x00ff00);
ball.graphics.drawCircle(0,0,r);
ball.graphics.endFill();
ball.x=stage.stageWidth/2
ball.y=stage.stageHeight/2
this.addChild(ball);
//设置边界.................................
var boundary:Rectangle=new Rectangle(r,r,stage.stageWidth-r,stage.stageHeight-r);
//动力系统...........................
var timer:Timer=new Timer(50);
timer.start();
timer.addEventListener(TimerEvent.TIMER,run);
function run(e:TimerEvent):void {
if (ball.x<=boundary.left||ball.x>=boundary.right) {
vx=- vx;
}
if (ball.y<=boundary.top||ball.y>=boundary.bottom) {
vy=- vy;
}
ball.y+=vy;
ball.x+=vx;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询