シューティングゲームを作る3


今回は洗濯機と呼ばれる弾幕を作ってみました。
さらにメモリ管理を強化したので処理落ちが少なくなりました。



こんな感じ


操作方法
自機はマウスに追従
ショットは左クリック

2層式洗濯機


おまけ1
おまけ2(三層式)



洗濯機弾を発射の管理はこんな感じ。

for(var i:uint = 0; i < shot_count; i++){
					var ball:Bullet = new Bullet(0, bullet_height, bullet_width, bullet_color, shot_angle+i*360/shot_count, 
												bullet_angle_rate, shot_speed, bullet_speed_rate, sp, bullet_width/2);
					Shooting3.ary.push(ball);
					ball.target = target;
					sp.addChild(ball);
					//発射する角度を変える
					ball.x = x;
					ball.y = y;
				}
				//発射する角度を変える
				shot_angle += shot_angle_speed;
				
				//右巻き
				//発射角度と弾の角速度を設定する。
				if(time < 250){
					shot_angle_speed = max_shot_angle_rate;
					bullet_angle_rate = -max_bullet_angle_rate;
				}
				
				//右巻きから左巻きへ
				//発射角度と弾の加速度を変化させる
				else if(time < 300){
					shot_angle_speed = max_shot_angle_rate*(275-time)/25;
					bullet_angle_rate = -max_bullet_angle_rate*(275-time)/25;
				}
				
				//左巻き
				//発射角度と弾の角速度を変化させる
				else if(time < 550){
					shot_angle_speed = -max_shot_angle_rate;
					bullet_angle_rate = max_bullet_angle_rate;
				}	
				
				//左巻きから右巻きへ
				//発射角度と弾の角速度を変化させる
				else{
					shot_angle_speed = -max_shot_angle_rate*(575-time)/25;
					bullet_angle_rate = max_bullet_angle_rate*(575-time)/25;
				}
				
				//タイマーの更新
				time = (time+angle_change_speed)%600;

ソースはまた後でまとめてUP