Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在AS3中生成随机坠落物体_Actionscript 3_Flash_Loops - Fatal编程技术网

Actionscript 3 在AS3中生成随机坠落物体

Actionscript 3 在AS3中生成随机坠落物体,actionscript-3,flash,loops,Actionscript 3,Flash,Loops,我想创建一组随机对象,以循环方式从舞台上落下 到目前为止,我已经创建了一个在随机x坐标下下落的测试对象。我在计算如何循环下落函数时遇到困难,因此对象的多个实例会连续下落 var randomX:Number = Math.random() * 800; test_mc.x = randomX; test_mc.y = 0; var speed:Number = 10; test_mc.addEventListener(Event.ENTER_FRAME, moveDown); funct

我想创建一组随机对象,以循环方式从舞台上落下

到目前为止,我已经创建了一个在随机x坐标下下落的测试对象。我在计算如何循环下落函数时遇到困难,因此对象的多个实例会连续下落

var randomX:Number = Math.random() * 800;

test_mc.x = randomX;
test_mc.y = 0;

var speed:Number = 10;

test_mc.addEventListener(Event.ENTER_FRAME, moveDown);

function moveDown(e:Event):void
{
 e.target.y += speed; 

 if(e.target.y >= 480)
 {
      test_mc.removeEventListener(Event.ENTER_FRAME, moveDown);
 }
}

创建一组对象,将它们添加到阵列中,然后在阵列中循环:

var numOfObjects:int = 10;
var fallingObjectArray:Array = [];
var speed:Number = 10;

// Add 10 falling objects to the display and to the array
for(var i:int = 0; i < numOfObjects; i++) {
   var fallingObject:Sprite = new Sprite();
   fallingObject.graphics.beginFill(0xFF0000);
   fallingObject.graphics.drawCircle(0, 0, 15);
   fallingObject.graphics.endFill();
   addChild(fallingObject);
   fallingObject.x = Math.random() * stage.stageWidth;
   fallingObjectArray.push(fallingObject);
}

addEventListener(Event.ENTER_FRAME, moveDown);

function moveDown(e:Event):void
{    
   // Go through all the objects in the array and move them down
   for each(var fallingObject in fallingObjectArray) {
      fallingObject.y += speed;
      // If the object is past the screen height, remove it from display and array
      if(fallingObject.y+fallingObject.height >= stage.stageHeight) {
         removeChild(fallingObject);
         fallingObjectArray.splice(fallingObjectArray.indexOf(fallingObject), 1);
      }
   }
   // Once all objects have fallen off the screen, remove the listener
   if(fallingObjectArray.length <= 0) {
      removeEventListener(Event.ENTER_FRAME, moveDown);
   }
}
var numOfObjects:int=10;
var fallingObjectArray:Array=[];
var速度:数字=10;
//将10个坠落物体添加到显示屏和阵列中
for(var i:int=0;i=舞台高度){
removeChild(fallingObject);
fallingObjectArray.splice(fallingObjectArray.indexOf(fallingObject),1);
}
}
//一旦所有对象都从屏幕上脱落,请移除侦听器

如果(fallingObjectArray.length创建一组对象,请将它们添加到数组中,然后在数组中循环:

var numOfObjects:int = 10;
var fallingObjectArray:Array = [];
var speed:Number = 10;

// Add 10 falling objects to the display and to the array
for(var i:int = 0; i < numOfObjects; i++) {
   var fallingObject:Sprite = new Sprite();
   fallingObject.graphics.beginFill(0xFF0000);
   fallingObject.graphics.drawCircle(0, 0, 15);
   fallingObject.graphics.endFill();
   addChild(fallingObject);
   fallingObject.x = Math.random() * stage.stageWidth;
   fallingObjectArray.push(fallingObject);
}

addEventListener(Event.ENTER_FRAME, moveDown);

function moveDown(e:Event):void
{    
   // Go through all the objects in the array and move them down
   for each(var fallingObject in fallingObjectArray) {
      fallingObject.y += speed;
      // If the object is past the screen height, remove it from display and array
      if(fallingObject.y+fallingObject.height >= stage.stageHeight) {
         removeChild(fallingObject);
         fallingObjectArray.splice(fallingObjectArray.indexOf(fallingObject), 1);
      }
   }
   // Once all objects have fallen off the screen, remove the listener
   if(fallingObjectArray.length <= 0) {
      removeEventListener(Event.ENTER_FRAME, moveDown);
   }
}
var numOfObjects:int=10;
var fallingObjectArray:Array=[];
var速度:数字=10;
//将10个坠落物体添加到显示屏和阵列中
for(var i:int=0;i=舞台高度){
removeChild(fallingObject);
fallingObjectArray.splice(fallingObjectArray.indexOf(fallingObject),1);
}
}
//一旦所有对象都从屏幕上脱落,请移除侦听器

如果(fallingObjectArray.length参考我的a降雪效果代码

雪的起始位置都是随机的,几乎和真实的降雪情况一样。如果你跑步,你会感到惊讶

《雪》是我的定制电影唇(白色圆形,宽15,高15)

这是我的演示:

以下是我的资料来源:

this.addEventListener(Event.ENTER\u FRAME,onEnter);
函数集合(e:事件):无效{
变量s:雪=新雪();
s、 x=550*Math.random();
s、 y=-20;
s、 宽度=s.height=1+9*Math.random();//1~9
s、 xSpeed=-2+4*Math.random();/-2~2
s、 ySpeed=1+4*Math.random();//1~5
s、 at=-0.001-0.001*数学随机();
s、 vt=0;
本.addChild(s);
s、 addEventListener(Event.ENTER_FRAME,onSnowEnter);
}
函数onSnowEnter(e:事件):void{
var s:Snow=e.当前目标为Snow;
s、 x+=s.x速度;
s、 y+=s.y速度;
如果(s.y>=480){
s、 addEventListener(Event.ENTER_FRAME,onMeltinger);
}
}
熔化器上的函数(e:事件):无效{
var s:Snow=e.当前目标为Snow;
本.addChild(s);
s、 removeEventListener(Event.ENTER_FRAME,onSnowEnter);
s、 vt+=s.at;
s、 α+=s.vt;

如果(s.alpha参考我的《降雪效果代码》

雪的起始位置都是随机的,几乎和真实的降雪情况一样。如果你跑步,你会感到惊讶

《雪》是我的定制电影唇(白色圆形,宽15,高15)

这是我的演示:

以下是我的资料来源:

this.addEventListener(Event.ENTER\u FRAME,onEnter);
函数集合(e:事件):无效{
变量s:雪=新雪();
s、 x=550*Math.random();
s、 y=-20;
s、 宽度=s.height=1+9*Math.random();//1~9
s、 xSpeed=-2+4*Math.random();/-2~2
s、 ySpeed=1+4*Math.random();//1~5
s、 at=-0.001-0.001*数学随机();
s、 vt=0;
本.addChild(s);
s、 addEventListener(Event.ENTER_FRAME,onSnowEnter);
}
函数onSnowEnter(e:事件):void{
var s:Snow=e.当前目标为Snow;
s、 x+=s.x速度;
s、 y+=s.y速度;
如果(s.y>=480){
s、 addEventListener(Event.ENTER_FRAME,onMeltinger);
}
}
熔化器上的函数(e:事件):无效{
var s:Snow=e.当前目标为Snow;
本.addChild(s);
s、 removeEventListener(Event.ENTER_FRAME,onSnowEnter);
s、 vt+=s.at;
s、 α+=s.vt;
如果(s.alpha