![]() |
Проблема с 2d пулями
Вот я сделал игру на подобе Крисмосленда, но только со скролингом. И как сделать, что бы пули появлялись в центре экрана (в позиции игрока), но после того как появились, то уже не двигались вместе с игроком (что бы начинал на них действовать "скроллинг")? :crazy:
|
Ответ: Проблема с 2d пулями
о боже да чтож в последнее время вопросы настолько до безобразия тупы - будем надеятся какойнибудь экстрасенс-программист загялнит и поможет тебе
|
Ответ: Проблема с 2d пулями
NitE, судя по твоему посту я не понятно задал вопрос.
В общем у меня 2д игра типа Крисмосленда. Игрок всегда находиться в центре экрана, есть скроллинг это когда все объекты передвигаются, так, что бы было похоже, как будто двигается сам игрок, а не объекты во круг него. И я не могу понять, как сделать, что бы на пули (красные полоски, которыми стреляет игрок) тоже действовал скроллинг. А если более точно, то я создаю пули в позиции игрока и если нажать "идти в перед", то пули подучается летят вместе с игроком и мне надо, как то отвязать "пули" от игрока, что бы они летели сами по себе. :crazy: |
Ответ: Проблема с 2d пулями
Цитата:
я не понимаю как можно так объективно мыслить в абсолютно неправильном направлений возможно поможет выложить кусок кода ? или объяснить что у тебя уже есть и что тебе конкретно непонятно ? (я вот тоже просто никак непонимаю как-же сделать мега-игру, может ктонибудь подскажет ?) |
Ответ: Проблема с 2d пулями
|
Ответ: Проблема с 2d пулями
я опускаю руки и здаюсь...
|
Ответ: Проблема с 2d пулями
Придется пока что забить на это ибо сам вообще не понимаю, как сделать. :(
|
Re: Проблема с 2d пулями
если это в чистом двад, а не замешанно на трид то нет ничего проще.
прибавляй к параметрам пули величины на которые у тебя происходит скролинг тоесть все обьекты фона сдвинулись вправо на 1 пиксель то и к X координатам пули прибавляй +1, просто рассматривай пулю как элемент фона |
Ответ: Проблема с 2d пулями
Цитата:
если пост №8 то что ты хотел услышать - я разбегусь головой ап стену |
Re: Проблема с 2d пулями
начинай разбегаться)))
|
Re: Проблема с 2d пулями
Хто её в другое место перетащил??
с типами работаешь? сдается мне, тебе нужно просто свой код структурировать. делай так: создаешь тип игрока(откуда пулять будешь) создаешь тип пули (создается в координах игрока, на этот тип действует направление выстрела+ сдвиг по скролингу) создаешь тип фона(тут все обекты сдвигаются только по скролингу) а вообще поуму в двад все это делается на векторах, можешь на блицселекте в разделе блицмакса статьи посмотреть. хотя пеши пока в 3д там действительно понятней будет))) |
Ответ: Проблема с 2d пулями
Ну я уже решил все это дело в 3D сделать, так как я уже запарился с этим 2D. :)
|
Re: Проблема с 2d пулями
дак прально она у тебя непойми где появляется, ты в функцию "когда прально пишешь" заведомо сдвинутые данные посылаешь))
нужно не при создании, а потом уже каждый кадр обновлять со здвигом |
Ответ: Проблема с 2d пулями
Цитата:
|
Re: Проблема с 2d пулями
в двад все равно все обьекты надо заного перерисовывать да и в трид тоже если присмтреться
|
Ответ: Проблема с 2d пулями
ага, а если ещё лупу взять то ваще атас !
омгомг, что может быть непонятно - надо просто создать пулю там где игрок а потом не привязывать её к игроку... какие могут быть сложности ? |
Ответ: Проблема с 2d пулями
Вообще, можно сделать и 2Д-движок с энтитями, как в Блице (1 раз создал - оно само рендерится, можно привязывать, отвязывать и прочая хрень), и 3Д-движок с рендером вручную каждого объекта (хотя последнее нахрен никому не сдалось)
|
Ответ: Проблема с 2d пулями
Может
x=x+sin(ang)*speed y=y+cos(ang)*speed Где x,y - координаты пули ang - угол пули speed - множитель скорости А вобще нука сорец в студию! Цитата:
У каждого обьекта есть Draw() и Update() А в игре есть: UpdateGame() DrawGame() Где происходят все работы с графикой и логикой. |
Ответ: Проблема с 2d пулями
народ, вы с скролингом уже совсем поехали не туда, все обьекты в мире должны иметь мировые координаты, плюс в мире должна быть камера
вот при рендере просто учитываем координаты камеры и всё, не важно даже 2д или 3д игра не представляю как надо извращатся чтобы писать игру без абстракции камеры |
Re: Проблема с 2d пулями
У автора топика как раз виртуальная камера задана,так что все пучком. А обьекты так или иначе всеравно перерисовываются... такова жисть
|
Ответ: Проблема с 2d пулями
А так через типы я обрабатываю пули у себя в проекте:
Код:
; Update Shots LevelX, LevelY - глобальные координаты мира |
Ответ: Проблема с 2d пулями
Ммм... а в аттач сорец можешь закинуть.
Просто маловато кода, если ты говоришь что у тебя пули движутся вместе с игроком, то надо на этого игрока тоже посмотреть. Ошибка скорее всего в зависимости LevelX LevelY и PlayerX PlayerY. У самого такое бывало :/ |
Ответ: Проблема с 2d пулями
Вложений: 1
В общем попытался в 3D, но че то уже не то получается даже не интересно стало делать. Вот код. Если поможете сделать пули, то буду дальше в 2D делать. :)
З.Ы. Временно использую картинки ABTOMAT'а, попозже свои нарисую. :) З.ЫЫ. Если архив не будет открываться, то переиминуйте в .rar |
Re: Проблема с 2d пулями
Вложений: 1
карочь как я говорил нужно просто к координатам пули прибавлять сдвиг....
и просто необходимо написать свое подобие локальных координат ))) в атаче исправленная версия |
Ответ: Проблема с 2d пулями
Illidan, у меня камера это координа игрока, а именно "p\x","p\y". CameraX и CameraY это и есть эти координаты. Я их отнимал от координат пули, но они летели вместе с игроком и пробовал еще пару способов, но нифига не получилось и я забил на это дело и начал в 3D делать, а в 3D мне это дела не понравилось и я забил на игру, но теперь ее (игру) доделаю! :-D В общем спасибо большое! :)
Кстати, как проверять пули и остальные объекты на столкновение с картинками стены (картинка находятся в массиве)? :) |
Re: Проблема с 2d пулями
в фастимедже есть например testrect его за глаза хватит
точка = координата пули квадрат - тайл со стеной. только оптимизировать не забывай, чтоб не все стены со всеми пулями перепроверялись сразу |
Ответ: Проблема с 2d пулями
Попробую сделать, как ты говоришь, но я еще плохо кодю поэтому может и не получиться. :)
|
Часовой пояс GMT +4, время: 17:51. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot