Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Уменя спрайты крутятся в таймере и на разных компах разная скорос [Delphi, Windows]


Creep ©   (2004-03-04 21:39:00) 

Здавствуйте. Уменя спрайты(image1.picture.loadfromfile) крутятся в таймере и на разных компах разная скорость.Как зделать чтоб спрайты  везде с одинаковой скоростью крутились. И где можно найти справочник на русском на Delphi 4 или 6.
заране спасибо.


lyeh   (2004-03-06 01:55:00) [1]

Что еще за бред? Кто игры с простым таймером и имаджем делает? Скачай для начала DelphiX, зайди на http://delphigfx.mastak.ru/и поучись. А вообще странно, зачем ламеры лезут игры делать, если даже не представляют как? Он еще и хелп к делфи просит :)


nexxiss   (2004-03-06 01:25:00) [2]

>Mihey
Немного не так выразился и сразу упреки.

Я не имел ввиду массив как таковой. Надо просто блитить необходимую часть битмапа на поверхность, для этого пишешь функцию для получения выводимой части бмп по индексу. Например:
MyBigBitmap.GetPicRect(Index: byte): TRect;
Где MyBigBitmap описанный класс с бмп.


TButton   (2004-03-05 22:54:00) [3]

блитингом


cyborg   (2004-03-05 22:36:00) [4]

> Чушь сказал. Как можно с одним битмапом работать как с массивом?
Он не чушь сказал, работать просто, обращаешься как к массиву и всё. Хотя причём тут массивы были упомянуты, мне не понятно :)

> Так как делать то лучше в одном битмапе или спомощию потоков
Это разные вещи, можно их совмещать, а не только или или.

В одной картинке сделай своего солдата, затем выводи на экран с этой картинки только ту часть, которая в данный момент соответствует состоянию твоего солдата.


TButton   (2004-03-05 22:15:00) [5]

:) я 6 лет назад начал с паскаля... "эх молодость молодость членом суда, членом туда..."


Creep   (2004-03-05 22:06:00) [6]

Вы хоть сильно не ругайтесь я програмированием начал заниматьмя 4 месяца назад. Начинал с паскаля


Creep   (2004-03-05 22:04:00) [7]

Так как делать то лучше в одном битмапе или спомощию потоков
(только с потоками ни че ни кокда не делал еще)


Mihey   (2004-03-05 21:48:00) [8]

> Проще всего хранить твои картинки Solder0, Solder5 и т.д. в одном битмапе, ну а работать с ним как с обычным массивом (почти).

Чушь сказал. Как можно с одним битмапом работать как с массивом?


NailMan   (2004-03-05 19:24:00) [9]

TImageList тебе в помощники(заодно и FM) и загружай вне игрового цикла.


nexxiss   (2004-03-05 18:07:00) [10]

Мда, полный караул.
Убери из таймера загрузку изображений, это надо делать не в основном цикле программы.
Проще всего хранить твои картинки Solder0, Solder5 и т.д. в одном битмапе, ну а работать с ним как с обычным массивом (почти).


cyborg   (2004-03-04 22:06:00) [11]

Судя по коду [2] Creep   (04.03.04 22:01)- это кошмарный сон геймера, а так же компьютера, на котором это будет запускаться.


cyborg   (2004-03-04 22:03:00) [12]

Ты издеваешься? Ещё предложи пользователю каждый кадр собственноручно рисовать в окошечке всплывающем, может быстрее отображаться станет.


Creep   (2004-03-04 22:01:00) [13]

я имел ввиду не крутить, а скорость смены картинки и кординаты
пример: image2.left:=image2.left+1;
 таймер
case bmp[n] of
1: image2.Picture.LoadFromFile('man\solder0.bmp');
2: image2.Picture.LoadFromFile('man\solder5.bmp');
3: image2.Picture.LoadFromFile('man\solder10.bmp');
и.т.д.


cyborg   (2004-03-04 21:45:00) [14]

Естественно, чем быстрее процессор и оперативная память, тем быстрее крутится. Чтобы сделать одинаково - не нужно их крутить ;).


Наверх

Титульная страница Поиск, карта сайта Написать письмо