/// <summary> /// Vytvoří a spustí let projektilu /// </summary> public void fire(bool PgoesRight) { //endpProjectileMovement(); plProjectiles.Add(new Image()); firedFromRight = PgoesRight; //pozice vystřelení plProjectiles[i].Source = new BitmapImage(new Uri("pack://application:,,,/images/projectiles/arrow.png")); //obrázek plProjectiles[i].Width = 50; plProjectiles[i].RenderTransformOrigin = new Point(0.5, 0.5); firingL = Convert.ToInt32(c.plRect.Left); firingT = Convert.ToInt32(c.plRect.Top); //nstavení prvůtního výstřelu if (!firedFromRight) { Canvas.SetLeft(plProjectiles[i], firingL + 50 + 1 * 8); } else { Canvas.SetLeft(plProjectiles[i], firingL + 1 * 8); } Canvas.SetTop(plProjectiles[i], firingT + 30); //vložení střely do canvasu fight_canvas.Children.Add(plProjectiles[i]); //nastavení spěru projektilu (graficky) if (firedFromRight) { interact.faceLeft(plProjectiles[i]); } else { interact.faceRight(plProjectiles[i]); } //spustí let playerPrFlight start = new playerPrFlight(firedFromRight, i, firingL); start.Start(); i++; }
public void fire(bool goesRight) //výstřel { if (c.enFireUnblocked) { //spustí omezení střel c.enFireDelay.Start(); endpProjectileMovement(); enemyProjectile.Source = c.enemy.ProjectileImg; enemyProjectile.Width = 50; enemyProjectile.RenderTransformOrigin = new Point(0.5, 0.5); firedFromRight = goesRight; enFiringL = Convert.ToInt32(Canvas.GetLeft(enemyControl)); enFiringT = Convert.ToInt32(Canvas.GetTop(enemyControl)); if (!goesRight) { Canvas.SetLeft(enemyProjectile, enFiringL + 50 + loop * 8); } else { Canvas.SetLeft(enemyProjectile, enFiringL - loop * 8); } Canvas.SetTop(enemyProjectile, enFiringT + 30); fight_canvas.Children.Add(enemyProjectile); if (goesRight) { interact.faceLeft(enemyProjectile); } else { interact.faceRight(enemyProjectile); } c.enemyProjectileMovement.Start(); c.enFireUnblocked = false; } }