![]() |
|
Модераторы: Akina |
![]()
|
|
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
Суть вопроса такова, допустим я собрался сделать игрушку что-то отдаленно напоминающее Dune II. Математическая модель готова.
Теперь сам вопрос как можно сделать графическую реализацию, ведь нужно нарисовать поле на нем декорации и объекты при этом обеъекты могут двигаться и желательно плавно. Я пробовал каждый раз перерисовывать кдры, но используя функции Bitblt или чтото в этом роде на перерисовку кждого кадра уходит много времени зачастую до 1 секунды и конечно об анимации можно было забыть. Так вот возможны ли другие способы прорисовывать кадры если да то как |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 10 Всего: 68 |
Ну как водиться вариантов то море от DX и OpenGL до написания собственного двигла....
Но ИМХО плоскую графику вполне потянут и стандартные АПИ Глянь тут: http://vingrad.ru/VB-ART-002308 Изображения достаточно большого размера обрабатываются оч шустренько. |
|||
|
||||
| KEKCCCP |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 19.8.2005 Репутация: нет Всего: нет |
ИМХО ИМХО ИМХО
Не надо никаких API для токого. Зачем усложнять себе жизнь? То ж самое получается. Рисовать надо на *.picture при чём *.AutoRedraw = True, чтобы графика не мигала. Все картинки полей и всяких там юнитов загружаем в массив PictureBox'ов. picP(*).picture = loadpicture(...), чтобы вообще ничего не тормозило (и у всех эл. массива *.AutoSize = True)! Чтобы нарисовать прозрачную картику (к примеру, с фоном vbRed), надо делать так: TBLT Form1.hDC, 0, 0, picP(*).Width, picP(*).Height, picP(*).hDC, 0, 0, picP(*).Width, picP(*).Height, vbRed При этом в модуле объяви: Declare Function TBLT Lib "Msimg32.dll" Alias "TransparentBlt" ( _ ByVal hdcDest As Long, ByVal nXOriginDest As Long, _ ByVal nYOriginDest As Long, ByVal nWidthDest As Long, _ ByVal nHeightDest As Long, ByVal hdcSrc As Long, _ ByVal nXOriginSrc As Long, ByVal nYOriginSrc As Long, _ ByVal nWidthSrc As Long, ByVal nHeightSrc As Long, _ ByVal crTransparent As Long) As Boolean Для не прозр. можно исп. Form1.PaintPicture ... |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 7 Всего: 186 |
В сложных проектах DX rulz.
|
|||
|
||||
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
В своем проекте я так и делал и при разрешении экрана 600*800 точек эта функция работает очень медленно и достичь смены кадров хотя бы 20 в сек. невозможно. насчет DX у меня стоит 9.1 и если я не ошибаюсь уже с 8-й версии там нет работы с 2D графикой. на многих форумах говорится что VB и OpenGL не созданы друг для друга |
|||
|
||||
| ~FoX~ |
|
||||||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 10 Всего: 68 |
Ты сам то понял, что сказал? Ладно не морочься.....Тут глянь. И тут тоже
А это не АПИ?
Это сообщение отредактировал(а) ~FoX~ - 10.1.2006, 10:38 |
||||||
|
|||||||
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
ладно остановимся на DX
его нужно подключать к проекту или нет |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 10 Всего: 68 |
||||
|
||||
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
я так понял дело мне придется иметь с DirectDraw. Ни кто не видел хоть какой нибудь пример для работы с ним. Покажите хоть какую нибудь ссылочку, пожалуйста.
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 10 Всего: 68 |
||||
|
||||
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
статьии я видел мне хотя бы один пример, пожалуйста
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 10 Всего: 68 |
Полное описание тут |
|||
|
||||
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
~FoX~ ты меня не совсем понял, мне нужна ссылка на проект, а не на код, который ссылается на картинки, неимеющихся у меня
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 10 Всего: 68 |
СВА
А немножко усилий приложить? Тебе же все равно их придется рисовать. И все равно придется с кодом разбираться. За тебя писать никто не будет, по крайней мере бесплатно! |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |