![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#31 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]()
У меня тоже сильно тормозит, да и памяти занимает 10мб. На какой стадии разработки игра стала так тормозить?
Сейчас посмотрю исходник. ------------------ Посмотрел.... Безжалостно ![]() Код:
Последний раз редактировалось Вадим Буренков; 28.05.2009 в 20:03. |
![]() |
![]() |
![]() |
#32 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
![]()
Сейчас попробую.
|
![]() |
![]() |
![]() |
#33 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
![]()
Все сделал как ты и сказал но как сделать чтобы таймер всю карту перерисовывал заново?
|
![]() |
![]() |
![]() |
#34 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
![]()
Если я напишу этот код только в FormCreate то он загрузится один раз и прорисуется один раз. Таймер при этом ничего не рисует получается.
|
![]() |
![]() |
![]() |
#35 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]() Цитата:
mp[m,n].Utexture - это массив карты, в ячейке будет некая текстура TBitmap, какая? ...та, что хранится в банке текстур! Тебе нужно создать одномерный массив, в который один раз в FormCreate ты закидываешь все текстуры. В карте у тебя будут номера картинок, пробегая по файлу ты берешь значение и загружаешь картинку в банк, подряд, ячейка за ячейкой. Когда ты прорисовываешь карту, ты используешь лишь индекс, номер ячейки в банке текстур (ячейка массива), и пишешь запись типа: Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
![]() |
![]() |
![]() |
#36 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
![]()
Это конечно полезная информация но я сделал чуточку проще. Во всяком случае для меня. В будущем пригодится. Спс.
|
![]() |
![]() |
![]() |
#37 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
![]()
У меня в игре на данный момент будет происходить следующее. Ты тыкаешь на юнита и он выделяется(другог слова не нашел), затем когда ты тыкаешь куда нибудь правой кнопой мыши он будет ехать туда. У меня вопрос. По одному же ты передвигать юниты не будешь(нудно). А как сделать так чтобы они все выделялись специальными границами(ну это когда зажимаешь мышку на рабочем столе и водишь ею, такими границами)?
|
![]() |
![]() |
![]() |
#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)Проверить нажатия мыши можно с помощью написанной мной функции: Код:
Код:
|
![]() |
![]() |
![]() |
#39 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
![]()
А как нарисовать рамку выделения вогруг юнитов?
|
![]() |
![]() |
![]() |
#40 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
![]()
Блин танк едет с такими тормозами... Вот исходник посмотри.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создаю "тестирующую систему" для проверки задач. Программисты, нужна ваша помощь! | alexfmf | Помощь студентам | 12 | 30.04.2009 20:19 |
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" | MAcK | Компоненты Delphi | 11 | 24.10.2007 10:49 |