将力应用于动态创建的对象

时间:2014-03-19 11:33:46

标签: c# silverlight

我在尝试在动态创建对象后对其施加力时遇到问题。

首先让我提一下,我并没有在Silverlight和c#中工作很长时间,而且我的代码在它的功能上不太可能非常有效,但我正在尝试使其工作。

我有一艘宇宙飞船将在按键上发射子弹。我创造了这个子弹,让它看起来像飞船上方几个像素。现在我想让它穿过屏幕而我无法让它工作。

private void fireShot()
{
    double playerY = 0;
    double playerX = 0;

    PhysicsSprite player = _physicsController.PhysicsObjects["Player"];
    playerX = player.Position.X;
    playerY = player.Position.Y;

    ucStaticPlanet shot = new ucStaticPlanet();
    shot.Name = "shot_" + shotcount;
    shotcount++;

    shot.SetValue(Canvas.LeftProperty, Convert.ToDouble(playerX));
    shot.SetValue(Canvas.TopProperty, Convert.ToDouble(playerY - 50));
    LayoutRoot.Children.Add(shot);//adds the planet to the canvas
    _physicsController.AddPhysicsBodyForCanvasWithBehaviors(shot.LayoutRoot); 

创建的子弹在创建时不会移动。相反,由于我的重力,它只会被拖向地面。我希望子弹在创建时具有一定的速度,以便像子弹一样。

我感谢任何帮助。

0 个答案:

没有答案