|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.11.2011, 18:55 | #1 |
Пользователь
Регистрация: 22.11.2011
Сообщений: 18
|
Арканоид. Разрушение кирпичей шариком.
Не знаю, как разрешить данную проблему. Бывает, что шарик тупо проходит мимо кирпичей и не разрушает их. Возможно проблема в угле отражения или еще в чем-то, но как записать условие не как не соображу.
Вот часть кода программы: Код:
Буду очень благодарен кто поможет в решение данной проблемы. ___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Beermonza; 23.11.2011 в 15:24. |
22.11.2011, 21:40 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Без проекта (прикрепить сюда вложением) разобраться в этой каше очень проблематично.
На будущее - оформляем код кнопочкой # ну или тегом CODE (что равнозначно) |
22.11.2011, 22:41 | #3 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Чего-то у тебя вообще простая проверка. Я когда писал нечто подобное, проверял все четыре угла квадрата (он у мну исполнял роль шарика).
Код проверки проверяющий 4-ре угла на возможные столкновения у мну такой. Код:
|
23.11.2011, 18:06 | #4 |
Пользователь
Регистрация: 22.11.2011
Сообщений: 18
|
Проект добавил. На данный момент интересует как убрать проскакивание шарика через кирпичи, ост. не значительные погрешности уберу. Т.е. как я понял, надо добавить условия проверки ударения шарика об кирпичи?
|
26.11.2011, 15:34 | #5 |
Пользователь
Регистрация: 22.11.2011
Сообщений: 18
|
У кого-нито появились какие-нито мысли?
|
26.11.2011, 16:11 | #6 | |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Цитата:
ты в своем коде делаешь проверку только в синих метках (см. рис), а надо бы еще добавить проверку в желтых метках (см. рис). Последний раз редактировалось Warn; 26.11.2011 в 16:38. |
|
27.11.2011, 18:29 | #7 |
Пользователь
Регистрация: 22.11.2011
Сообщений: 18
|
Т.е. нужно добавить еще 4 условия на проверку этих 4-х углов?
|
27.11.2011, 18:53 | #8 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Хотя бы так
Код:
|
27.11.2011, 22:36 | #9 |
Пользователь
Регистрация: 22.11.2011
Сообщений: 18
|
to Warn: большое спасибо. Шарик стал разрушать кирпичи намного корректней. Но теперь только он бывает сразу разрушает два кирпича, хотя до 2-го кирпича он даже не коснулся. Т.е. надо добавить в это условие ( которые вы написали ) еще как бы условие о ударение шарика об кирпича? Чтобы бы он сразу несколько кирпичей за 1 касание не разрушал...
|
28.11.2011, 07:09 | #10 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Представь ситуацию шарик еще перед блоками и вот очередная итерация цикла (позиция+скорость) и он уже на площади обоих блоков своими углами, которые проверяем. Идет цикл проверки, обрабатывается столкновение с первым блоком. Меняется знак скорости блок убирается, затем идет проверка с другим блоком – все так же меняется знак скорости блок убирается. Визуально это выглядит как шарик немножко помешкавшись летит дальше.
Тут можно сделать следующее. Дополнить проверку с блоком на условие – "Если шарик уже сбил(столкнулся) какой-либо блок в этом проходе цикла, не менять скорость, а просто уничтожить блок(уменьшить хрупкость)", или как вариант просто выходить из цикла проверки после первого же столкновения. Что бы он визуально их касался, сделай проверку вписанного квадрата в шарик, а не описанного как есть. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Арканоид | Kostia | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 11 | 03.04.2021 21:50 |
Арканоид | jasonfuck | Помощь студентам | 6 | 29.05.2011 18:49 |
Разрушение формы Delphi | Яська | Помощь студентам | 3 | 12.12.2010 22:53 |
арканоид | GaLiof | Помощь студентам | 1 | 18.01.2010 11:25 |
разрушение индексов при изменении таблицы | bosston | БД в Delphi | 1 | 23.06.2009 08:22 |