c #, xna, wp7 сенсорный экран не работает - PullRequest
0 голосов
/ 02 мая 2011

Я делаю приложение wp7, и мой сенсорный экран не работает. Код, который я написал, ниже

protected override void Update(GameTime gameTime)
{
    TouchCollection touches = TouchPanel.GetState();
    if (touches.Count > 0 && touches[0].State == TouchLocationState.Pressed)
    {
        SpriteFont font = Content.Load<SpriteFont>("Font");
        Point touchPoint = new Point((int)touches[0].Position.X, (int)touches[0].Position.Y);
        spriteBatch.Begin();
        spriteBatch.DrawString(font, "hello ", new Vector2(touchPoint.X, touchPoint.Y), Color.White);
        spriteBatch.End();

        while (TouchPanel.IsGestureAvailable)
        {
            GestureSample gesture = TouchPanel.ReadGesture();
            switch (gesture.GestureType)
            {
                case GestureType.Tap:
                case GestureType.DoubleTap:
                    spriteBatch.Begin();
                    spriteBatch.DrawString(font, " ", new Vector2(touchPoint.X, touchPoint.Y), Color.White);
                    spriteBatch.End();
                    break;
            }
        }
    }
    base.Update(gameTime);
}

Ответы [ 2 ]

1 голос
/ 02 октября 2011

Проблема может заключаться в том, что вы пытаетесь что-то нарисовать в методе обновления. Метод рисования - для рисования .Таким образом, в вашем случае вы рисуете что-то в методе Update, а затем вы рисуете фон в методе Draw, поэтому вы переписали свой текст.

protected override void Draw(GameTime gameTime)
{
    GraphicsDevice.Clear(Color.CornflowerBlue);
    // overriding here
    ... draw background

    // *draw your text should be here
    base.Draw(gameTime);
}

Таким образом, решение состоит в том, чтобы переместить "spriteBatch.DrawString (...);"нарисовать метод и поместить его ниже фона в вашем коде или добавить параметр глубины для методов рисования.

0 голосов
/ 02 мая 2011

глядя на ваш код сейчас, кажется, ничего плохого, но вы пробовали пройти через него?Я вижу, что касание или двойное касание делают то же самое, но, возможно, что-то вешают.

Первое, о чем я подумал, это ваш XAML.У вас есть контроль или что-то сверх всего остального?Это может быть причиной ваших жестов.

Если ни одна из них не работает, не могли бы вы опубликовать дополнительную информацию?

...