Полёт стрелы в 2d (сетке)
Может кто из вас делал подобное ,отпишитесь .
можно делиться идеями ,предложениями ну и конечно кодами ... вот мой код: |
Ответ: Полёт стрелы в 2d (сетке)
Уточни - 2D, Side Scroller или Top-Down или может Изометрия?
Все они очень отличаются.. |
Ответ: Полёт стрелы в 2d (сетке)
Цитата:
|
Ответ: Полёт стрелы в 2d (сетке)
Учитывая что это Top-Down, то тебе нужно симулировать всё как буд-то сетка просто нормальная (без перспективы).
А вот где начинается перспектива - так это только отрисовка. Для логики перспектива абсолютно не учитывается. |
Ответ: Полёт стрелы в 2d (сетке)
Уважаемый ,модератор ,если данная ссылка в коё-то мере не согласуется с правилами данного форума ,то оставляю за вами право удалить её
http://youtu.be/PBN4UGkR1tQ Пытаюсь сделать нечто в этом роде |
Ответ: Полёт стрелы в 2d (сетке)
Насчёт ссылок на ютуб, ты можешь даже постить их в специальном теге для ютуба. Тут проблем с этим нету, пока ссылки не ссылаются на порнуху, или что-то там с политикой или религиозностью, т.к. на нашем форуме они вызывают взрывоопасный баттхёрт у некоторых :)
Как уже говорил, реализуй математику и логику просчётов без учёта отрисовки, как если бы это был бы просто вид сверху. Если я правильно понял, у тебя будет конкретная цель для стрелка, но стрела может попасть в кого-то по пути (верно?). И как стрела у тебя будет лететь, по дуге (стреляется вперёд но под градусом в небо), или напрямую? Если первый - то тут всегда одна цель в которую стреляешь, и всегда будет в неё лететь. Если же второе, то тут нужно просчитывать, т.к. нужно учитывать есть стрела не попадёт в кого-то на пути. Таким образом тебе нужно провезти отрезок между целью и стрелком, и вычислить все ячейки через которые эта ячейка проходит. По пути вычисления начинать от стрелка, и двигаться к целе. Если по пути к цели какая-то из ячеек имеет противника на пути - то стрела попадёт в него а не в цель. Движение простое - вычисляешь вектор между целью и стрелком, он вычисляется разницой в X и Y координат, затем вычисляешь дистанцию между стрелком и целью (теорема Пифагора), и затем полученные раньше разницы делишь на дистанцию. Таким образом ты получишь веткор длиной в 1. Далее тебе нужен параметр скорости (например 3). И чтобы двигать стрелу, нужно каждый цикл пока стрела не будет над ячейкой цели, прибавляй к позиции X, Y стрелы вектор X умноженный на скорость (3) и также для Y. Стрела будет двигаться в направлении цели. Ещё раз напоминаю - логика игры и полёта стрелы не имеет ничего общего с отображением. Поэтому делай вычисления как если это выглядело бы просто с видом сверху, а затем когда отрисовываешь делай дополнительные модификации данных для симуляции перспективы. |
Ответ: Полёт стрелы в 2d (сетке)
в принципе ,то как я реализовал меня устраивает , просто думал может кто по другому сделал (краше что ли).
в основном цель для стрелы одна и по пути не в кого попадать не будет. разве что при массовом обстреле сетки ячеек 3х3 ,для каждой ячейки будет своя стрела . можете посмотреть код для одной цели в [оффтопе] мышью кликайте по экрану для получения новой цели |
Ответ: Полёт стрелы в 2d (сетке)
желающим присоединиться к проекту ,писать в личку.
платить никому ничего не буду :) , а так пожалуйте. цель : создать играбельную демо версию. |
Ответ: Полёт стрелы в 2d (сетке)
начал проект здесь
|
Часовой пояс GMT +4, время: 10:53. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot