-
Random Object Remove
Hi guys, I'm trying to create a game where cubes fall from the sky. The cubes are randomly picked from an array and when you click on them they should go away. But for every cube you click it should add 2 new once. Here is what I have so far but its just not working
package {
import flash.display.Sprite;
import flash.ui.Mouse;
import flash.events.*;
public class fallingcubes extends Sprite {
var cubes_missed:Number = 0
var count:Number = 0
var max_cubes = 10;
var cubes_on_stage = 0;
var gravity = 0.3;
var influence = 625;
var real_influence = Math.sqrt(influence);
var friction = 0.9;
var divider = 50;
var randomNum:int = 0
var randomA:int
var Absprite: Ab = new Ab(); //this is just 4 cube pictures/objects
var Agsprite: Ag = new Ag();
var Arsprite: Ar = new Ar();
var Aysprite: Ay = new Ay();
var AArray:Array = [Absprite, Agsprite, Arsprite, Aysprite];
public function fallingcubes() {
addEventListener(Event.ENTER_FRAME,main_enterframe );
}
public function main_enterframe(event:Event) {
randomA = Math.random()* ( 4 - 0) + 0;
trace (randomA)
if (cubes_on_stage<max_cubes) {
//adding a star
cubes_on_stage++;
var Absprite: Ab = new Ab();
var Agsprite: Ag = new Ag();
var Arsprite: Ar = new Ar();
var Aysprite: Ay = new Ay();
AArray[randomA].xspeed = 0;
AArray[randomA].yspeed = 0;
AArray[randomA].x = Math.random()*900+25;
AArray[randomA].y = 100
AArray[randomA].addEventListener(Event.ENTER_FRAME,cubesprite_ent erframe);
addChild(AArray[randomA]);
AArray[randomA].addEventListener(MouseEvent.CLICK,remove_cube)
function remove_cube (e:MouseEvent):void{
count += 1
trace("you hit me ", count)
removeChild(AArray[randomA])
max_cubes += 1
cubes_on_stage--
if (count == 20){
gravity = 0
stage.removeEventListener(MouseEvent.CLICK, remove_cube)
}
}
}
}
public function cubesprite_enterframe(event:Event) {
var current_star = (event.currentTarget as AArray[randomA])
current_star.yspeed += gravity;
current_star.xspeed *= friction;
current_star.yspeed *= friction;
current_star.y += current_star.yspeed;
current_star.x += current_star.xspeed;
current_star.rotation -= (current_star.xspeed+current_star.yspeed);
if (current_star.y>640) {
if (this.contains(current_star)){
current_star.removeEventListener(Event.ENTER_FRAME ,cubesprite_enterframe);
removeChild(current_star);
cubes_missed += 1
cubes_on_stage--;
trace ("You missed ", cubes_missed)
}
}
}
}
}
can anyone help
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|