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

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

12.05.2009, 21:08. Показов 100190. Ответов 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
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
17.05.2009, 22:39
Студворк — интернет-сервис помощи студентам
Это как? Вектор ведь это точка, угол и расстояние, или две точки. Чем тебе не нравится то, что уже готово? Работает ведь.
1
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
22.05.2009, 16:19  [ТС]
Как сделать подвижный массив,чтоб в него можно было добавлять и убирать эллементы?
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
22.05.2009, 17:58
Как сделать подвижный массив,чтоб в него можно было добавлять и убирать эллементы?
Через вектор:
#include "Vector.h"
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
22.05.2009, 18:26
Да, вектор.
Но я всегда пользуюсь TList. Класс VCL, раньше им очень много пользовался, и так привык, что никак не могу от него овязаться.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
22.05.2009, 19:38  [ТС]
С Tlist я ещё понимаю,но каким местом тут вектор и массив свизанны (:
(про старую задачу забудьте,щас задачи сделать выстрелы,и я делаю это через сдвижение массива пуль)
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
22.05.2009, 19:45
Ну, данные типы хорошо исползовать для задач, для которых они разрабатывались. вектор, например, это такой тип, где очень быстрый доступ к элементам, но долговато идет удаление и добавление внутри массива.В list доступ к элементам немного медленнее, но гораздо быстрее происходит вставка и удаление элементов независимо от их позиций.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
22.05.2009, 19:50  [ТС]
Можешь написать простой пример c Tlist
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
24.05.2009, 13:35
Странно. Уведомление, что ты что-то написал, мне не пришло.
Ну да ладно.

Описали класс пулю
C++
1
2
3
4
5
6
7
8
class TBullet
{
public:
float X;
float Y;
float dX;
float dY;
}
Потом можно взять класс TTList из вон того файла myclasses.cpp и сделать так:
обьявить
C++
1
TTList<TBullet*>bullets;
В конструкторе формы
C++
1
bullets=new TTList<TBullet*>();
Добавляем новый элемент так:
C++
1
2
3
4
5
TBullet*b=new TBullet();
b->X=....
b->Y=...
...
bullets->Add(b);
А потом при обработках
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Обрабатываем все пульки
for(int i=0;i<bullets->Count;i++)
{
//Перемещаем пули
bullets->Get(i)->X+=bullets->Get(i)->dX;
bullets->Get(i)->Y+=bullets->Get(i)->dY;
 
//Смотрим не вылезли ли они за экран
if(bullets->Get(i)->X>1000)//Например мы вылезли за экран
     {
     delete bullets->Get(i);//Очищаем память
     bullets->Delete(i);//Удаляем указатель из списка
     }
 
}
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
24.05.2009, 13:45
Господа, может всё-таки покажете, что получилось на текущий момент. А то интересно всё-таки Я понимаю, что самой игры пока нет, а отрабатываются только отдельные кусочки, но всё равно интересно
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
24.05.2009, 13:50  [ТС]
Ну смотри:то что есть XD
то что пока хотелось бы.
Вложения
Тип файла: rar Svalker.rar (201.8 Кб, 243 просмотров)
Тип файла: rar Svalker ТО что хотелоь бы XD.rar (460.0 Кб, 184 просмотров)
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
24.05.2009, 13:58
А чем это отркывать? А то 2007 не смог открыть

Добавлено через 1 минуту 35 секунд
И "то что хотелось бы" - тоже не запускается. Что-то там про DirectX 2008 пишет
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
24.05.2009, 14:02  [ТС]
Жёстко,балин я незнаю как компилировать эту вешщь в EXE чтоб показать ):
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
24.05.2009, 14:06
В общем достал бубуен и через жо$у всё-таки открыл и скомпилял. Выглядит неплохо
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
25.05.2009, 21:05  [ТС]
Потом можно взять класс TTList из вон того файла myclasses.cpp и сделать так:
Не врубаюсь как ето сделать и почему класс называеться TTList,а не просто TList?
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
25.05.2009, 21:11
В TList хранятся указатели на void. Прийдется постоянно делать преобразование типов. TTList это шаблонный клас, который будет делать эту конверсию за тебя. Конечно ты можешь использовать STL евский list. Он также шаблонный, и он скорее всего даже лучше.
А в что ты конкретно не врубаешься?
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
25.05.2009, 21:12  [ТС]
Какего взять из myclasses.cpp.
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
26.05.2009, 16:52
А во всех исходниках, которые я кидал, был файлик myclasses.cpp. Из него же ты брал RotateDC() ?
Или я не кидал его тебе?
Глянь сюда:
https://www.cyberforum.ru/cpp-... 722-2.html

Добавлено через 19 часов 34 минуты 52 секунды
KTYJIX, я пока еще пользуюсь шестым билдером.
Но это неважно. Сообщение

[BCC32 Error] Unit1.cpp(168): E2459 VCL style classes must be constructed using operator new

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

C++
1
2
TTList<TBullet*>*bullets;//В предыдущем примере я ошибся.
bullets=new TTList<TBullet*>();
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
26.05.2009, 16:56  [ТС]
Он говорит что незнает,что не занает,что такое Bullets. Мне его задикларироать как что?
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
26.05.2009, 17:04
создай класс TBullets
C++
1
2
3
4
5
6
7
8
class TBullet
{
public:
float X;
float Y;
float dX;
float dY;
};
а потом уже создавай на его основе список.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
26.05.2009, 17:22  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class TBullet
{
public:
float X;
float Y;
float dX;
float dY;
}
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
bullets = new TTList<TBullet*>();
};
[BCC32 Error] Unit1.cpp(165): E2451 Undefined symbol 'bullets'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2009, 17:22
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru