 			{
 				obstacleToTrack = obstacleToAnimate[i];
 				
+				if(obstacleToTrack.alreadyHit == false &&
+				   obstacleToTrack.bounds.intersects(hero.bounds))
+				{
+					obstacleToTrack.alreadyHit = true;
+					obstacleToTrack.rotation = deg2rad(70);
+					hitObstacle = 30;
+					playerSpeed *= 0.5;
+				}
 				if(obstacleToTrack.distance > 0)
 				{
 					obstacleToTrack.distance -= playerSpeed * elapsed;

					}
					break;
				case "flying":
					playerSpeed -= (playerSpeed - MIN_SPEED) * 0.01;
					bg.speed = playerSpeed * elapsed;
					scoreDistance += (playerSpeed * elapsed)*0.1;

				case "over":
				break;
			}

		}
		
		private function cameraShake():void
		{
			if(hitObstacle > 0)
			{
				this.x = Math.random() * hitObstacle;
				this.y = Math.random() * hitObstacle;
			}
			else if(x != 0)
			{
				this.x = 0;
				this.y = 0;
			}
		}
		private function animateObstacles():void
		{
			var obstacleToTrack:Obstacle;
