|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.05.2009, 19:52 | #31 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
У меня тоже сильно тормозит, да и памяти занимает 10мб. На какой стадии разработки игра стала так тормозить?
Сейчас посмотрю исходник. ------------------ Посмотрел.... Безжалостно удаляй этот код: Код:
Последний раз редактировалось Вадим Буренков; 28.05.2009 в 20:03. |
28.05.2009, 20:05 | #32 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
Сейчас попробую.
|
28.05.2009, 20:09 | #33 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
Все сделал как ты и сказал но как сделать чтобы таймер всю карту перерисовывал заново?
|
28.05.2009, 20:18 | #34 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
Если я напишу этот код только в FormCreate то он загрузится один раз и прорисуется один раз. Таймер при этом ничего не рисует получается.
|
28.05.2009, 21:41 | #35 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
mp[m,n].Utexture - это массив карты, в ячейке будет некая текстура TBitmap, какая? ...та, что хранится в банке текстур! Тебе нужно создать одномерный массив, в который один раз в FormCreate ты закидываешь все текстуры. В карте у тебя будут номера картинок, пробегая по файлу ты берешь значение и загружаешь картинку в банк, подряд, ячейка за ячейкой. Когда ты прорисовываешь карту, ты используешь лишь индекс, номер ячейки в банке текстур (ячейка массива), и пишешь запись типа: Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
29.05.2009, 08:02 | #36 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
Это конечно полезная информация но я сделал чуточку проще. Во всяком случае для меня. В будущем пригодится. Спс.
|
29.05.2009, 08:50 | #37 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
У меня в игре на данный момент будет происходить следующее. Ты тыкаешь на юнита и он выделяется(другог слова не нашел), затем когда ты тыкаешь куда нибудь правой кнопой мыши он будет ехать туда. У меня вопрос. По одному же ты передвигать юниты не будешь(нудно). А как сделать так чтобы они все выделялись специальными границами(ну это когда зажимаешь мышку на рабочем столе и водишь ею, такими границами)?
|
29.05.2009, 09:38 | #38 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Я не занимался разработкой стратегий, но я вижу код таким.
Делаешь процедуру, назовем ее MouseControl(Unit:TUnit), где Unit - переменная под юнит типа TUnit. В TUnit должна быть переменная Код:
1)Проверка, находится ли юнит под мышью и нажата ли левая кнопка мыши. Если да, то Selected:=true; 2)Если юнит выделен, Код:
Также нужно сделать условие снятия выделения с Unit'a. Но как же найти координаты мыши и проверку нажата ли мышь? Можно с помошью Event'ов OnMouseDown и OnMouseMove, но мне эти методы не нравятся из-за излишнего усложнения кода. Поэтому я советую использовать 1)Для определения координат мыши: Во всех программах сушествует переменная Mouse с различными данными.Нам потребуются свойства Mouse.CursorPos.X и Mouse.CursorPos.Y они и отвечают за координаты. 2)Проверить нажатия мыши можно с помощью написанной мной функции: Код:
Код:
|
29.05.2009, 10:02 | #39 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
А как нарисовать рамку выделения вогруг юнитов?
|
29.05.2009, 10:41 | #40 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
Блин танк едет с такими тормозами... Вот исходник посмотри.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создаю "тестирующую систему" для проверки задач. Программисты, нужна ваша помощь! | alexfmf | Помощь студентам | 12 | 30.04.2009 20:19 |
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" | MAcK | Компоненты Delphi | 11 | 24.10.2007 10:49 |