This time, I went for something danmaku-style, since I have been playing way too much Touhou. But oh well.
The problem is, once ~500 bullets are on the screen, the game starts uh... lagging. I'm running it at 60 FPS, maybe too high, but without those 60 FPS, the game looks slow.
I added spellcards (preset patterns) too it, causing it too lag waaaay more. Only during one of those spellcards though. Here's a link to the uploaded swf: http://www.freewebs.com/pimgdtextrpg/TouhouDanmaku.swf
Controls: Arrow keys for moving, hold shift to focus (move slower, and show hitbox)
Is it normal for flash to start lagging at this point, or did I fail at coding? I used arrays and functions and classes and other stuff to run most of the code only once. (bullets go through ~100 lines of direction and other stuff settings, and use 20 lines for flying + graze)
I also ripped a lo- all the sprites from Touhou, as I was just funning around. But I'm trying to learn, so hey, why not.
As for the code:
//on character
onClipEvent(load){ stop(); }
onClipEvent(enterFrame){
_global.enemyTimer++;
_global.gameTime++;
_global.scoreTimer++;
if(_global.scoreTimer == 10){
_global.score += _global.difficulty;
_global.scoreTimer = 0;
}
if(_global.bulletsdead == 2){
_global.bulletsdead = 0;
}
if(_global.gameTime == 1800){
_global.spellcard = 1;
_global.bulletsdead = 2;
}
if(Key.isDown(key.SHIFT)){
this.gotoAndStop(2);
if(Key.isDown(key.LEFT)){
this._x = this._x - 1;
}
if(Key.isDown(key.RIGHT)){
this._x = this._x + 1;
}
if(Key.isDown(key.UP)){
this._y = this._y - 1;
}
if(Key.isDown(key.DOWN)){
this._y = this._y + 1;
}
} else {
this.gotoAndStop(1);
if(Key.isDown(key.LEFT)){
this._x = this._x - 2.5;
}
if(Key.isDown(key.RIGHT)){
this._x = this._x + 2.5;
}
if(Key.isDown(key.UP)){
this._y = this._y - 2.5;
}
if(Key.isDown(key.DOWN)){
this._y = this._y + 2.5;
}
}
if(this._x < 13.5){
this._x = 14;
} else if(this._x > 486.5){
this._x = 486;
}
if(this._y < 21){
this._y = 21.5;
} else if(this._y > 479){
this._y = 478.5;
}
if(_global.bulletsdead == 0 && _global.spellcard == 0){
if(_global.difficulty == 1){
if(_global.enemyTimer >= 25){
_global.enemyTimer = 0;
var Spawner = _root.attachMovie("Spawner", "Spawner"+_root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner.spawntype = new Array(1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0);
Spawner.inspellcard = 0;
}
} else if(_global.difficulty == 2){
if(_global.enemyTimer >= 20){
_global.enemyTimer = 0;
var Spawner = _root.attachMovie("Spawner", "Spawner"+_root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0);
Spawner.inspellcard = 0;
}
} else if(_global.difficulty == 3){
if(_global.enemyTimer >= 15){
_global.enemyTimer = 0;
var Spawner = _root.attachMovie("Spawner", "Spawner"+_root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0);
Spawner.inspellcard = 0;
}
} else if(_global.difficulty == 4){
if(_global.enemyTimer >= 10){
_global.enemyTimer = 0;
var Spawner = _root.attachMovie("Spawner", "Spawner"+_root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner.spawntype = new Array(2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,0);
Spawner.inspellcard = 0;
}
}
}
if(_global.bulletsdead == 1){
_global.lifecounter++;
if(this._alpha == 100){
this._alpha = 0;
} else if(this._alpha == 0){
this._alpha = 100;
}
if(_global.lifecounter >= 60){
_global.bulletsdead = 0;
_global.lifecounter = 0;
this._alpha = 100;
}
}
if(_global.spellcard == 1){
_global.spellcard1Time++;
if(_global.spellcard1Time < 50){
if(_global.spellcard1Time == 1){
_global.spellcardmsg = 1;
}
if(_global.spellcard1Time == 10){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 50;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 20){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 75;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 30){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 100;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 40){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 125;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
}
} else if(_global.spellcard1Time < 100){
if(_global.spellcard1Time == 50){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 150;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 60){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 175;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 70){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 200;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 80){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 225;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 90){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 250;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
}
} else if(_global.spellcard1Time < 150){
if(_global.spellcard1Time == 100){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 275;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 110){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 300;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 120){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 325;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 130){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 350;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 140){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 375;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
}
} else if(_global.spellcard1Time < 200){
if(_global.spellcard1Time == 150){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 400;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 160){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 25;
Spawner._y = 450;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0);
} else if(_global.spellcard1Time == 170){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 475;
Spawner._y = 450;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0);
} else if(_global.spellcard1Time == 180){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 55;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
} else if(_global.spellcard1Time == 190){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 80;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
}
} else if(_global.spellcard1Time < 250){
if(_global.spellcard1Time == 200){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 105;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
} else if(_global.spellcard1Time == 210){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 130;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
} else if(_global.spellcard1Time == 220){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 155;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
} else if(_global.spellcard1Time == 230){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 180;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
} else if(_global.spellcard1Time == 240){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 205;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
}
} else if(_global.spellcard1Time < 300){
if(_global.spellcard1Time == 250){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 230;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
} else if(_global.spellcard1Time == 260){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 255;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
} else if(_global.spellcard1Time == 270){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 280;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
} else if(_global.spellcard1Time == 280){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 305;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
} else if(_global.spellcard1Time == 290){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 330;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
}
}
if(_global.spellcard1Time == 300){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 355;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
}
if(_global.spellcard1Time == 310){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 380;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
}
if(_global.spellcard1Time == 320){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 405;
Spawner._y = 100;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
}
if(_global.spellcard1Time == 400){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 20;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 30;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 40;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 50;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 450;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 460;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 470;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 480;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
}
if(_global.spellcard1Time == 450){
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 50;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 70;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 90;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 110;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 130;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 170;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 190;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 210;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 230;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 250;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 270;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 290;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 310;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 50;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 70;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 90;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 110;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 130;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 150;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 170;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 190;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 210;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 230;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 250;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 270;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 290;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 310;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 10;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 20;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 30;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 40;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 50;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 60;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 70;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 80;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 90;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 100;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 490;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 480;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 470;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 460;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 450;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 440;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 430;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 420;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 410;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
var Spawner = _root.attachMovie("Spawner","Spawner" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Spawner._x = 400;
Spawner._y = 10;
Spawner.inspellcard = 1;
Spawner.spawntype = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0);
}
if(_global.spellcard1Time == 900){
_global.spellcard1Time = 0;
_global.spellcard = 0;
}
}
}
//==================================
//Spawner Class:
class Spawner extends MovieClip
{
var disappear;
var bulletcounter;
var inspellcard;
var spawntype;
var dir;
var i;
function onLoad()
{
disappear = 1;
bulletcounter = 0;
this._visible = false;
if(inspellcard == 0){
_x = random(400) + 50;
_y = random(300) + 50;
}
if((_x < (_root.HakureiReimuMC._x + 50)) and (_x > (_root.HakureiReimuMC._x - 50)) and (_y < (_root.HakureiReimuMC._y + 50)) and (_y > (_root.HakureiReimuMC._y - 50))){
this.removeMovieClip();
}
}
function onEnterFrame()
{
bulletcounter++;
if(bulletcounter >= 1){
for(i = 0; i<(spawntype.length - 1); i++){
if(spawntype[i] == 1){
dir = i + 1;
var Bullet = _root.attachMovie("Bullet","Bullet" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
Bullet._x = _x;
Bullet._y = _y;
Bullet.dir = dir;
}
}
if(spawntype[16] == 1){
dir = 999;
var Bullet = _root.attachMovie("Bullet","Bullet" +_root.getNextHighestDepth(), _root.getNextHighestDepth());
Bullet._x = _x;
Bullet._y = _y;
Bullet.dir = dir;
}
bulletcounter = 0;
}
disappear--;
if(disappear <= 0){
this.removeMovieClip();
}
}
}
//========================================
//Bullet class:
class Bullet extends MovieClip
{
var yspeed;
var xspeed;
var dir;
var dy;
var dx;
var grazed;
function onLoad()
{
stop();
_global.bullets++;
grazed = false;
if(dir == 1){
yspeed = -1;
xspeed = 0;
_rotation = 0;
} else if(dir == 2){
yspeed = -0.75;
xspeed = 0.25;
_rotation = 22.5;
} else if(dir == 3){
yspeed = -0.5;
xspeed = 0.5;
_rotation = 45;
} else if(dir == 4){
yspeed = -0.25;
xspeed = 0.75;
_rotation = 67.5;
} else if(dir == 5){
yspeed = 0;
xspeed = 1;
_rotation = 90;
} else if(dir == 6){
yspeed = 0.25;
xspeed = 0.75;
_rotation = 112.5;
} else if(dir == 7){
yspeed = 0.5;
xspeed = 0.5;
_rotation = 135;
} else if(dir == 8){
yspeed = 0.75;
xspeed = 0.25;
_rotation = 157.5;
} else if(dir == 9){
yspeed = 1;
xspeed = 0;
_rotation = 180;
} else if(dir == 10){
yspeed = 0.75;
xspeed = -0.25;
_rotation = 202.5;
} else if(dir == 11){
yspeed = 0.5;
xspeed = -0.5;
_rotation = 225;
} else if(dir == 12){
yspeed = 0.25;
xspeed = -0.75;
_rotation = 247.5;
} else if(dir == 13){
yspeed = 0;
xspeed = -1;
_rotation = 270;
} else if(dir == 14){
yspeed = -0.25;
xspeed = -0.75;
_rotation = 292.5;
} else if(dir == 15){
yspeed = -0.5;
xspeed = -0.5;
_rotation = 315;
} else if(dir == 16){
yspeed = -0.75;
xspeed = -0.25;
_rotation = 337.5;
} else if(dir == 999){
this.gotoAndStop(2);
dx = (this._x - (_root.HakureiReimuMC._x));
xspeed = (dx*dx)/dx;
if(xspeed < 0){
xspeed = xspeed*-1;
}
dy = (this._y - (_root.HakureiReimuMC._y));
yspeed = (dy*dy)/dy;
if(yspeed < 0){
yspeed = yspeed*-1;
}
if(xspeed > yspeed and dx < 0 and dy < 0){
yspeed = dy/dx;
xspeed = 1;
} else if(xspeed > yspeed and dx >= 0 and dy < 0){
yspeed = (dy/dx)*-1;
xspeed = -1;
} else if(xspeed > yspeed and dx < 0 and dy >= 0){
yspeed = dy/dx;
xspeed = 1;
} else if(xspeed > yspeed and dx >= 0 and dy >= 0){
yspeed = (dy/dx)*-1;
xspeed = -1;
} else if(xspeed <= yspeed and dx < 0 and dy < 0){
yspeed = 1;
xspeed = dx/dy;
} else if(xspeed <= yspeed and dx >= 0 and dy < 0){
yspeed = 1;
xspeed = dx/dy;
} else if(xspeed <= yspeed and dx < 0 and dy >= 0){
yspeed = -1;
xspeed = (dx/dy)*-1;
} else if(xspeed <= yspeed and dx >= 0 and dy >= 0){
yspeed = -1;
xspeed = (dx/dy)*-1;
}
}
}
function onEnterFrame()
{
_y += yspeed;
_x += xspeed;
if(this._x < 0 or this._x > 500 or this._y < 0 or this._y > 500 or _global.bulletsdead == 1 or _global.bulletsdead == 2){
_global.bullets--;
this.removeMovieClip();
}
if(!grazed){
if(this.hitTest(_root.HakureiReimuMC)){
if(!(this.hitTest(_root.HakureiReimuMC.hitboxreimuMC.truehitboxreimuMC))){
_global.score += 100;
_global.amountgrazed++;
grazed = true;
}
}
}
}
}
//==================
//And the hitbox on the bullets:
onClipEvent(enterFrame){
if(this.hitTest(_root.HakureiReimuMC.hitboxreimuMC.truehitboxreimuMC)){
_global.bulletsdead = 1;
_global.lifes--;
}
}
It's huge, maybe.
Loading