|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
Создание игры(2d)12.05.2009, 21:08. Показов 102473. Ответов 423
Метки нет (Все метки)
Собственно идея такого создать нечто на подобиe ->
http://www.newgrounds.com/portal/view/494301 Буду сюда задвать свои вопросы,думаю всем кто будет увлечён создание игры тоже будет интресно) Otaka,этот задний буфер замещает собой background плюс курсор оставляет на неём свои артефакты,как его очищать,да так чтоб ещё и background у нас был. ________________________________________ ________________________________________ _________________________ Основные моменты Вычисление угла поворота персонажа в зависимости от положения курсора мыши То же Поворот изображения(тут еще как смещать точку поворота) Делаем пули Все еще непонятки с пулями Начинаем вычисление коллизий Идея про то, как это должно быть Как это должно быть реализовано Как повернуть массив точек(регион)? А тут код(в нем есть глюк. Потом есть исправленная версия) Находим столкновение региона и линии. Исправленная версия столкновения регионов Как это должно выглядеть в принципе? Начинается долгое обсуждение того как делать редактор уровней ... ... Первый вариант редактора Снова эти пули Функция которая бьет изображения на мелкие куски(тайлы) Версия редактора Загрузка сохранение Еще версия
4
|
|
| 12.05.2009, 21:08 | |
|
Ответы с готовыми решениями:
423
Создание игры Создание игры Создание игры |
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 14.05.2009, 23:23 [ТС] | |
|
А детально можешь объяснить что происходит при твоём GPoint а то я понять не могу )
Добавлено через 12 минут 26 секунд Точнее как мне из неё угол извлечеть,вот чего я так и не понял)
0
|
|
|
|
||
| 14.05.2009, 23:34 | ||
|
А вообще, все игры делают так, что текущее состояние с нуля перерисовывают? А то мне почему-то казалось, что перерисовывают только изменённые участки, хотя если вот так подумать, то перерисовывать с нуля проще
0
|
||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 15.05.2009, 08:09 | |
|
Да рисовать с нуля гораааааааздо проще. Да и мышь ничем не отличается от персонажа, или объекта фона. Вся картинка доллжна перерисовываться раз 30-60 в секунду, в задний буффер, а потом на экран, ничего тогда не будет моргать, и все будет рисоваться как надо без того, чтобы задумываться о перерисовке изменившихся частей.
KTYJIX, ты еще забыл о том, что твой сталкер будет двигать весь фон. Надо еще организовать смещение фона. Хотя если предположить, что персонаж будет всегда в центре экрана, то StPosX и StPosY и будут смещение фона, но тогданадо немного иенять процедуры отрисовки персонажа и отсчета мыши.GPoint stalk(StPosX+63,StPosY+57); GPoint Mouse(MouseX,MouseY); float angle=stlak.Polar(Mouse)/M_RAD_CONV;
0
|
|
|
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
|
|
| 15.05.2009, 08:29 | |
|
Ребят насколько я помню при работе с изображением чтобы ничего не моргало при там увеличении или других работах с ним нужно прописать в с создании формы DoubleBuffered=true;
1
|
|
|
Программист TH
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
|
||
| 15.05.2009, 13:03 | ||
1
|
||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 15.05.2009, 19:08 | |
|
Так это ведь для работы с компонентами, или при перерисовке по OnPaint. А при рисованию по таймеру, мне кажется, это дело не поможет. А даже если и поможет, не так уж сложно смастерить свой буффер. Если надо, его и анализировать проще ScanLine ом, и например если делать самому вывод с альфамаской, то самое оно. А VCL doublebuffer, мне не нравится. Всегда без него обходился.
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||||||
| 15.05.2009, 21:13 [ТС] | ||||||
[BCC32 Error] Unit1.cpp(156): E2342 Type mismatch in parameter 'p' (wanted 'GPoint *', got 'GPoint')
0
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 15.05.2009, 21:20 | ||||||
![]() :'(
0
|
||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 15.05.2009, 22:23 [ТС] | |
|
Я тебя понял XD
Учу матчасть (:
0
|
|
|
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
|
||||||
| 15.05.2009, 22:52 | ||||||
|
кстати ребят у вас там адрес картинок прописан так что он будет читать только из папки по этому адресу.если перенесешь игру в другое место будет долго ругаться нехорошими словами) поэтому лучше адрес написать такой
1
|
||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||||||
| 15.05.2009, 23:10 [ТС] | ||||||
0
|
||||||
|
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
|
|
| 16.05.2009, 11:52 | |
|
Сижу долбаю код игры.Ктулх ты исправил то что он у тебя крутится как сумашедший?И кстати если он у тебяповарачивается с помощью мышки то зачем на нажатие клавиш A D события?Кстати изменил в коде
SetViewportOrgEx(BG->Canvas->Handle,StPosX,StPosY,NULL); RotateDC(BG->Canvas->Handle,angle); вот эту строку BG->Canvas->Draw(40-StPosX,40-StPosY,Stalker); и он перестал двигаться а стоит на месте и крутится
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||
| 16.05.2009, 13:24 [ТС] | ||
|
Так парни поздравляю,у нас почти получилось крутить его вокруг своей оси,вот проэкт он сдесь нормально крутиться за мышкой(ток с небольшим отклонением почему то).
Следующая цель завставить его нормально двигаться,просто если во время вращения начать движение опять какаято фигня происходит.
0
|
||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 16.05.2009, 14:20 | ||||||
|
Я плачу. Я же столько раз это повтрял. После смещения стартовой точки, больше не нужно рисовать объект по его истинному положению. Надо рисовать по 0,0(а если исходная точка = центру рисунка, то -PicWidth/2 -PicHeight/2);
Я тебе все исправил. Но для начала в качестве рисунка персонажа ведь у тебя какое-то непонятное создание, так ты его поверни под 90 градусов, чтобы он смотрел влево. В архиве бери.
0
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||||||||
| 16.05.2009, 16:07 | ||||||||||||
|
А отклонения у тебя были,потому что ты неправильно брал точку отсчета
Ты брал вот такую:
0
|
||||||||||||
|
Программист TH
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
|
|
| 16.05.2009, 18:50 | |
|
А откомпилированная версия вашей 2D-зверя есть? Посмотреть хочется, а чёт не компилится...
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 16.05.2009, 19:00 | |
|
Так это ж пока KTYJIX просто тренируется делать куски из игры. Там пока ничего нету.
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 17.05.2009, 22:33 [ТС] | |
|
Otaka,а не будет ли проще организовать поворот за мышкой по векторам?
0
|
|
| 17.05.2009, 22:33 | |
|
Создание игры
Создание игры Создание игры на C++ Создание 3д игры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|