|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
Создание игры(2d)12.05.2009, 21:08. Показов 102612. Ответов 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д игры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|