![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Арканоид [Delphi, Windows]
Creep © (2004-06-24 19:18:00)Есть ли какие-нибудь принципы по созданию игры арканойда
ПсихЪ_клон (2004-07-02 16:29:00) [1]
> TButton (02.07.04 15:36) [21]
Если мячик за такт проходит больше своего радиуса, значит у тебя кривой алгортим. Но можно в таком случае вычислять, "а не пересекаются ли отрезок, входящей в состав описывающей хрень фигуры и отрезок с координатами (Начальные координаты мячика, конечные координаты мячика)".
Если нужна формула, то копайся в алголисте и прочих РАМБЛЕРах. Но в целом вот: опускаешь из центра окружности перпендикуляр на отрезок и если такой перпендикуляр возможен определяешь его длинну. Далее, сравниваешь эту длинну в радиусом. Если полученная длинна меньше радиуса, значит произошло столкновение (пересечение). Хотя я уже повторяюсь.
TButton (2004-07-02 15:36:00) [2]а если мячик за такт проходит >> своего радиуса?
и еще, как калькуляют расстояние от прямой до окружности, а то я свой справочник по математике кому-то дал по листать.
ПсихЪ_клон (2004-07-02 15:30:00) [3]
> TButton (02.07.04 15:22) [19]
фигура для столкновения с хренью описывается прямоугольником. Мячик - окружностью. Когда проверяешь столкновение окружности и прямоугольника, то так или иначе вычисляешь расстояние от каждого ребра прямоугольника до центра окружности и проверяешь "а не меньше ли полученное расстояние радиуса окружности". Если меньше, то кричи о столкновениии и фиксируй обработанную грань. Вот и всё.
TButton (2004-07-02 15:22:00) [4]а как определить в какую сторону хрени (бриками их называют если не ошибаюсь) попал шарик? положим хрени (брики) организованы 2В массивом. я как-то раз пытался в этом направлении помыслить но ничего путнегог из этого не вышло.
ПсихЪ_клон (2004-07-02 15:17:00) [5]
> Fredy314 © (02.07.04 14:47) [17]
А разлетающееся дерьмо сделать системой частиц. После красивой анимации частицы, которые соприкоснулись с другими "хренями" привязать к этим хреням и отрисовывать вместе с ними. Как будто эти хрени теперь заляпаны дерьмом... (:
Fredy314 (2004-07-02 14:47:00) [6]Можно не делить на участки а вычислять растояние как разницу координат центра ракетки и шарика. И угол отражения по центру равен углу падения а ближе к краям увеличивается или уменшается на ето самое растояние в градусах.
ПсихЪ_клон (25.06.04 14:16) [13]
Интересная идея надо будет попробовать. Только рисунки всех етих материалов надо поискать или самому накалякать.
rezak (2004-06-29 21:13:00) [7]
> Спасибо за советы буду, увеличивать или уменьшать угол отскока
> относительно центра платформы, хотя проще зделать, что их
> молния выбивает.
я тоже такое писал я так делал:
разделил платформу на 7 кусков
30 45 60 90 60 45 30
--------------------
платформа
aprm (2004-06-29 16:52:00) [8]Писал я как-то подобную вещь.
Нужно вычислять угол в зависимости от того, в какое место ракетки попал шарик. По краям: +-45градусов. В середине-вертикально. Плюс две зоны по бокам на самом краю - рандом от горизонта до 45 градусов
Motzart (2004-06-25 16:54:00) [9]интересный арканоид....никогда не рубился в такой прикольный..где взять?
не на компе? ну да, играл, было дело..
ПсихЪ_клон (2004-06-25 14:16:00) [10]
> wiz © (25.06.04 14:04) [12]
Ага, а хрени, которые нужно расшибать сделаны из разных материалов, определяющих поведение при попадании мяча.
Из материалов для разбиваемых хреней (как бы их правильно назвать-то?) можешь взять:
1. Глину красную, для изготовления силикатных кирпичей.
2. Стекло обычное.
3. Меловые останцы.
4. Слюду.
5. Ну и так далее, по вкусу. Хоть из дерьма их делай, тогда они будут забавно разлетаться, пачкая соседние хрени и жутко вонять! (:
wiz (2004-06-25 14:04:00) [11]2 Motzart [10]: Ну как обычно... Мячик - костяной. Платформа - из твёрдого дерева с обивкой (хорошо "помазанный" мелом). Стены - камень обитый сукном :))
Andrey (2004-06-25 11:21:00) [12]>Motzart (25.06.04 10:08) [8]
А в бильярд ты когданибудь играл? Не на компе.
Motzart (2004-06-25 11:17:00) [13]> wiz ©
Видел,видел...вот кстати, а из какого материала сделана платформа и мячик в арканоиде? :-) ну чтоб учесть..
ПсихЪ_клон (2004-06-25 10:15:00) [14]
> wiz © (25.06.04 08:09) [6]
Хм, круто!!! Вот бы не подумал. Хитро придумано (:
> Motzart (25.06.04 10:08) [8]
И долго ты задумывался над этим? Только где ты в жизни видел работающим этот закон? Угол отскок искажается в зависимости от материала из которого сделаны мяч и стенка, закрученности мяча, скорости мяча (при высокой скорости и малом угле мяч может просто проскользить по плоскости), и т.д.
Motzart (2004-06-25 10:08:00) [15]а кто-нить задумывался, что угол падения равен углу отражения?
Creep (2004-06-25 09:26:00) [16]Спасибо за советы буду, увеличивать или уменьшать угол отскока относительно центра платформы, хотя проще зделать, что их молния выбивает.
wiz (2004-06-25 08:09:00) [17]2 ПсихЪ_клон: кстати, в Ricochet (от Reflection Stidio или Arcade) всё сделано "физично" и без рандомов. Просто ребята ввели в задачу отражения спин (вращение) шарика. Поэтому он и может отражаясь лететь "обратно" (если правильно "закручен")
dhdd (2004-06-25 04:34:00) [18]Да, в DX-Ball2 шарик может циклиться долго (очень). Надо на самом деле делать RANDOM-отклонение при ударении о стенку, но это тебе (Вам) может не понравиться, т.к. это выход не по точной науке. А точно-рассчётно - это так: от силы ударения (у тебя - скорости) зависит угол проецирования инерции (у тебя - угол отскока), от этого угла и зависит дальнейшее направление движения. Это не просто RANDOM, а математически (и мат.-программно) правильное и реальное решение.
Goorus (2004-06-25 04:12:00) [19]Самый лучший арканойд, который я видел, это DXBall2. Там, если долго не выбиваются брики, то по ним бьёт молния и они разрушаются, а угол отлёта шарика от эээ... ну вот этой, что снизу, зависит от того, как близко столконовение относительно центра этой штуковины. А рэндом нужен в случае, если шарик "завис" в горизонтальной плоскости.
ПсихЪ_клон (2004-06-25 00:25:00) [20]Дык, когда делаешь отскок мяча от плоскостей соприкосновения, то добавля небольшой РЭНДОМ, тогда рано или поздно выбить можно будет всё.
Я не знаю как ты делаешь отскок, но можно увеличивать или уменьшать угол отскока относительно центра платформы, которой управляет игрок.
Вообще, скачай Арканойд от Reflection Studio (вроде так пишется) и зацени, там всё очень наглядно!!! Порой, когда мячик летит вниз по очеь пологой траектории он может при отскоке от стены полететь вверх... (: РЭНДОМ (: