Понедельник, 25 Ноября 2024, 14:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Вопрос о реализации инвентаря на delphi 7
FerasetДата: Среда, 22 Мая 2013, 16:09 | Сообщение # 1
Издание игр
Сейчас нет на сайте
Всем привет. Поясню суть задачи:

Есть один String Grid N*N стр/стлбцов. Нужно организовать передачу картинки в каждую ячейку данных одну за одной так, чтобы потом при двойном щелчке на ячейку с картинкой, ячейка её определяла(Например шоу мессаджем)/отличала от других. И ещё такая важная вещь: нужно сделать так чтобы картинки можно было передавать поочерёдно по одной и чтобы они следовали бы друг за другом.

Чтобы проще понять надо сделать что то вроде инвентаря в рпг играх. Если есть какие-то другие компоненты упрощающие сие действие, подскажите пожалуйста. Заранее благодарю. smile

Добавлено (22.05.2013, 16:09)
---------------------------------------------
Ну что никаких идей?

Вот мой вариант с флажками, но он не отрисовывает картинки друг за другом. Нужен менее геморный и правильный вариант.

Код

procedure TLocation1_tower.inventoryDrawCell(Sender: TObject; ACol,
   ARow: Integer; Rect: TRect; State: TGridDrawState);

begin
if inv1=1 then
begin
    if ((ACol=0) and (ARow=0))
    then
    begin
    apple := TBitmap.Create; //Создаём Bitmap
    apple.LoadFromFile ('data/3285gtb45g/apple.bmp'); //загружаем в него файл
    inventory.Canvas.Draw (Rect.Left, Rect.Top, apple); //Отрисовываем
    apple.Free; //Освобождаем память
    end;
end;
if  inv1=2 then
    if inv2>=1 then
    begin
    if ((ACol=0) and (ARow=0))
    then
    begin
    apple := TBitmap.Create; //Создаём Bitmap
    apple.LoadFromFile ('data/3285gtb45g/apple_korz.bmp'); //загружаем в него файл
    inventory.Canvas.Draw (Rect.Left, Rect.Top, apple); //Отрисовываем
    apple.Free; //Освобождаем память
    end;
    end
    else
    if ((ACol=0) and (ARow=0))
    then
    begin
    apple := TBitmap.Create; //Создаём Bitmap
    apple.LoadFromFile ('data/3285gtb45g/none.bmp'); //загружаем в него файл
    inventory.Canvas.Draw (Rect.Left, Rect.Top, apple); //Отрисовываем
    apple.Free; //Освобождаем память
    end;
end;


Спасибо пользователю TimCruz, за то что научил меня спокойствию, терпимости и вере в цели.



Сообщение отредактировал Feraset - Среда, 22 Мая 2013, 12:48
TimKruzДата: Вторник, 04 Июня 2013, 20:48 | Сообщение # 2
старожил
Сейчас нет на сайте
Цитата (Feraset)
Нужен менее геморный и правильный вариант.

Самый правильный вариант - это использовать OpenGL/DirectX и изобретать свои велосипеды "компоненты", а не юзать стандартные баттоны и едиты для создания великой и могущественной ММОРПГ. На визуальных компонентах далеко не уедешь, если едешь в направлении "хорошая игра".


FerasetДата: Четверг, 13 Марта 2014, 21:39 | Сообщение # 3
Издание игр
Сейчас нет на сайте
Ит ис совершенно верно. О чём я только думал раньше=)

Спасибо пользователю TimCruz, за то что научил меня спокойствию, терпимости и вере в цели.

OrdanДата: Пятница, 14 Марта 2014, 02:20 | Сообщение # 4
Главный зомби
Сейчас нет на сайте
Сделай массив записей, в каждой записи укажи путь к картинки, параметры какие тебе нужно и тп. Пускаешь по циклу и отрисовываешь картинки в инвентаре. Можешь динамические создавать имэджи и приписывать к ним различные команды, к примеру на параметр tag ты можешь записать ИД шмотки в базе данных и при наведении на имедж выводить данные о нем. Но все же я советую опенГЛ.

Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг