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

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

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2008, 17:08   #11
N!ckeL
Форумчанин
 
Регистрация: 29.03.2008
Сообщений: 300
По умолчанию

Цитата:
в чужом коде или как-то так, ничего не понимаю.
Зачем тогда мой исходник? Всегда пользоваться чужим кодом не получится... держи в приложениях вместе с планкой
Вложения
Тип файла: rar Мяч.rar (7.2 Кб, 34 просмотров)
Карп преодолевший водопад становится драконом.
N!ckeL вне форума Ответить с цитированием
Старый 08.07.2008, 17:17   #12
SerBern
Новичок
Джуниор
 
Аватар для SerBern
 
Регистрация: 08.07.2008
Сообщений: 1
По умолчанию

Ну возьми какую-нибудь переменную за скорость перемещения мяча (Например, "Skorost").Она будет использоваться в таймере (например "Shape1.Top:=Shape1.Top+skorost ;")
Потом смотри, если мяч сталкивается с планкой то значение меняй на отрицательное (типа "skorost:=-skorost;"), вследствии мяч должен поменять направление.
P.S : Если что, то я тут непричём
SerBern вне форума Ответить с цитированием
Старый 10.07.2008, 10:04   #13
CyberOrcX
Заблокирован
Форумчанин
 
Регистрация: 27.04.2008
Сообщений: 103
Вопрос Успокойтесь... Я уже сто раз так делал

Что значит проверить, если мяч попался к планке и оттолкнуть?
CyberOrcX вне форума Ответить с цитированием
Старый 10.07.2008, 10:29   #14
N!ckeL
Форумчанин
 
Регистрация: 29.03.2008
Сообщений: 300
По умолчанию

Цитата:
Что значит проверить, если мяч попался к планке и оттолкнуть?
В моих исходниках по таймеру проверяется если мяч коснулся планки, то менять угол и сторону падения.
Карп преодолевший водопад становится драконом.
N!ckeL вне форума Ответить с цитированием
Старый 15.07.2008, 15:40   #15
CyberOrcX
Заблокирован
Форумчанин
 
Регистрация: 27.04.2008
Сообщений: 103
По умолчанию сделал... теперь нужно(если можно)...

Сделал все как вы говорили, пошло-поехало...
Теперь нужно (если можно) сделать так, чтобы мяч, если попал в середину планки, то мяч поднимется прямо вверх, и вниз опять, проверка если попал не в середину, а напр.: левее или правее, то поднимаем мяч уже не прямо вверх, а так чтобы угол был равен 45 например. можно такое сделать? и как можно движение планки, дать управлять мышке и плавно?
CyberOrcX вне форума Ответить с цитированием
Старый 17.07.2008, 16:13   #16
ЛомиК
Пользователь
 
Регистрация: 09.07.2008
Сообщений: 66
По умолчанию

Цитата:
Сообщение от CyberOrcX Посмотреть сообщение
Как написать арканоид?
Я знаю что писать, чтобы планка не выходила за рамки формы.
Но, как двигать мяч, и как он прыгает от стороны в сторону (от планки тоже).
Кто что знает?
Ну я немогу написать точный код, но могу сказать как это должно работать с точки зрения алгоритма.

Вопервых угол падения мяча и угол его отражения должен быть одинаков, что при соприкосновении с планкой, что с другими объектами без разницы.

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

Отражение от ракетки(планки) будет при условии что любая из точек рисунка имеет общие координаты с рисунком ракетки.

Если координаты верхней части рисунка ниже нижней границы окна, гейм-овер, или рестарт, смотря какой заход.

Если координать левой части рисунка мяча совпали с координатами левой границы окна - отражение мяча, тоже самое с правой и верхней стороной рисунка относительно правой и верхней границ окна.

Если координаты рисунка совпадают с координатами любого выбиваемого кирпичика, отразить мяч и удалить рисунок кирпичика, если кирпичик бонусный, начать движение рисунка бонуса вниз экрана.

Если хоть одна координата бонуса и ракетки совпала, применить бонус.

Если найдется желающий написать код, то он может использовать этот пост как коменты....

Последний раз редактировалось ЛомиК; 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
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Хорошо ищите в разделе "Создание и обсуждение игр".
Вот комрад Kostia уже постарался: http://programmersforum.ru/showthread.php?t=12508
Сделано через DirectDraw, все алгоритмы есть, можно и на VCL перегнать, хотя смысл...
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 17.07.2008, 22:48   #19
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 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.
mutabor вне форума Ответить с цитированием
Старый 18.07.2008, 01:03   #20
CyberOrcX
Заблокирован
Форумчанин
 
Регистрация: 27.04.2008
Сообщений: 103
Стрелка Вот оно...

Смотрите исходники... Надеюсь на Вашу помощь.
Вложения
Тип файла: zip CyberOid.zip (20.5 Кб, 24 просмотров)
CyberOrcX вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен соавтор в написании онлайн игры (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