На чём лучше отрисовывать
Сделать можно так: кидаем на форму PictureBox. Создаём Bitmap. На это битмапе и рисуем. Можно попиксельно - метод SetPixel, можно создать Graphics - Graphics.FromImage, и уже на нём рисовать методами Draw и Fill. Главное - после каждой отрисовки свойству Image нашего пикчабокса присваивать получившийся битмап: pictureBox1.Image = bitmap.
Цвет пиксела на битмапе получаем методом GetPixel.
(А можно хранить координаты пуль и целей в какой-нибудь коллекции, и проверять их, а не цвет пиксела).
Сделать можно так: кидаем на форму PictureBox. Создаём Bitmap. На это битмапе и рисуем. Можно попиксельно - метод SetPixel, можно создать Graphics - Graphics.FromImage, и уже на нём рисовать методами Draw и Fill.
Попиксельно :eek: И копировать изображения тоже? :) Думаю, лучше всего посмотреть в сторону API - а конкретно BitBlt. Благо пользоваться GDI довольно просто.
Главное - после каждой отрисовки свойству Image нашего пикчабокса присваивать получившийся битмап: pictureBox1.Image = bitmap.
Тогда уж не после каждой отрисовки, а по таймеру либо по OnIdle приложения.
Ну, если нужно нарисовать несколько пуль в виде точек, то SetPixel вполне годится :)
Зачем пользоваться GDI есть прямо под попой есть GDI+?
1) дотнет сам умеет копировать
2) для обработки битмапов можно (нужно!) пользоваться методом LockBits.
Топикстартеру: анализировать логику на основе интерфейса плохо. Коллизии нужно расчитывать самостоятельно, математика там несложная.
а простите, при чем тут "на чем рисовать" и "столкновение врага с пулей"? рисовать на битмапе или пиксмапе, а уже этот самы мап рисовать на форму. а столкновение врага и пути это уже дело геометрии, а не отрисовки! да и собственно если есть уже реализация на "цпп", то какие проблемы с этим самым столкновением? сделайте аналогично, бо врядли оно у вас там реализовано через указатели на функцию, и множественное наследование от специализированных шаблонов, а значит проблем с переносом особых быть не может.