Перемещение прямоугольника в VB? - PullRequest
0 голосов
/ 01 февраля 2010

Насколько я понимаю, я понимаю, что VB.NET плохо работает с перемещением графики из точки А в точку Б в форме.

Как нарисовать прямоугольник или линию и переместить ее из точки A в точку B?

Есть ли надежный способ сделать это, не видя черного прямоугольника вокруг движущегося объекта на каждом кадре? Я пробовал это с растровыми изображениями раньше, но это не работает. Я вижу рендеринг фрейма, и он замедляется.

Возможно, есть анимация Control или библиотека?

Спасибо.

Ответы [ 3 ]

1 голос
/ 01 февраля 2010

Во-первых, я бы не стал обвинять VB.Net. И C #, и VB.Net используют один и тот же графический интерфейс API (GDI +). Вот пример, который я нашел, и я верю, что он поможет вам понять, что нужно сделать.

VB Helper

1 голос
/ 01 февраля 2010

Я не буду приводить здесь полный пример, так как я больше привык к C #, но вот псевдокод того, как я это сделаю.

function paint()
    draw line (x, y, x + xEnd, y + yEnd)      // Use the graphics object here.
end

function update()
    update x
    update y
end

Что-то должно вызываться, каждый кадр или каждый раз, когда у вас есть событие (нажатие клавиши и т. Д.). Это обновляет координаты x и y линии соответственно. GDI + будет использоваться для рисования линии, другими словами, встроенной графической библиотеки более чем достаточно для простых рисунков.

Это можно улучшить, используя векторы (2D) для представления координат линии, а не стандартные типы данных для отдельных координат x и y.

0 голосов
/ 01 февраля 2010

Вы можете использовать WPF. Даже если вы используете WinForms, вы можете взаимодействовать с пользовательским элементом управления WPF с помощью элемента управления ElementHost

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...