Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156

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

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

Студворк — интернет-сервис помощи студентам
Как сделать анимацию (к примеру, бегущий человечек) в VB6. У меня есть варианты которые я бы мог провернуть, но уверен, что так программисты нормальные не делают Поэтому:
1) Как это сделать правильно и с максимальной результативностью (авось и я пойму).
2) Как сделать это попроще, можно с потерями результативности (если пункт номер один провалится).
Всем заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.09.2014, 20:57
Ответы с готовыми решениями:

Как грамотно реализовать заливку?
уважаемые! есть задача раскрасить активную зону в зависимости от температуры твс заливка реализована посредством patch(x1,y1,); ...

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

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

18
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
22.09.2014, 21:13
Посмотри, может подойдет.
Вложения
Тип файла: rar Движение.rar (1.12 Мб, 44 просмотров)
1
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
22.09.2014, 21:43
Для чего тебе? (для игры, для украшения программы)
От этого будет зависеть решение. Для игр нужно использовать специальные графические, высокопроизоводительные API (DirectX, SR2D к примеру). Если для украшения, то можно обойтись и обычным GDI, GDI+
1
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
22.09.2014, 21:51  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Для чего тебе? (для игры, для украшения программы)
От этого будет зависеть решение. Для игр нужно использовать специальные графические, высокопроизоводительные API (DirectX, SR2D к примеру). Если для украшения, то можно обойтись и обычным GDI, GDI+
Игра. Но если пример с DirectX, то желательно очень попроще. Помню ты мне книгу скидывал, я пытался ее читать несколько раз, неделю мучился, так ничего особо и не понял.)
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
22.09.2014, 22:19
Цитата Сообщение от aptos Посмотреть сообщение
Игра.
Целых 6 классических игр на VB6! Спешите видеть! Правда, несколько корявенько, но за то без всяких там "специальные графические, высокопроизоводительные API"
Вложения
Тип файла: zip GAMESPAK1.ZIP (440.9 Кб, 21 просмотров)
Тип файла: zip GAMESPAK2.ZIP (512.4 Кб, 19 просмотров)
1
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
22.09.2014, 22:36
aptos, чтобы тебе дать пример на DirectX, ты должен знать хотя-бы основы (матрицы, вектора, трансформации, текстурирование, форматы вершин и т.п.)

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

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

Для фона есть твой пример плаката, его можно опустить.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
22.09.2014, 23:33
Лучший ответ Сообщение было отмечено 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
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
22.09.2014, 23:55  [ТС]

Не по теме:

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


А в чем ты рисовал сами картинки? (Первый пример)
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
22.09.2014, 23:56
Цитата Сообщение от aptos Посмотреть сообщение
А в чем ты рисовал сами картинки?
3D MAX. Сейчас я накидаю простой пример тебе.
1
23.09.2014, 00:36  [ТС]

Не по теме:

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

0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.09.2014, 07:10
Цитата Сообщение от The trick Посмотреть сообщение
Для анимации объекта - просто меняй кадры. Вот пример.
У меня вопрос тут возник. А как сделать, что бы форма запускалась не поверх всех, а сразу на рабочем столе ( про SetWindowPos + HWND_BOTTOM знаю)? Как виджеты работают, они ни когда не бывают поверх других окон, да и сам рабочий стол кстати тоже. Должен быть какой то ключик при создании окна или только после SetWindowPos?
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
23.09.2014, 09:08
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Как виджеты работают, они ни когда не бывают поверх других окон
Бывают.
Цитата Сообщение от Pro_grammer Посмотреть сообщение
да и сам рабочий стол кстати тоже
Сам рабочий стол является родителем всех окон.
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Должен быть какой то ключик при создании окна или только после SetWindowPos?
Ты про родные VB6 средства или через CreateWindowEx?
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.09.2014, 09:13
Цитата Сообщение от The trick Посмотреть сообщение
CreateWindowEx?
Да, при создании
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
23.09.2014, 09:40
Цитата Сообщение от 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
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
23.09.2014, 12:10  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
3D MAX. Сейчас я накидаю простой пример тебе.
Заждался
И какой именно ты 3D Max используешь?
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
23.09.2014, 12:38
Вот как и общал пример игровой анимации, на GDI (позже переделаю на DX чтобы сравнить производительность). Можно даже использовать например в простейшем 2D-платформере, добавив препятствия и т.д.
Вложения
Тип файла: rar TestGDIPlayer.rar (740.7 Кб, 35 просмотров)
1
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
23.09.2014, 12:39
Цитата Сообщение от aptos Посмотреть сообщение
И какой именно ты 3D Max используешь?
8-ой
1
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
23.09.2014, 13:03  [ТС]
Круть. Спасибо огромное!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.09.2014, 13:03
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru