Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
1

Как грамотно реализовать анимацию в игре

22.09.2014, 20:57. Показов 1365. Ответов 18
Метки нет (Все метки)

Как сделать анимацию (к примеру, бегущий человечек) в VB6. У меня есть варианты которые я бы мог провернуть, но уверен, что так программисты нормальные не делают Поэтому:
1) Как это сделать правильно и с максимальной результативностью (авось и я пойму).
2) Как сделать это попроще, можно с потерями результативности (если пункт номер один провалится).
Всем заранее спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2014, 20:57
Ответы с готовыми решениями:

Как грамотно реализовать заливку?
уважаемые! есть задача раскрасить активную зону в зависимости от температуры твс заливка...

Как грамотно реализовать идёю?
Здравствуйте. Есть ссылка "Показать", после клика по ней появляется текст "Показал", если...

Как грамотно реализовать поставленную задачу?
Здравствуйте. Описание задачи: У меня есть пользовательский виджет с фиксированным размером,...

Как грамотно реализовать многострочный ввод с клавиатуры
Как грамотно реализовать многострочный ввод с клавиатуры и затем подсчет, сколько раз встречается...

18
es geht mir gut
11492 / 4724 / 1181
Регистрация: 27.07.2011
Сообщений: 11,433
22.09.2014, 21:13 2
Посмотри, может подойдет.
Вложения
Тип файла: rar Движение.rar (1.12 Мб, 39 просмотров)
1
Модератор
8679 / 3215 / 839
Регистрация: 22.02.2013
Сообщений: 4,801
Записей в блоге: 78
22.09.2014, 21:43 3
Для чего тебе? (для игры, для украшения программы)
От этого будет зависеть решение. Для игр нужно использовать специальные графические, высокопроизоводительные API (DirectX, SR2D к примеру). Если для украшения, то можно обойтись и обычным GDI, GDI+
1
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
22.09.2014, 21:51  [ТС] 4
Цитата Сообщение от The trick Посмотреть сообщение
Для чего тебе? (для игры, для украшения программы)
От этого будет зависеть решение. Для игр нужно использовать специальные графические, высокопроизоводительные API (DirectX, SR2D к примеру). Если для украшения, то можно обойтись и обычным GDI, GDI+
Игра. Но если пример с DirectX, то желательно очень попроще. Помню ты мне книгу скидывал, я пытался ее читать несколько раз, неделю мучился, так ничего особо и не понял.)
0
Модератор
6772 / 2789 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
22.09.2014, 22:19 5
Цитата Сообщение от aptos Посмотреть сообщение
Игра.
Целых 6 классических игр на VB6! Спешите видеть! Правда, несколько корявенько, но за то без всяких там "специальные графические, высокопроизоводительные API"
Вложения
Тип файла: zip GAMESPAK1.ZIP (440.9 Кб, 18 просмотров)
Тип файла: zip GAMESPAK2.ZIP (512.4 Кб, 17 просмотров)
1
Модератор
8679 / 3215 / 839
Регистрация: 22.02.2013
Сообщений: 4,801
Записей в блоге: 78
22.09.2014, 22:36 6
aptos, чтобы тебе дать пример на DirectX, ты должен знать хотя-бы основы (матрицы, вектора, трансформации, текстурирование, форматы вершин и т.п.)

Добавлено через 3 минуты
Pro_grammer, никто не говорит что нельзя написать на GDI нормальную игру, можно и айфоном гвозди забивать.
1
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
22.09.2014, 23:23  [ТС] 7
Цитата Сообщение от The trick Посмотреть сообщение
aptos, чтобы тебе дать пример на DirectX, ты должен знать хотя-бы основы (матрицы, вектора, трансформации, текстурирование, форматы вершин и т.п.)

Добавлено через 3 минуты
Pro_grammer, никто не говорит что нельзя написать на GDI нормальную игру, можно и айфоном гвозди забивать.
Ну, матрицы и вектора - если они из вышмата, то такое я знаю.) Тогда следующие два вопроса:
1) Где взять приличную систематизированную теорию для подготовки к изучению DirectX
2) Если что-то простенькое попробовать с GDI, какие функции основные? Для перемещения объектов к примеру, как сделать объект хотя бы немного анимированным (3-4 кадра при перемещении, а не статичная картинка).

Для фона есть твой пример плаката, его можно опустить.
0
Модератор
8679 / 3215 / 839
Регистрация: 22.02.2013
Сообщений: 4,801
Записей в блоге: 78
22.09.2014, 23:33 8
Лучший ответ Сообщение было отмечено aptos как решение

Решение

