C# 我想在用户拖动的方向上扔一颗星星

C# 我想在用户拖动的方向上扔一颗星星,c#,windows-phone-7,xna,C#,Windows Phone 7,Xna,我想开发一个游戏,在这个游戏中,用户将向目标拖动,一旦他拖动,就会向目标投掷一颗星星。但我在发展的早期阶段遇到了问题。我不能在角度方向上移动恒星。我做了下面的代码,但是星星会随着用户的拖拽而消失。我不想那样。我希望它是这样的:如果用户在特定的方向拖动,那么星星就会朝那个方向抛出;笔直地而不是以弯曲的方式 以下是我尝试过的: private void OnUpdate(object sender, GameTimerEventArgs e) { TouchPa

我想开发一个游戏,在这个游戏中,用户将向目标拖动,一旦他拖动,就会向目标投掷一颗星星。但我在发展的早期阶段遇到了问题。我不能在角度方向上移动恒星。我做了下面的代码,但是星星会随着用户的拖拽而消失。我不想那样。我希望它是这样的:如果用户在特定的方向拖动,那么星星就会朝那个方向抛出;笔直地而不是以弯曲的方式

以下是我尝试过的:

       private void OnUpdate(object sender, GameTimerEventArgs e)
    {
        TouchPanel.EnabledGestures = GestureType.FreeDrag | GestureType.DragComplete ;

        if (TouchPanel.IsGestureAvailable)
        {
            gesture = TouchPanel.ReadGesture();
        }

            switch(gesture.GestureType)
                {
                    case GestureType.FreeDrag:

                        position = gesture.Position * 1.2f;

                       break;

                }

    }
简单:

Vector2 startSwipePos; // When the user starts swiping
Vector2 endSwipePos; // When the user ends swiping, define those two
Vector2 difference = endSwipePos - startSwipePos;
difference.Normalize(); // Get only the direction, you don't have to do this,
                        // you can also make the speed less instead.
Vector2 velocity = difference * (SPEED HERE IN FLOAT);
pos += velocity;

另请参见:

在用户单击按钮时使用vector2起点和get。然后等待用户解锁按钮并使用矢量2获取结束位置。然后得到点之间的角度,并向那个方向发送星号。