Форум программистов, компьютерный форум, киберфорум
DirectX
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1

Подскажите как правильно реализовать движение 2D текстур

28.10.2018, 11:07. Показов 2060. Ответов 3

Студворк — интернет-сервис помощи студентам
Собственно столкнулся с тем, что не знаю как правильно создать движение 2D.

К примеру вывожу по таймеру 30 раз в секунду:
VB.NET
1
2
3
4
5
6
7
8
d3ddev.Clear(Direct3D.ClearFlags.Target, Color.Black, 1, 0)
d3ddev.BeginScene()
sprite2.Begin(Direct3D.SpriteFlags.AlphaBlend)
'sprite1.Draw(texture1, Vector3.Empty, New Vector3(0, 0, 1), Color.White.ToArgb()) 'таким образом
sprite2.Draw2D(texture1, point3, 0, point2, Color.White.ToArgb())' или таким (результат одинаковый)
sprite2.End()
d3ddev.EndScene()
d3ddev.Present()
По другому таймеру к примеру 30 раз в секунду меняю координату X на N пикселей.
VB.NET
1
point2.X=point2.X+1
Если N=1 то еще куда не шло, но с его увеличением картинка размывается.
И с любым N картинка движется с периодическими рывками.

Подскажите как правильно реализовать движение 2D,
чтобы при любой скорости движения картинка не дергалась и не размывалась.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2018, 11:07
Ответы с готовыми решениями:

Как правильно реализовать рандомное движение image
Условие задачи: Расположите на форме таймер и несколько изображений (массив изображений) Разработайте программный код для того чтобы...

Подскажите как правильно реализовать сортировку
Я написал сортировку для выпадающего списка (при выборе определенного пункта из списка, сортируется по выбранному пункту( т.е. полю), а как...

Как правильно реализовать запрос, подскажите пожалуйста
SELECT Arenda_prodaja_kvartir.Raion, Arenda_prodaja_kvartir.Zhiloi_kompleks, Arenda_prodaja_kvartir.Podezd,...

3
61 / 54 / 21
Регистрация: 19.10.2013
Сообщений: 117
31.10.2018, 18:20
1. System.Windows.Forms.Timer очень не точен и имеет опорный интепвал ~15мс.
2. По умолчанию, при инициализации 3D устройства устанавливается синхронизация вывода с частотой кадровой развертки (обычно 60гц).
Все это сказывается на плавности движения объектов.

Можно использовать System.Windows.Forms.Timer как триггер события, а синхронизироваться по кадровой частоте.
Для этого:
установите timer1.Interval = 1;
а при выводе добавьте
C#
1
2
3
4
5
6
private void timer1_Tick(object sender, EventArgs e)
{
   timer1.Stop();
   ...
   timer1.Start();
}
Простой пример:
spm1.zip
Если кадровая частота больше 60гц придется использовать более точный таймер, например System.Diagnostics.Stopwatch
0
61 / 54 / 21
Регистрация: 19.10.2013
Сообщений: 117
02.11.2018, 20:55
Лучший ответ Сообщение было отмечено bbbw как решение

Решение

Тот же пример на vb.net:
spmvb.zip
1
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
09.11.2018, 18:08  [ТС]
KolDub Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.11.2018, 18:08
Помогаю со студенческими работами здесь

Подскажите, как правильно более реализовать функцию изменения свойств кнопки?
Всем доброго времени суток. Есть задачка следующего содержания: нужно уметь отображать, редактировать, добавлять и удалять записи на форме....

Как правильно реализовать доступ во внутреннюю (корпоративную) сеть из внешней и реализовать аутентификацию
Доброго времени суток. Вобщем суть вопроса... есть настроенный в корпоративной среде Sql Server Reporting Service (сервер отчетов) на...

Как реализовать движение в консоле
Реализовать движение двух фигур по горизонтали по встречным направлениям используя ООП.

Как реализовать движение картинки?
Задача такая, выводить 1/4 картинки и под ней текст, далее если человек свайпит на картинке, то есть тянет вниз картинка выезжала дальше. ...

Как реализовать движение камеры?
Как приписать передвижение камеры в openGL? Добавлено через 47 секунд Вот код может понадобится #include "pch.h" ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru