Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.07.2009, 21:26
di_jus di_jus вне форума
Прохожий
 
Регистрация: 02.07.2009
Сообщения: 8
Репутация: 10
По умолчанию карта на bitmap

всем добрый день!!
при вот-таком-вот коде
Код:
for i2:=1 to 500 do
for i1:=1 to 500 do
begin
   map[i1,i2].pict:=Tbitmap.Create;
   map[i1,i2].pict.width:=35;
   map[i1,i2].pict.height:=35;
   map[i1,i2].pict.LoadFromFile('1.bmp');
   form1.Canvas.Draw(i1*35-35,i2*35-35,map[i1,i2].pict);
end;
Admin: Не забываем про оформление кода.

программа не работает. почему?

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

Последний раз редактировалось di_jus, 02.07.2009 в 21:37.
Ответить с цитированием
  #2  
Старый 02.07.2009, 22:26
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Код:
var
  bmp: TBitmap;
  i, j: Integer;
begin
  bmp := TBitmap.Create;
  try
    bmp.LoadFromFile('1.bmp');
    for i := 0 to Width div bmp.Width do
      for j := 0 to Height div bmp.Height do
        Canvas.Draw(i * bmp.Width, j * bmp.Height, bmp);
  finally
    bmp.Free;
  end;
end;
Рисовать на Canvas'е какого-то Bitmap'а (не на форме) — так же.
Ответить с цитированием
  #3  
Старый 02.07.2009, 23:16
di_jus di_jus вне форума
Прохожий
 
Регистрация: 02.07.2009
Сообщения: 8
Репутация: 10
По умолчанию

спасибо,вот только обясните для чего
Код:
bmp.free 
нужен
Ответить с цитированием
  #4  
Старый 02.07.2009, 23:25
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Цитата:
Сообщение от Delphi Help

Free method (TObject)

Destroys an object and frees its associated memory, if necessary.
Вот так. Ибо не надо сорить.
Ответить с цитированием
  #5  
Старый 03.07.2009, 10:52
di_jus di_jus вне форума
Прохожий
 
Регистрация: 02.07.2009
Сообщения: 8
Репутация: 10
По умолчанию

а какая тут ошыбка ?
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
 begin
  if key=('w') then
  nx:=nx+1;
 end;
Ответить с цитированием
  #6  
Старый 03.07.2009, 10:58
Аватар для mak-karpov
mak-karpov mak-karpov вне форума
Активный
 
Регистрация: 18.09.2008
Сообщения: 235
Версия Delphi: 2010 и 7
Репутация: 1242
По умолчанию

Правильней:
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=Ord('w') then
  nx:=nx+1;
end;
Цитата:
Несовпадают типы : Word и Char
__________________
Кнопка "+" - весы в правом верхнем углу сообщения...
Ответить с цитированием
  #7  
Старый 03.07.2009, 11:31
di_jus di_jus вне форума
Прохожий
 
Регистрация: 02.07.2009
Сообщения: 8
Репутация: 10
По умолчанию

проблема немного не в том.
Просто когда я кидаю на форму несколько кнопок 'formkeydown' отключается

даже так
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  n:=n+1;
end;


что делать?
Ответить с цитированием
  #8  
Старый 03.07.2009, 11:39
Аватар для mak-karpov
mak-karpov mak-karpov вне форума
Активный
 
Регистрация: 18.09.2008
Сообщения: 235
Версия Delphi: 2010 и 7
Репутация: 1242
По умолчанию

используй GetKeyState по таймеру.
Код:
if (GetKeyState(Ord('w')) < 0) and Form1.Active then ...

или поставь у формы свойство KeyPreview в true
__________________
Кнопка "+" - весы в правом верхнем углу сообщения...
Ответить с цитированием
  #9  
Старый 03.07.2009, 12:59
di_jus di_jus вне форума
Прохожий
 
Регистрация: 02.07.2009
Сообщения: 8
Репутация: 10
По умолчанию

всем спасибо но у меня остался последний горящий вопрос
пожалуйста скажите как раскрыть форму на весь экран?
Ответить с цитированием
  #10  
Старый 03.07.2009, 14:36
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
По умолчанию

Цитата:
Сообщение от di_jus
всем спасибо но у меня остался последний горящий вопрос
пожалуйста скажите как раскрыть форму на весь экран?
Form1.Align:=alClient; Ну это в runtime, а так можно вручную у формы выставить и когда она создастся, развернётся на весь экран.
__________________
Делаем'c разные игры. Искать на glscene.ru
Ответить с цитированием
  #11  
Старый 03.07.2009, 15:45
di_jus di_jus вне форума
Прохожий
 
Регистрация: 02.07.2009
Сообщения: 8
Репутация: 10
По умолчанию

извените но вы меня не поняли, необходимо раскрыть форму так чтоб скрыть 'пуск', как это делают в играх.
Ответить с цитированием
  #12  
Старый 03.07.2009, 16:42
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

1, 2, 3, 4. Хватит? =)
Ответить с цитированием
  #13  
Старый 04.07.2009, 22:10
di_jus di_jus вне форума
Прохожий
 
Регистрация: 02.07.2009
Сообщения: 8
Репутация: 10
По умолчанию

а как можно передвигать 'panel1' по экрану мышкой во время роботы програмы ???

Последний раз редактировалось di_jus, 05.07.2009 в 09:57.
Ответить с цитированием
  #14  
Старый 05.07.2009, 16:10
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Ох, ну и ленивый народ пошёл... Для кого Delphi World создали? вот, на. http://delphiworld.narod.ru/dw.html
Ищи, тут сотня вариантов решения последнего вопроса. Думаю, найдёшь.
Ребят, а вы тут тоже... Он прогу пишет, или вы за него? Если второе - то ему в раздел Работа с бюджетом...
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #15  
Старый 21.07.2009, 21:43
di_jus di_jus вне форума
Прохожий
 
Регистрация: 02.07.2009
Сообщения: 8
Репутация: 10
По умолчанию

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


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter