|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
Создание игры(2d)12.05.2009, 21:08. Показов 100854. Ответов 423
Метки нет (Все метки)
Собственно идея такого создать нечто на подобиe ->
http://www.newgrounds.com/portal/view/494301 Буду сюда задвать свои вопросы,думаю всем кто будет увлечён создание игры тоже будет интресно) Otaka,этот задний буфер замещает собой background плюс курсор оставляет на неём свои артефакты,как его очищать,да так чтоб ещё и background у нас был. ________________________________________ ________________________________________ _________________________ Основные моменты Вычисление угла поворота персонажа в зависимости от положения курсора мыши То же Поворот изображения(тут еще как смещать точку поворота) Делаем пули Все еще непонятки с пулями Начинаем вычисление коллизий Идея про то, как это должно быть Как это должно быть реализовано Как повернуть массив точек(регион)? А тут код(в нем есть глюк. Потом есть исправленная версия) Находим столкновение региона и линии. Исправленная версия столкновения регионов Как это должно выглядеть в принципе? Начинается долгое обсуждение того как делать редактор уровней ... ... Первый вариант редактора Снова эти пули Функция которая бьет изображения на мелкие куски(тайлы) Версия редактора Загрузка сохранение Еще версия
4
|
|
| 12.05.2009, 21:08 | |
|
Ответы с готовыми решениями:
423
Создание игры Создание игры Создание игры |
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 12.07.2009, 12:01 | |
|
Так, давай разберемся, что уже есть.
Координаты конца автомата и координаты окончательной точки полета пули при любых поворотах персонажа тебе известны, я так полагаю. Думаю, надо намалевать небольшой огонек, и во время стрельбы этот огонек поворачивать в соответсвии с позицией персонажа, и помещеть его в точку конца дула. Саму траекторию полета пули рисовать не нужно, а просто проверять на соприкосновение эту траекторию и регионы врагов.
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|||||||||||
| 12.07.2009, 15:16 [ТС] | |||||||||||
|
Да всё это у нас есть.
Так щас я сделаю mazzle flаsh(попытаюсь точнее),и потом попробуем два варианта с прорисвкой траектории пули и без. Добавлено через 1 час 31 минуту 4 секунды
1.Не знаю как убрать физ.модель пули.Точнее знаю:
2.Изображение выстрела не выводиться на экран.
0
|
|||||||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 12.07.2009, 17:59 | ||||||
А почему не вывится огонь? может ты его просто не рисуешь?
0
|
||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|||||||||||
| 12.07.2009, 18:02 [ТС] | |||||||||||
RotateDC(BG->Canvas->Handle,SvAng); BG->Canvas->Draw(SvPosX,SvPosY,Muz_flash);
Да вроде вот здесь его рисую. Сможешь написать тогда столкновение региона с линией?
0
|
|||||||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|||||||||||
| 12.07.2009, 20:41 | |||||||||||
|
Вот тебе процедура обнаружения столкновения прямой и региона:
Кстати, я там раньше немного затупил с HitTest, и поэтому она несовсем правильно определала некоторые ситуации. Это все последствия необдуманного копипастирования. Вот тебе исправленная версия:
2
|
|||||||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||||||||||||||||
| 13.07.2009, 22:46 [ТС] | ||||||||||||||||
|
О,заработал Transparent)
Добавлено через 5 минут 44 секунды
0
|
||||||||||||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 14.07.2009, 10:26 | ||||||
|
У тебя есть главный цикл игры. В нем надо делать обработки(это цикл, где и прорисовка фона, и персонажа). За его пределами рисовать ничего нельзя, так как это привнесет сумятицу в частоту кадров, ты просто можешь ничего не заметить.
А вот тут, я чо то не понял, что это вообще за таймер? Вроде как ведь в Timer1Timer и есть все обработки? или ты забыл там поставить, что там ... ...?
0
|
||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|||||||||||
| 14.07.2009, 13:02 [ТС] | |||||||||||
Добавлено через 1 час 17 минут 27 секунд Всё я решил проблему теперь всё афигенно стреляет(моя ошибка была,я коегде не дописал одну часть кода +) . Но возникла следующая,работают все VK команды кроме:
0
|
|||||||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 14.07.2009, 18:41 | ||||||
|
Еге ге, как же ты? мышь в клавиатуре ищешь?
Надо так:
2
|
||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 14.07.2009, 18:51 [ТС] | |
|
Спасибо,слушай мну стрёмно уже ()_(),ведь стрелять он уже умеет,значит пришло время делать A.I. o_0
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 14.07.2009, 18:59 | |
|
Сначала сделай, здоровый уровень(или хотябы, чтобы в проге это было)
Возможность свободно по нему пересещаться. Загрузка новых зон(при переходе из зоны в зону). Я вообще думаю, что туда бы неплохо было бы Луа прикрутить привинтить, так как это на порядок облегчит управление уровнем, а также ты получишь опыт встраивания скриптового языка, тем более это не сложно.
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 14.07.2009, 20:54 [ТС] | |
|
О слушай,это очень круто,всегда мечтал об этом,а где про это можно почитать?)
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 14.07.2009, 22:51 | |
|
Где про это можно почитать я не знаю, но ты можешь по вопросику спрашивать меня, и я тебе расскажу. Авось чего-то и выйдет.
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 14.07.2009, 23:00 [ТС] | |
|
Хорошо,и как мне программировать в Lua,точнее с чего мне начать)
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|||
| 15.07.2009, 11:09 | |||
|
Подожди. Сначала нужно, чтобы был большой уровень, и некая штуковина для редактирования этих уровней(так вот), иначе мы не сможем получить от луа всей критизны.
ДЛя чего она тут? Например идет храбрый сталкер по городку и видит дверь. Он её пытается открыть... Неужели ты будешь в скомпиленой проги для каждого такого случая делать какую-то обработку? С луа можно назначить через редактор уровней этой двери такорй скрипт:
Но повторяю - нужен редактор. И еще структура проги должна буть такой, чтобы уровень грузился из файла. LoadLevel("Зона1.lvl"); И в этих файлах записаны: поверхность, объекты, враги, друзья, предметы, артефакты... Как это будет будем делать врагов и их (чёто типа)АИ, потом уже займемся скриптингом.
0
|
|||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 15.07.2009, 11:37 [ТС] | |
|
Хорошо уровнем я щас займусь,нарисуем что нибудь.
Как мне быть вот с этим : штуковина для редактирования этих уровней/
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 15.07.2009, 14:44 [ТС] | |
|
Вот,прошу.Otaka какой примерно нужен уровень?
1
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 16.07.2009, 16:14 | |
|
Нужно ведь сделать так, чтобы у нас был уровень большой пребольшой. Ты ведь не собираешься ограничиваться этими 500*500?
В уровне нужно знать его размер в каких то единицах, например 100*100. Каждая единица - квадрат 50*50, итого у нас 5000*5000. Итак у нас есть 100*100 матрица. В каждый элемент содержит число, это число говорит о типе поверхности: 1 - трава зеленая. 2 - выжженая земля. 3 - асфальт. 4 - высохшая трава. 5- ... ... 100-переход вода земля. 101-переход земля трава. ... 1000-вода.(квадраты с индексом>=1000 пусть будут непроходимы) Вот. У нас например окно 800*600 , тут помещаются примерно 192 квадратика, вот мы их и рисуем. Еще у нас есть объекты в каком-то списке, мы их тоже отрисовуем(конечно же сначала смотрим попал ли объект в область видимости, или он за экраном). Также организовуем прокрутку уровня в зависимости от передвижений свалкера.
1
|
|
|
|
|
| 16.07.2009, 16:27 | |
|
Объясни как enum'ами пользоваться для задания типа поверхности, и как аккуратно сделать соотвествие номера и отображаемой картинки
По поводу прокрутки - есть два способа: 1. Чувак всегда отображается по центру экрана, а уровень по сути дела плывёт в сторону, противоположную движению 2. Чувак бегает по экрану, но тогда возникает неудобство на границе уровня, где дельше уровень должен плыть как из пункта 1. Правда это лечится тем, что по нажатию на кнопку можно перепозиционировать так, чтобы чувак оказался по центру. Или момент, когда уровень начнёт плыть, делать не по границе экрана, а немногоне доходя до него В идеале надо поддержать все варианты, а пользователь выбирает то, что ему удобнее (либо в разные моменты удобно разное поведение)
1
|
|
| 16.07.2009, 16:27 | |
|
Помогаю со студенческими работами здесь
140
Создание игры
Создание игры Создание игры на C++ Создание 3д игры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|