我在尝试在动态创建对象后对其施加力时遇到问题。
首先让我提一下,我并没有在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);
创建的子弹在创建时不会移动。相反,由于我的重力,它只会被拖向地面。我希望子弹在创建时具有一定的速度,以便像子弹一样。
我感谢任何帮助。