|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.12.2009, 17:50 | #11 |
Форумчанин
Регистрация: 04.08.2009
Сообщений: 684
|
И, кстати, он действительно иногда застревает (герой), при чём по совершенно непонятным причинам. Просто стоит в углу и не реагирует на надатия стрелок. Вернее сказать, реагирует, но не полностью: изображение меняется (в какую сторону он должен двигаться), но движения не происходит.
По поводу анамации брилиантов: если N - это номер кадра анимации, то замедлить можно, написав в таймере следующее: Код:
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой? |
11.12.2009, 19:47 | #12 | ||
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Цитата:
Цитата:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
||
12.12.2009, 10:57 | #13 |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
Мне кажется, чтобы герой не застревал, нужно доделать так, чтобы если игрок отпустил клавиши, а сам персонаж находится в неудобной позиции (может застрять), то он (персонаж) должен еще продолжить свой путь сам, чтобы встать на свою клеточку. Тогда и застревать никогда не будет (ну почти)
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты |
12.12.2009, 11:43 | #14 |
Форумчанин
Регистрация: 04.08.2009
Сообщений: 684
|
На вложении видно, где у меня застревает. Такое ощущение, что на клавиатуре зажали влево и не отпускают
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой? |
12.12.2009, 12:10 | #15 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Цитата:
пример кратенький: 111 p00 101 Будем считать, что 1 - стена, 0- проход, р - игрок. Если игрок находится посередине (т.е. между нулем и той клеткой, где стоит буква р), и жмет клавишу вниз, то персонаж должен будет делать шаг в право, если есть проход вниз, в том направлении, куда игрок последний раз двигался. (т.е. автоматически доходить до прохода, при условии, что он не в ста километрах, а меньше, чем через 1 клетку.)
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
12.12.2009, 14:48 | #16 |
Форумчанин
Регистрация: 04.08.2009
Сообщений: 684
|
на самом деле, можно сделать проще.
когда игрок нажимает какую-либо курсорную клавишу, то, если туду есть проход, персонаж двигался не чуть чуть, как это сделано сейчас, а проходил всю клетку. Тогда и не будет упираний в сетну. Правда, я наверно погорячился, сказав "проще", ибо не знаю, как устроен код игры
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой? |
12.12.2009, 15:34 | #17 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Все, я понял, в чем проблема!))) Ларчик-то просто открывался...)))
На самом деле герой не застревает - просто его размеры для программы составляют 40x40 пикселей, компьютер мнит его квадратом, а изображение героя находится примерно посередине этого квадрата. Т.е. по факту он в этот момент упирается в стенку, хотя из-за особенностей его изображения кажется, что он до нее не дошел! Я-то к этому привык еще с тех пор, как он ходил строго по клеточкам, а внешне и впрямь кажется, что он застревает. В следующий раз или уменьшу его физический размер до визуального, или визуальный увеличу! Иначе и впрямь это сильно запутывает и вообще не дружественно по отношению к игроку! А что касается внутреннего устройства игры, то как такового поля клеток у меня нет, и объекты могут иметь любые целочисленные координаты. Игрок же и его враги имеют свои координаты и скорость (скорость игрока меняется каждый шаг таймера по нажатию/отпусканию клавиш стрелок), а при движении проверяются их столкновения с другими объектами. А если они должны упереться в стенку, то каждый раз проверяется, не могут ли они все-таки пройти в этом направлении, но на меньшее расстояние. А такая вот форма лабиринта осталась еще с предыдущей версии игры, когда все объекты располагались строго в клетках поля; теперь же я решил от этого отказаться.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
06.02.2010, 22:33 | #18 |
Новичок
Джуниор
Регистрация: 05.09.2009
Сообщений: 2
|
Гром, не мог бы кинуть код мне на мыло, хотел бы разобраться поподробнее)) Axi2021@programist.ru
|
08.04.2010, 14:55 | #19 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Итак, после очень долгого перерыва в свет выходит новая версия игры! Привлекательность для игрока существенно повышена, геймплей улучшен!
Существенные (и не очень) изменения: 1. Игра полностью перерисована, убогая графическая составляющая осталась в прошлом. 2. В частности, движения ГГ и супостатов, а также бонусы анимированы. 3. Появилось игровое меню: начать игру, продолжить игру, помощь и выход. 4. Новый дизайн уровня использует возможности движка на полную катушку (отсутствует видимость сетки). 5. Добавлены звуки и фоновая музыка. 6. У ГГ теперь три жизни. 7. Добавлен новый бонус - неуязвимость. 8. Эффекты всех бонусов визуализированы. Плюс пара мелких добавлений/исправлений. АПД. 9. Да, еще теперь супостаты не пытаются тупо переться в стенку, уперевшись в нее, а сразу меняют направление движения. Несколько комментариев: 1. Звуки теперь в игре есть, но в целом звуковое оформление, на мой взгляд, получилось препохабное. Звуки были хаотично надерганы из интернета, а подобрать приличную атмосферную фоновую музыку не удалось (и это, пожалуй, главный косяк). Если вдруг кому-то удастся сделать приличную озвучку - буду благодарен! 2. В правом нижнем углу есть камушек, запрятанный в очень тесном закутке. Интересность ситуации заключается в том, что высота закутка в точности равна высоте ГГ, поэтому для подбора этого камушка необходимо точное попадание ГГ в проход. После натыкания на ограду при движении вверх-вниз ГГ может оказаться на один пиксел выше или ниже зазора, поэтому для попадания в него необходимо предварительно выровняться о, например, надгробие, чтобы разность координат ГГ и закутка была кратна длине шага ГГ. Этот момент, конечно, можно подправить, немного расширив закуток, но в этом есть какая-то интересная сложность, не находите? Итак, прошу любить и жаловать!
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же Последний раз редактировалось Гром; 09.04.2010 в 00:25. |
08.04.2010, 15:49 | #20 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Не плохо получилось. Правда после прохождения уровня как-то не понятно, жму кнопочки - никакой реакции, выхожу в меню - есть кнопка продолжить игру, которая не срабатывает. Ну и, само-собой, погостов мало. Добавить-бы десяток хот бы.
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Pacman | Merkator | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 13 | 12.02.2011 13:58 |
Прошу чуточку помочь. пишу игру Pacman на Turbo C++... | Олегус | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 20.05.2009 23:57 |
Пишу Pacman. Нужна помощь. | AngelOfDeath | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 07.10.2008 14:34 |