Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/516: Рейтинг темы: голосов - 516, средняя оценка - 5.00
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168

Создание игры(2d)

12.05.2009, 21:08. Показов 102385. Ответов 423
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно идея такого создать нечто на подобиe ->
http://www.newgrounds.com/portal/view/494301

Буду сюда задвать свои вопросы,думаю всем кто будет увлечён создание игры тоже будет интресно)

Otaka,этот задний буфер замещает собой background плюс курсор оставляет на неём свои артефакты,как его очищать,да так чтоб ещё и background у нас был.

________________________________________ ________________________________________ _________________________
Основные моменты
Вычисление угла поворота персонажа в зависимости от положения курсора мыши
То же
Поворот изображения(тут еще как смещать точку поворота)
Делаем пули
Все еще непонятки с пулями
Начинаем вычисление коллизий
Идея про то, как это должно быть
Как это должно быть реализовано
Как повернуть массив точек(регион)?
А тут код(в нем есть глюк. Потом есть исправленная версия)
Находим столкновение региона и линии. Исправленная версия столкновения регионов
Как это должно выглядеть в принципе?
Начинается долгое обсуждение того как делать редактор уровней
...
...
Первый вариант редактора
Снова эти пули
Функция которая бьет изображения на мелкие куски(тайлы)
Версия редактора
Загрузка сохранение
Еще версия
4
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2009, 21:08
Ответы с готовыми решениями:

Создание игры
Извините за очередную тему подобного рода, но все же не могу не спросить: Мечтаю о создании игры, пусть и очень простой.. Сейчас для меня...

Создание игры
Доброго времени суток! Лабораторная работа - сделать игру. Есть идея. Нужны любые советы, коментарии, пожелания и критика. Спасибо! ...

Создание игры
Люди есть у кого нибудь исходники игры на подобие игр от ALAWAR, что бы разобрать и поучиться на этом примере? Или подскажите где можно...

423
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
24.06.2009, 10:01
Студворк — интернет-сервис помощи студентам
Для порядка надо обязать автора выставлять все промежуточные стабильные состояния, дабы общественность была в курсе
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
02.07.2009, 23:55  [ТС]
Так,взял небольшой отпуск от компа,вот недавно вернулся

Подкормлю,недоделанным интерфейсом,и парочкой скетчей.

И совместно с рисованием назрел вопросик,как мне со скетчей перевести это мини чудо-юдо в электронный формат,может кто знает?
Миниатюры
Создание игры(2d)   Создание игры(2d)   Создание игры(2d)  

0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
03.07.2009, 00:10  [ТС]
Мне последний очень нравиться
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
03.07.2009, 10:17
В электронный формат можно перевести нарисовав это все заново на компе.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
03.07.2009, 12:05  [ТС]
Это логично ,я просто не понимаю как это делать,а туториалов в инете чёто не нашёл
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
03.07.2009, 18:57
Лучший ответ Сообщение было отмечено как решение

Решение

А какие именно тебе нужны туториалы. Я могу тебе рассказать в двух словах. Берешь компьютер, открываешь пэинт(или чего-нибудь иное) и рисуешь.
Каждый кадр можно пихать в отдельный файл. Тоесть: например у тебя размер кадра 50*50 и должно быть 10 кадров героя. Создаешь 10 файлов с именами st_00.bmp,st_01.bmp... в них всех должно соблюдаться правило о 50*50 и цвете прозрачности. Что еще непонятно?
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
09.07.2009, 23:37  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void DrawToBitmap(TBitmap*c)  //Это так, для тестирования
        {
        int tx=x-Ox;
        int ty=y-Oy;
        c->MoveTo(p[0].x+tx,p[0].y+ty);
        for(int i=0;i<count;i++)
                {
                c->LineTo(p[i].x+tx,p[i].y+ty);
                }
        c->LineTo(p[0].x+tx,p[0].y+ty);
        c->Brush->Color=clRed;
        c->Ellipse(x-2,y-2,x+2,y+2);
        }
Что сдесь надо поменять чтоб,вращающийся регион можно было не только на Сanvas выводить ,но и на Bitmap,тобишь на BG.
0
 Аватар для KoFeMaH
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
09.07.2009, 23:44
кстати можеш занова не рисовать а тупо обрезать эти изображения
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
10.07.2009, 16:26
А не нужно создавать новыю функцию. У тебя ведь есть DrawTo(TCanvas*c).
Просто при вызове делай так:
C++
1
region.DrawTo(BG->Canvas);
Функция ведь рисует на канвас, а у каждой картинки есть свой канвас.

Добавлено через 1 минуту 46 секунд
А зачем тебе выводить регион? Эту функцию я написал просто для того, чтобы тебе показать работоспособность кода.
1
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
10.07.2009, 17:32  [ТС]
Если посмотришь,флешку в шапке,там выстрел пройзводиться просто линией из ствола,этой линией и будет CRegion заодно я буду проверять столкновение.
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
10.07.2009, 18:45
Мне кажется, что лучше написать функцию HitRegionAndLine, а линию рисовать просто линией(а можно вообще её не рисовать), хотя...
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
10.07.2009, 19:04  [ТС]
А как региону цвет придавать и ширину,через Brush?
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
10.07.2009, 19:12
насколько я знаю, регион просто так не рисуется. Ты его должен сначала преобразовать в массив TPoint и методом FippPolygon закрасить его текущим brush.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
10.07.2009, 19:32  [ТС]
Ясен,тоды не будем его выводить,вывидем просто Битмап.

Смотри такая задача -> как мне поместить точку вращения в ствол.(Единственное что получилось это чтоб пуля ровно вылетала из ствола как на первом скрине.)
Миниатюры
Создание игры(2d)   Создание игры(2d)  
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
10.07.2009, 22:00
Чет я непонял вопроса. Ты хочешь, чтобы человек крутился вокруг точки на ружье?
Неужели танки в нашем мире умеют поворачиваться вокруг конца своего дула?
Я думаю, что первый скрин отличный.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
10.07.2009, 22:06  [ТС]
Пасяп но мне нужно чтоб регион вращался вокруг ствола,я есчо разброс хочу сделать.
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
10.07.2009, 22:13
Мда? Ну ладно.
Повернуть регион вокруг той точки очень просто. нужно в CRegion выставить правильные Ox и Oy. А также При отрисовке перса в SetViewportOrg(или как там его), выставить те же(не совсем те - с минусом) правильные координаты.
Я все таки не пойму, зачем так нереально крутить?
Да, пушка сбоку. Но ведь можно и курсор сместить вбок, и относительно него срелять?
А что такое разброс?
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
10.07.2009, 22:17  [ТС]
Разброс выстрела,у него же точно не 100%

Вот в этом и сама проблема я никак не пойму как сделать так чтоб OriginPoint следил за стволом а направление выстрела за мышкой.

C++
1
2
3
4
5
6
7
8
9
FPoint * Bullet = new FPoint[2];
Bullet[0] = FPoint(0,0);
Bullet[1] = FPoint(200,200);
Bul.p = Bullet;
Bul.count=2;
Bul.SetOriginPoint(Svalker->Width+152,Svalker->Height+200);//Выбираем центр квадрата(100*100)
Bul.x=SvPosX;
Bul.y=SvPosY;
Bul.Rotate(SvAng+130);
Это код того что ты видишь на первом скрине,но с ним разброса не получаеться.
Тоесть чтоб было так.
Миниатюры
Создание игры(2d)   Создание игры(2d)   Создание игры(2d)  

0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
11.07.2009, 20:52
Тебе нужно просто правильно выбрать SetOriginPoint и bul.x..y.
Разброс- это отклонение пули от той прямой, какой целится персонаж?
А откуда тут Bul.Rotate(SvAng+130); появилось 130?
Если уж делаем разброс, то там случайное число приплюсовуем:
C++
1
2
3
4
5
6
//где-нибудь у нас переменная разброса.
int Razbos=2;// +- 5 градусов
 
//.........
 
Bul.Rotate(SvAng+130+(random(Razbros*2)-Razbros));
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
11.07.2009, 23:58  [ТС]
Так отлично,разбросс теперь работает нормально,теперь как бы сам выстрел реализовать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.07.2009, 23:58

Создание игры
Здравствуйте форумчане, мой вопрос состоит в том. Я молодой парень, который знает языки C++, C# и т.д. Ести небольшой интерес к созданию...

Создание игры
Добрый вечер. Начал работу над собственным проектом, и задался вопросом. (gamedev и прочие сайты перечитывал, но так ответа и не нашел....

Создание игры
Посмотрел как сейчас на коленке люди клепают инди игры под андроид\иос e.t.c. Созрел вопрос - куда двинуть, что использовать чтобы написать...

Создание игры на C++
Скажите , а можно ли создавать игры на С++? Если да , то буду рад увидеть примеры как это все реализовать и где можно. Возможно это С++...

Создание 3д игры
Извиняюсь, если такая тема уже была, не нашел. Хочу написать свою игрушку. Игрушка по типу что то gta sa. Но со своим смыслом и тп. Я готов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru