Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2014, 07:29   #1
MeynSpain
Пользователь
 
Регистрация: 22.01.2014
Сообщений: 15
По умолчанию Как сделать прыжок

Уважаемые, помогите пожалуйста. Я делаю курсовую и мне осталось только сделать чтобы Image мог прыгать. Я понимаю чтобы он прыгал нужно поставить таймер ,но как все это прописать я не понимаю. Помогите пожалуйста, пришлите код программы.
MeynSpain вне форума Ответить с цитированием
Старый 29.03.2014, 09:36   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,889
По умолчанию

То, что уже написал, плюс естественно пробы с таймером, прикладывай проектом, подскажем.
Также прочитай внимательно все заинтересовавшие тебя темы в разделе Создание и обсуждение игр плюс учебные "важные" (закреплённые в начале раздела) темы. Там уже много раз всё обсуждалось и куча примеров.
phomm вне форума Ответить с цитированием
Старый 29.03.2014, 12:49   #3
blackstrip
Форумчанин
 
Аватар для blackstrip
 
Регистрация: 21.01.2012
Сообщений: 240
По умолчанию

Один из вариантов:

Таймер: когда enabled = true - то он через каждые Interval миллисекунд вызывает событие Timer.

а) Так что можешь, например, объявить в юните переменную jumpi. В нее будем записывать текущее положение прыжка от 0 до 180. Высоту будем рассчитывать через синус, умноженный на максимальную высоту (см.ниже).

б) По нажатию клавиши Пробел обнулять jumpi и делать timer1.enabled := true.

в) В самом событии таймера вырубать таймер timer1.enabled := false, высчитывать Z := floor(sin(jumpi*PI/180)*H), где H - высота прыжка в пикселях, перемещать координаты твоей прыгающей картинки на точку ее Y координаты минус Z (текущая высота прыжка). А затем прибавлять к jumpi единицу. И проверять: если jumpi не достигло 180 - значит прыжок еще не прошел до конца и тогда делаем timer1.enabled := true чтоб продолжить отрисовку прыжка в следующие срабатывания таймера.
blackstrip вне форума Ответить с цитированием
Старый 29.03.2014, 12:54   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И не помешало бы хотя бы картинкой показать, что имеется ввиду под прыжком
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.04.2014, 15:13   #5
MeynSpain
Пользователь
 
Регистрация: 22.01.2014
Сообщений: 15
По умолчанию

А вы не могли бы написать код программы
MeynSpain вне форума Ответить с цитированием
Старый 11.04.2014, 15:17   #6
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

MeynSpain Угадайте с одного раза с какой целью на этом форуме создавался этот раздел?
XE5 вне форума Ответить с цитированием
Старый 11.04.2014, 15:54   #7
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Цитата:
Сообщение от MeynSpain Посмотреть сообщение
Уважаемые, помогите пожалуйста. Я делаю курсовую и мне осталось только сделать чтобы Image мог прыгать. Я понимаю чтобы он прыгал нужно поставить таймер ,но как все это прописать я не понимаю. Помогите пожалуйста, пришлите код программы.
Прыгать он должен как? вверх, вперед или по всем направлениям? Притяжение земли учитывается?)
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 11.04.2014, 16:20   #8
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Прыгающая кнопка (Image прыгает точно так же). Код не привожу, потому что кода нет вообще. FireMonkey. Можно в 3D написать под картинку. Будет прыгать по оси Z (в глубину).

Последний раз редактировалось XE5; 11.04.2014 в 16:24.
XE5 вне форума Ответить с цитированием
Старый 13.04.2014, 06:50   #9
MeynSpain
Пользователь
 
Регистрация: 22.01.2014
Сообщений: 15
По умолчанию

Я скачал, посмотрел, но в папке debug я не могу открыть юнит, а в предыдущей папке, я открыл проект и там есть юнит без формы и не запускающийся.XE5 ты не мог бы написать как сделать вот эту прыгающую кнопку?
MeynSpain вне форума Ответить с цитированием
Старый 13.04.2014, 07:53   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
(Image прыгает точно так же). Код не привожу, потому что кода нет вообще. FireMonkey. Можно в 3D написать под картинку. Будет прыгать по оси Z (в глубину).
Ну так код там и не нужен. Блин я там сам потыкался в три минуты нашел как все делается, настолько очевидно... Единственно, он не для всех компонент прописан по крайней мере в XE3.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 13.04.2014 в 07:55.
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сделать видеочат на сайте. Хочу сделать но не знаю как.. Shaman-King Свободное общение 12 14.01.2013 00:22
Я создал игру типо марио и хочу сделать её по сети как это сделать? rbkmz Работа с сетью в Delphi 7 14.05.2012 15:58
Какой функцией можно задать прыжок лягушки? vadiprog Помощь студентам 3 04.01.2012 22:41
[MASM] Прыжок из программы в подпрограмму. SoundMan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 01.12.2008 18:41