|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.07.2008, 17:08 | #11 | |
Форумчанин
Регистрация: 29.03.2008
Сообщений: 300
|
Цитата:
Карп преодолевший водопад становится драконом.
|
|
08.07.2008, 17:17 | #12 |
Новичок
Джуниор
Регистрация: 08.07.2008
Сообщений: 1
|
Ну возьми какую-нибудь переменную за скорость перемещения мяча (Например, "Skorost").Она будет использоваться в таймере (например "Shape1.Top:=Shape1.Top+skorost ;")
Потом смотри, если мяч сталкивается с планкой то значение меняй на отрицательное (типа "skorost:=-skorost;"), вследствии мяч должен поменять направление. P.S : Если что, то я тут непричём |
10.07.2008, 10:04 | #13 |
Заблокирован
Форумчанин
Регистрация: 27.04.2008
Сообщений: 103
|
Успокойтесь... Я уже сто раз так делал
Что значит проверить, если мяч попался к планке и оттолкнуть?
|
10.07.2008, 10:29 | #14 | |
Форумчанин
Регистрация: 29.03.2008
Сообщений: 300
|
Цитата:
Карп преодолевший водопад становится драконом.
|
|
15.07.2008, 15:40 | #15 |
Заблокирован
Форумчанин
Регистрация: 27.04.2008
Сообщений: 103
|
сделал... теперь нужно(если можно)...
Сделал все как вы говорили, пошло-поехало...
Теперь нужно (если можно) сделать так, чтобы мяч, если попал в середину планки, то мяч поднимется прямо вверх, и вниз опять, проверка если попал не в середину, а напр.: левее или правее, то поднимаем мяч уже не прямо вверх, а так чтобы угол был равен 45 например. можно такое сделать? и как можно движение планки, дать управлять мышке и плавно? |
17.07.2008, 16:13 | #16 | |
Пользователь
Регистрация: 09.07.2008
Сообщений: 66
|
Цитата:
Вопервых угол падения мяча и угол его отражения должен быть одинаков, что при соприкосновении с планкой, что с другими объектами без разницы. Для рисунка мяча должна быть привязка к глобальной(мировой) системе координат, тоесть допустим точка в центре или нижнем левом углу. Относительно нее можно выщитать координаты любой грани рисунка. Отражение от ракетки(планки) будет при условии что любая из точек рисунка имеет общие координаты с рисунком ракетки. Если координаты верхней части рисунка ниже нижней границы окна, гейм-овер, или рестарт, смотря какой заход. Если координать левой части рисунка мяча совпали с координатами левой границы окна - отражение мяча, тоже самое с правой и верхней стороной рисунка относительно правой и верхней границ окна. Если координаты рисунка совпадают с координатами любого выбиваемого кирпичика, отразить мяч и удалить рисунок кирпичика, если кирпичик бонусный, начать движение рисунка бонуса вниз экрана. Если хоть одна координата бонуса и ракетки совпала, применить бонус. Если найдется желающий написать код, то он может использовать этот пост как коменты.... Последний раз редактировалось ЛомиК; 17.07.2008 в 16:16. Причина: Замечены ошибки |
|
17.07.2008, 16:31 | #17 |
Пользователь
Регистрация: 09.07.2008
Сообщений: 66
|
А если вы уж хотите сделать перемещения мяча в зависимости от того, движется ли планка под ним, и в какую сторону, если еще планка при длятельном нажатии ускоряется, то нужно учитывать скорость движения планки на момент совпадения с мячем и придать мячу нужное направление и ускорение.
Тоесть нужно назначить ряд переменных - Скорость планки и модуль направления (тоесть приращение координат привязки рисунка планки за единицу времени, и модуль приращения (+/-)) Скорость мяча(тоже самое, только по двум координатам) Алгоритм или матрица значений новых приращений для мяча после события столкновения. Например движение мяча вверх и влево под 45 градусов с первой скоростью это приращение у+1 и х-1, с двойной скоростью у+2 и х-2. Другой угол получится, если значения по х и у неравны. Ну и последнее, что я думаю стоит упомянуть, это то, что отскакивание мяча от любых других поверхностей с тем же углом реализуется еще проще, просто меняется знак с + на - по одной из координат, в зависимости от четырех условий(мяч может ударится об кирпичик, находящийся снизу, это не тоже самое, что об ракетку), при этом значения приращений остаются неизменными, если конечно вы нехотите применять физику реального мира, тогда нужно будет уменьшать приращения по законам ускорения... И уж самое последнее - есть еще один хитрый трюк, что бы мячик случайно не вышел на траекторию, по которой двигался бесконечно(допустим у вас не только выбиваемые кирпичики, но и невыбиваемые и мяч может там переотражаться вечно), то нужен обработчик события многократного столкновения по одинаковым координатам, если такое повторилось несколько раз, ввести рандомное приращение к одной из координат(естественнее когда угол изменяется вниз экрана). Последний раз редактировалось ЛомиК; 17.07.2008 в 17:00. Причина: Добавление |
17.07.2008, 19:51 | #18 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Хорошо ищите в разделе "Создание и обсуждение игр".
Вот комрад Kostia уже постарался: http://programmersforum.ru/showthread.php?t=12508 Сделано через DirectDraw, все алгоритмы есть, можно и на VCL перегнать, хотя смысл...
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
17.07.2008, 22:48 | #19 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
p.s. ЛомиК, ваши посты меня пугают, они как главы в книге, заметил еще по соседней теме, дальше половины я не осиливаю ))) (Не в обиду) 2 CyberOrcX, выкладывайте исходник, переделаю в свободное время, я арканоидов еще не делал, самому интересно.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 17.07.2008 в 22:52. |
|
18.07.2008, 01:03 | #20 |
Заблокирован
Форумчанин
Регистрация: 27.04.2008
Сообщений: 103
|
Вот оно...
Смотрите исходники... Надеюсь на Вашу помощь.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен соавтор в написании онлайн игры (delphi, 3d max) | timon777 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 16.02.2011 18:26 |
известные игры на delphi | Iceman | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 10 | 12.02.2010 18:30 |
Игры | wwwдмитрий | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 24.12.2007 12:28 |
Помогите с компиляцией игры, код есть (Delphi 4) | Дилетант | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 06.05.2007 20:57 |