Цитата Сообщение от aptos Посмотреть сообщение
Где взять приличную систематизированную теорию для подготовки к изучению DirectX
В интернете есть книга Михаила Ильина по DirectX 8 в VB6. По первой ссылке в гугле есть ссылка на его профиль на геймдеве, там в статьях есть книга "Программирование 3D графики на VB6 с использованием DirectX8." (ссылки давать нельзя). Как разучишь тот материал, уже потом можно смотреть везде где хочешь - неважно в каком языке используется (я например смотрю в MSDN).
Цитата Сообщение от aptos Посмотреть сообщение
Если что-то простенькое попробовать с GDI, какие функции основные? Для перемещения объектов к примеру, как сделать объект хотя бы немного анимированным (3-4 кадра при перемещении, а не статичная картинка).
Знаешь тут некорректно так спрашивать. Возможно тебе нужна будет прозрачность или повороты или режимы наложение и т.п. Для вывода можно использовать обычный PaintPicture. Также смотри BitBlt, StretchBlt, PlgBlt, TransparentBlt, MaskBlt, AlphaBlend. Для высококачественного, но медленного вывода, можешь использовать GDI+. Но моем мнение - нужно использовать специальные API для этого, а не мудрить с GDI.
Для анимации объекта - просто меняй кадры. Вот пример.
https://www.cyberforum.ru/post6046346.html
1
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
22.09.2014, 23:55  [ТС] 9

Не по теме:

Ничего себе. Меня вообще впечатлило. Эффектно, класс :bravo:


А в чем ты рисовал сами картинки? (Первый пример)
0
Модератор
8679 / 3215 / 839
Регистрация: 22.02.2013
Сообщений: 4,801
Записей в блоге: 78
22.09.2014, 23:56 10
Цитата Сообщение от aptos Посмотреть сообщение
А в чем ты рисовал сами картинки?
3D MAX. Сейчас я накидаю простой пример тебе.
1
aptos
23.09.2014, 00:36  [ТС]
  #11

Не по теме:

Ждемс примерчик :popcorn:

0
Модератор
6772 / 2789 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.09.2014, 07:10 12
Цитата Сообщение от The trick Посмотреть сообщение
Для анимации объекта - просто меняй кадры. Вот пример.
У меня вопрос тут возник. А как сделать, что бы форма запускалась не поверх всех, а сразу на рабочем столе ( про SetWindowPos + HWND_BOTTOM знаю)? Как виджеты работают, они ни когда не бывают поверх других окон, да и сам рабочий стол кстати тоже. Должен быть какой то ключик при создании окна или только после SetWindowPos?
0
Модератор
8679 / 3215 / 839
Регистрация: 22.02.2013
Сообщений: 4,801
Записей в блоге: 78
23.09.2014, 09:08 13
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Как виджеты работают, они ни когда не бывают поверх других окон
Бывают.
Цитата Сообщение от Pro_grammer Посмотреть сообщение
да и сам рабочий стол кстати тоже
Сам рабочий стол является родителем всех окон.
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Должен быть какой то ключик при создании окна или только после SetWindowPos?
Ты про родные VB6 средства или через CreateWindowEx?
0
Модератор
6772 / 2789 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.09.2014, 09:13 14
Цитата Сообщение от The trick Посмотреть сообщение
CreateWindowEx?
Да, при создании
0
Модератор
8679 / 3215 / 839
Регистрация: 22.02.2013
Сообщений: 4,801
Записей в блоге: 78
23.09.2014, 09:40 15
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Да, при создании
When an application creates a window, the system puts it at the top of the z-order for windows of the same type. You can use the BringWindowToTop function to bring a window to the top of the z-order for windows of the same type. You can rearrange the z-order by using the SetWindowPos and DeferWindowPos functions.
Только после создания.
0
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
23.09.2014, 12:10  [ТС] 16
Цитата Сообщение от The trick Посмотреть сообщение
3D MAX. Сейчас я накидаю простой пример тебе.
Заждался
И какой именно ты 3D Max используешь?
0
Модератор
8679 / 3215 / 839
Регистрация: 22.02.2013
Сообщений: 4,801
Записей в блоге: 78
23.09.2014, 12:38 17
Вот как и общал пример игровой анимации, на GDI (позже переделаю на DX чтобы сравнить производительность). Можно даже использовать например в простейшем 2D-платформере, добавив препятствия и т.д.
Вложения
Тип файла: rar TestGDIPlayer.rar (740.7 Кб, 30 просмотров)
1
Модератор
8679 / 3215 / 839
Регистрация: 22.02.2013
Сообщений: 4,801
Записей в блоге: 78
23.09.2014, 12:39 18
Цитата Сообщение от aptos Посмотреть сообщение
И какой именно ты 3D Max используешь?
8-ой
1
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
23.09.2014, 13:03  [ТС] 19
Круть. Спасибо огромное!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2014, 13:03

Как грамотно реализовать доступ к классам EngWords и RusWords
Если у меня есть классы EngWords и RusWords,в каждом определены методы ввода строк. И задание...

Как грамотно реализовать внешний фон (не background-image) у div-a?
Доброго времени суток. В верстке не новичок, но красивого решения придумать не могу. Подскажите,...

Необходимо реализовать шаблонный класс Array, и грамотно реализовать push_back
Необходимо реализовать шаблонный класс Array, параметризируемый типом хранимых элементов. ...

Как реализовать анимацию в Лазарусе?
Объясните, пожалуйста, как написать анимацию в лазарусе.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.