A Flash Developer Resource Site

Results 1 to 1 of 1

Thread: dual fire and positioning probems

  1. #1
    Member
    Join Date
    Jun 2011
    Posts
    85

    Question dual fire and positioning probems

    Hi folks,

    I'm working on a space shooter and have this problem:

    my space ship fires bullets. The bullets are centered referring to the ship. Currently all bullets are single shots.

    Now what I'd like to have is dual fire for the ship. Basically that means I have to double the shots and place them at the left and right
    side of the ship, right? But I don't know how to do it exactly.

    The other problem I have is that when I change the x- and y-coordinates of the bullet in order to move the bullets from the center of the ship to the left (or right) and rotate the ship and fire I get a strange behavior of the bullets. In this case they move from the left to the center and vice versa referring to the ship (while rotating and firing).

    Please - has anyone any idea where the problems might be and how to do it? I appreciate very much any help. TIA!


    Code:
    private function autoShoot(step:Number):void {			
    	projectileManager.projectilePoolCount = projectileManager.projectilePool.length - 1;
    	asteroidManager.asteroidCount = asteroidManager.asteroids.length;
    	if (projectileManager.lastProjectileShot > projectileOffset && projectileManager.projectilePoolCount > 0 &&
    		playerStarted && asteroidManager.asteroidCount > 0 && projNumber < projectileNumber)
    		{
    					
    		dispatchEvent(new CustomEventSound(CustomEventSound.PLAY_SOUND, Main.SOUND_PLAYER_SHOOT,
    				false, 0, 8, 1));
    		tempProjectile = projectileManager.projectilePool.pop();
    		tempProjectile.projectileDelayCount = 0;
    							
    		var projectileRadians:Number = (player.frame / 360) * 6.28;
    					
    		projShots++;
    		projNumber++;
    							
    		if (projNumber >= projectileNumber)
    		{
    			player.startDelay = true;
    		}	
    							
    		tempProjectile.x = (player.point.x) + Math.cos(projectileRadians);
    		tempProjectile.y = (player.point.y) + Math.sin(projectileRadians);
    					
    		tempProjectile.x = player.x + 13;
    		tempProjectile.y = player.y + 13;
    					
    		tempProjectile.nextX = tempProjectile.x;
    		tempProjectile.nextY = tempProjectile.y;
    					
    		tempProjectile.dx = rotationVectorList[player.frame].x;
    		tempProjectile.dy = rotationVectorList[player.frame].y;
    					
    		tempProjectile.speed = projectileSpeed;
    		tempProjectile.frame = 0;
    						
    		tempProjectile.bitmapData = tempProjectile.animationList[0];
    						
    		tempProjectile.projectileDelay = 10;
    
    		projectileManager.projectiles.push(tempProjectile);
    		projectileManager.lastProjectileShot = 0;	
    						
    		} else {
    						
    				
    		projectileManager.lastProjectileShot += step;
    					
    		}
    }
    Last edited by drpelz; 07-10-2011 at 06:07 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center