as3 as3.让多个物体运动怎么写代码?

问题描述:

as3 as3.让多个物体运动怎么写代码?
我写的代码如下,但只能让一个物体运动,我目的是所有物体都一样运动,
改完希望测试一下,测试成功即采纳!
const n=10;
const g=.1;
var arr:Array=[];
var vx:Array=[];
var vy:Array=[];
for (var i:int = 0; i550-na.width/2) {
na.x=550-na.width/2;
vx[1]=- vx[1];
}
if (na.x
1个回答 分类:综合 2014-11-03

问题解答:

我来补答
const n = 10;
const g = .1;
var arr:Array = [];
var vx:Array = [];
var vy:Array = [];
for (var i:int = 0; i<n; i++) {
 arr[i]=new Sprite();
 var na = arr[i];
 addChild(na);
 na.graphics.beginFill(0xffffff*Math.random());
 na.graphics.drawCircle(0,0,Math.random()*50+10);
 na.x = Math.random() * 550;
 na.y = Math.random() * 200;
 na.name=String(i);
 //trace(Number(na.name.substr(8)));
 vy[i] = 0;
 vx[i] = 0;
 na.addEventListener(MouseEvent.ROLL_OVER,roll);
}
var fx:Number = .95;
var fy:Number = .9;
stage.addEventListener(Event.ENTER_FRAME,fdo);
function fdo(e:Event):void {
 for (i = 0; i<n; i++) {
  na = arr[i];
  vy[i] +=  g;
  na.y +=  vy[i];
  
  na.x +=  vx[i];
  if (na.y > 400 - na.width / 2) {
   na.y = 400 - na.width / 2;
   vy[i] =  -  vy[1] * fy;
   vx[i] = vx[i] * fx;
  }
  if (na.x > 550 - na.width / 2) {
   na.x = 550 - na.width / 2;
   vx[i] =  -  vx[i];
  }
  if (na.x < na.width / 2) {
   na.x = na.width / 2;
   vx[i] =  -  vx[i];
  }
 }
}
function roll(event:MouseEvent):void {
 var ba=event.currentTarget;
 var i=int(ba.name);
 vy[i] = -3;
 vx[i] = (na.x-mouseX)/3;
}
//注意逻辑
 
 
展开全文阅读
剩余:2000
上一页:一道物理提题