Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3

Перемещение и прыжки объекта по экрану

22.01.2014, 02:23. Показов 2525. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем... пока задача до горя простая -- заставить объект "бегать" внизу экрана с прыжками.

Сначала думал просто повесить на соответствующие кнопки обработчик. Но наткнулся на такие проблемы:
количество повторений зажатой клавиши у каждого свои, плюс прерываются по нажатию другой клавиши; нет синхронизации с fps.

Дальше думал создать один общий таймер, и на тика подписывать/отписывать нужные мне действия (нажали клавишу вперед -- выполнили подписку метода передвижения, отпустили -- удалили из общей коллекции обработчиков). Вроде и получилось реализовать, но... всё жутко тормозило =( Точнее взглядом эти микро-скачки можно было легко увидеть.

Окей... дальше решил пойти вообще тупо: создать в отдельном потоке вечный цикл, который крутит на выполнение коллекции методов. Дальше по аналогии с таймером. Для синхронизации fps проверял текущий системный тик.

В общем вопрос философский: как поступить? Прилагаю текущие наработки.

P.S. Ой, не в тот раздел закинул тему. Просьба модераторов перенести в WPF.
Вложения
Тип файла: zip TestGame.zip (185.6 Кб, 9 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.01.2014, 02:23
Ответы с готовыми решениями:

Осуществить перемещение графического объекта по экрану с разным шагом
Добрый день. Есть вот такая задачка. Нарисовать на экране монитора изображение. Осуществлять передвижение изображения по экрану:...

Перемещение по экрану
Как сделать так, чтобы во время работы программы, каждые 2 секунды менялось ее положение. у меня Visual studio 2008

Перемещение текста по экрану
На экране есть 20 строк, в каждой строке по 60 символов(все залито опреденным цветом TextColor и TextBackGround), программа в текстовом...

6
burning1ife
 Аватар для kenny69
1466 / 1287 / 294
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
22.01.2014, 05:15
почему не хотите для этой задачи использовать, например, XNA?
http://xnafan.net/2013/04/simp... -part-one/
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
22.01.2014, 12:14  [ТС]
Цитата Сообщение от kenny69 Посмотреть сообщение
почему не хотите для этой задачи использовать, например, XNA?
Ар-р-р-р-р-р!!!!..... Каждый (блин, где бы я не спрашивал, каждый раз) считает что мне нужно использовать его любимый конструктор игр или преходить на XNA!

P.S. Сори, накипело... Ушел реветь в угол, читая про Unity.
0
burning1ife
 Аватар для kenny69
1466 / 1287 / 294
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
22.01.2014, 12:24
Цитата Сообщение от Wolfdp Посмотреть сообщение
Ар-р-р-р-р-р!!!!..... Каждый (блин, где бы я не спрашивал, каждый раз) считает что мне нужно использовать его любимый конструктор игр или преходить на XNA!
P.S. Сори, накипело... Ушел реветь в угол, читая про Unity.
Наверное, раз все так говорят, то это имеет смысл, т.к. он и оптимизирован для этих задач. Уж получше, чем писать игру такого типа на WPF так точно Почему такая ненависть к XNA? И почему это он любимый? У меня любимый WPF и asp.net mvc. Но я бы не стал на нем делать такую игру. Инструменты ведь выбирают по задаче.
Unity - еще лучше. Но и сложнее.
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
22.01.2014, 14:14  [ТС]
Цитата Сообщение от kenny69 Посмотреть сообщение
Почему такая ненависть к XNA? И почему это он любимый?
Я не говорил, что он ненавистный. Просто... Мелкософт как-то закинуло его развитие, что немного оталкивает от его изучение. Просто хотелось реализовать средствами WPF, ибо на данный момент многие части реально легче сделать через него и только вот такие экшн сцены под вопросом.

Цитата Сообщение от kenny69 Посмотреть сообщение
Unity - еще лучше. Но и сложнее.
Пробежался по первым ссылкам. Всё 3d. Unity вообще стоит рассматривать для 2d?

Уточню -- логика "игры" будет довольно своеобразная и не тривиальная. Именно это оталкивает от использование каких-либо мэйкеров, ибо боюсь наткнутся на нерешаюмые проблемы АИ или скрипта.
0
burning1ife
 Аватар для kenny69
1466 / 1287 / 294
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
22.01.2014, 14:48
Цитата Сообщение от Wolfdp Посмотреть сообщение
Пробежался по первым ссылкам. Всё 3d. Unity вообще стоит рассматривать для 2d?
Я бы рассматривал. Логика ведь пишется на C#.
http://www.youtube.com/watch?v=rXDK6InUaO4


Цитата Сообщение от Wolfdp Посмотреть сообщение
Именно это оталкивает от использование каких-либо мэйкеров, ибо боюсь наткнутся на нерешаюмые проблемы АИ или скрипта.
Это же не fps creator или подобные ему, где в угоду простоте жертвуете широкими возможностями.
Хотя даже на нем я встречал очень даже неплохие игры, в которые я с удовольствием играл.


XNA это же просто набор готовых инструментов, чтобы не изобретать велосипед. На крайний случай можно реализовать все с нуля. Все в ваших руках.
Вот игра на XNA.
http://www.youtube.com/watch?v=HOGcDe5F1v8#t=83
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
22.01.2014, 15:18  [ТС]
Цитата Сообщение от kenny69 Посмотреть сообщение
http://www.youtube.com/watch?v=rXDK6InUaO4 SaveFrom.net
блин, магию которую показывали понравилась ) По ходу придется отвлектись от сценария, чтобы занятся освоением Unity.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.01.2014, 15:18
Помогаю со студенческими работами здесь

Перемещение курсора по экрану
необходимо перемещать курсор по экрану. программу я написала, но может можно как то с помощью цикла организовать это: data segment ...

Перемещение изображения по экрану
господа подскажите если я напишу вот так InvalidateRect(hwnd,NULL,TRUE)или вот так-InvalidateRect(hwnd,NULL,FALSE)экран мерцает,но это и...

Перемещение по экрану и масштабирование
С помощью мыши передвигаем элемент, собственно проблема в масштабировании этого же элемента. У меня получается, что при попытке изменить...

Перемещение окружности по экрану
Помогите пожалуйста разработать программу, которая отображает процесс перемещения окружности по экрану, при нажатии соответствующих клавиш...

Перемещение окружности по экрану
окружность радиуса R перемещается на экране справа налево, по достижению ею середины экрана она делится на два равных сектора. первый...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru