Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2010, 21:06   #1
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию Объекты в игре

Здравствуйте. Тут возник такой вопрос. Я делаю игру, и она организована так: есть фон, который накладывается одной большой картинкой, есть текстуры, которые собираются из маленьких квадратиков и т.д. Но вот дело дошло до объектов, над которыми нужно производить определенные действия, в том числе и при нажатии на них мышкой.

И было решено создать класс для этих объектов. Чтобы заиметь для них событие OnClick, родительским классом был взят TControl. Но вот настало время создания и вывода этих объектов на форму, и тут возникли проблемы. Я создавал объекты прямо с формой, на отдельном слое, в двумерном массиве, как и текстуры, и их количество было равным количеству ячеек карты.

Но проблема возникла такая: если создавать много объектов (например, даже в карте 50х50), то при загрузке игры она очень долго не показывается на экран, в то время, как какие-то операции в системе все-же производит. Быть может, она даже пытается загрузить объекты. Я уменьшил количество ячеек до 30х30, и игра загрузилась за 5 сек., но потом стала сильно тормозить.

Что же делать мне? Подскажите. И я догадываюсь, что создавать столько объектов очень глупо, но вот почему - не знаю.
ZotaC вне форума Ответить с цитированием
Старый 03.03.2010, 21:11   #2
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Ошибка в циклах, ищите многократные действия, которые проделываются на каждом шаге цикла, вместо того, чтобы выполниться один раз. Показывайте исходник, если нужна оперативная помощь, разбирающихся тут много.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 03.03.2010, 21:15   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Не надо делать игровые объекты, которые можно разместить на форме. Лучше сделайте свой собственный класс, не имеющий к TControl никакого отношения, а всецело заточенный только под реализацию игровой модели. Графику выводите на Canvas, а клики считывайте с формы, потом определяйте, какой объект находится в координатах точки клика и вызывайте функцию OnClick этого объекта.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматизация в игре axumac Свободное общение 3 22.01.2009 20:37
Звуки к игре Crivel Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 07.09.2008 23:40
OnMouseDown в игре. Titan123 Gamedev - cоздание игр: Unity, OpenGL, DirectX 10 29.07.2008 13:10
Препятствия в игре. Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 07.06.2008 14:14
Вопрос по игре!!! Ыть Паскаль, Turbo Pascal, PascalABC.NET 2 28.03.2008 09:02