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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2009, 14:48   #151
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
а какой объект в delphi можно использовать для юнитов в стратегии ,просто ставить новий image для каждого юнита нет смисла!
Проще всего взять битовый образ (это не объект!) и рисовать его на графической поверхности (Form; PintBox; ImageBox)
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 26.06.2009, 15:30   #152
sasha1993
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 43
По умолчанию

спасибо за ценную информацию (особенно за монитор).
есть только одна проблема , эти образы создают за собой след при передвижении. или я чегото не понял?

Последний раз редактировалось sasha1993; 26.06.2009 в 15:34.
sasha1993 вне форума Ответить с цитированием
Старый 26.06.2009, 15:55   #153
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от sasha1993 Посмотреть сообщение
спасибо за ценную информацию (особенно за монитор).
есть только одна проблема , эти образы создают за собой след при передвижении. или я чегото не понял?
Конечно не понял )) ...читай тему "Уроки по созданию игр для новичков", ВСЮ читай, там и примеры есть. В кратце, сначала обновляем задний фон, потом накладываем картинку в новом месте.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 27.06.2009, 20:45   #154
sasha1993
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 43
По умолчанию

спасибо за уроки !!!

Последний раз редактировалось sasha1993; 27.06.2009 в 21:17.
sasha1993 вне форума Ответить с цитированием
Старый 27.06.2009, 20:50   #155
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

У битмапа есть свойство TRANSPERENT его и включите.
Levsha100 вне форума Ответить с цитированием
Старый 28.06.2009, 23:32   #156
sasha1993
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 43
По умолчанию

я передвигаю на карте персонаж, но не знаю как можно клонировать
его при нажатии мышы ,так чтоб можно было передвигать их в разные места одновременно.


есть идеи?
sasha1993 вне форума Ответить с цитированием
Старый 29.06.2009, 08:30   #157
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Канешно есть! Ты готов изучитьь двумерные массивы?
Shadow_1329 вне форума Ответить с цитированием
Старый 29.06.2009, 09:49   #158
sasha1993
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 43
По умолчанию

готов!!!!!!!!!!!!!!!!!!!!!!!!!!

но как именно он должен работать?

Последний раз редактировалось sasha1993; 29.06.2009 в 09:54.
sasha1993 вне форума Ответить с цитированием
Старый 29.06.2009, 12:45   #159
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Очень просто. Я тебе обьясню. Но для начала они будут перемещаться одинаково. Потом уже модифицируешь. После uses пишешь
Код:
type
GUnit = packed record//Твой игровой обьект(вместо GUnit можешь поставить любое другое название)
Ux:integer;//положение по горизонтали
Uy:integer;//положение по верткали
Utexture:Tbitmap;//текстура
UWidth:integer;//ширина
Uheight:integer;// длина
end;//конец=)

//затем где ты обьявляешь переменные пишешь
Tanks:array[1..20] of GUnit;//Ты создаешь массив игровых обьектов от 1 до 20 если хочешь больше меняй цифру и вместо танкс тоже можешь чо-нить другое поставить.
i:integer;//Обьявляешь переменную i

//в создании формы пишешь
for i:=1 to 20 do//Это ты делаешь действия для всех твоих танков. Всегда пиши эту команду перед операциями с массивами 1 до 20 значит от 1-го танка до 20-го.
begin
Tanks[i].Utexture:=Tbitmap.Create;//Твоих танков сейчас много и для того чтобы сделать для всех их действия ты пишешь так(может быть и такое - Tank[1].Uwidth и т.д.)
Tanks[i].Utexture.LoadFromFile...
//и все остальное в этом духе

//Затем в таймере пишешь 
//Почти-что тоже что и в создании форм только с координатами и т.п.
Понял?
Shadow_1329 вне форума Ответить с цитированием
Старый 29.06.2009, 13:11   #160
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Для юнитов лучше создавать не записи, а реальные классы, с полями и методами, так ошибок будет в стократ меньше и так делают программисты в играх! Код выше легко переделывается в класс, просто добавьте действий над полями (числами), например, загрузка битового образа для класса, передвижение, другие свойства.
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создаю "тестирующую систему" для проверки задач. Программисты, нужна ваша помощь! alexfmf Помощь студентам 12 30.04.2009 20:19
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49