![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хочу написать игру лоде-рунер(с редактором карт)на движке DelphiX [Delphi, delphiX, Windows]
Jus © (2004-09-21 06:10:00)Я вот хочу написать игру лоде-рунер (с редактором карт) на движке DelphiX.
Разрешение 800х600
Там каждый спрайт 32х32.
Карта 800х512, т.е. максимальное кол-во спрайтов на карте 400шт.
Я в Form1.Create вывожу эти спрайты по массиву.
(пример без массива):
procedure TForm1.FormCreate(Sender: TObject);
begin
TLestnica.Create(SE.Engine); // лестница
...и т д
end;
и FPSпадает до 0:((
в DXTimere у меня
procedure TForm1.DXTimerTimer(Sender: TObject; LagCount: Integer);
begin
IF not DXDraw.CanDraw Then exit;
DXDraw.Surface.Fill(0);
DXSpriteEngine.Move(1000 div 60);
DXSpriteEngine.Dead;
DXSpriteEngine.Draw;
With DXDraw.Surface.Canvas Do
Begin
Brush.Style := bsClear;
Font.Color := clWhite;
Font.Size := 8;
Textout(10, 10, 'FPS: ' + inttostr(DXTimer.FrameRate));
Release;
end;
DXDraw.Flip;
end;
1)Может для некоторых объектов которые нужно один раз вывести на экран отдельный DXSpriteEngine сделать, например
DXSpriteEngine 2, и не выводить в таймер DXSpriteEngine 2.Draw, а вывести при создании формы после создания всех объектов которые нужно вывести 1 раз?или так неполучится?:(
2)Или как оно делается правильно, ведь кроме лестниц и других объектов будут ещё и всякие монстры, которых надо "отображать" в таймере и FPS упадёт снова?
3)Как повысить FPS?!
cyborg (2004-10-08 10:02:00) [41]Тут выложил:
ftp://cyborghome.ru/Temp/
Вполне ничего, только анимация слишком быстрая, и по огню почему-то ходит :).
Если будешь дальше развивать игру, могу выделить место под сайт на своём сервере ;).
Jus (2004-10-08 09:19:00) [42]...ну как?:)
Jus (2004-10-08 06:15:00) [43]Отправил Servelaty на
servelat@nc.ru
Cyborgy наcyborg@hotbox.ru
NikeOLDу наnikio@mail.nnov.ru
Falcony тоже отправил.
Jus (2004-10-08 05:29:00) [44]
>
> Servelat © (07.10.04 17:01) [92]
> Мне тоже, и побольше :) .
> А выложить куда-нибудь, не судьба, что ли?
Не умею, если не трудно научи:)
Jus (2004-10-08 05:26:00) [45]Извените:) Вчера неуспел отправить, опаздывал на работу. Щас уже отправил.
cyborg (2004-10-07 18:25:00) [46]Не получил я ничего.
Jus (2004-10-07 17:21:00) [47]Шоб было мне проще, скину Киборгу, а он выложит сюда). А я пойду на работу в ночную смену.
Servelat (2004-10-07 17:01:00) [48]Мне тоже, и побольше :) .
А выложить куда-нибудь, не судьба, что ли?
NikeOLD (2004-10-07 16:53:00) [49]Наконец-то дождались. Шли на мыло nikio@mail.nnov.ru
cyborg (2004-10-07 16:44:00) [50]Присылай ;)
Jus (2004-10-07 16:21:00) [51]Кто желает посмотреть, что поучается? Бегает где надо и как надо, лазиет по лестницам, падает и т.д.:) Кому дать посмотреть?...
Заодно посмотрите графику в динамике, а не на скринах!:)
архив Rar 240Кб.
(2004-10-03 22:23:00) [52]Удалено модератором
Jus (2004-10-01 11:00:00) [53]Помогите, как мне сделать? Вот есть у меня игрок, он появляется в начале игры над "кирпичами" в воздухе и как делать дальше в DoMove и DoCollision?! Я начал вроде, что у плеера по умолчанию стоит свойство Falling:=True; при Player1.DoCollision пишу
If (Sprite is Tkirp) {кирпич} and (Player1.Falling=True) then Falling:=False; А как потом игрок поймёт, что надо опять падать?
Если можно, приведити пример со столкновением с кирпичём (ЛЕВО ПРАВО ВЕРХ ВНИЗ), учитывая то, что есть ещё гравитация. Плиз!
Jus (2004-10-01 02:17:00) [54]
> Она итак будет>25.
Скорее лучше сказать
Их итак будет>25:)
Jus (2004-10-01 02:10:00) [55]Целый час парился, не мог сделать нормальную загрузку массива карты
ScrMap:array[0..31,0..19] of byte;
Смотрел в редакторе карт через отладку, как загружается массив(карта). Ну вобщем сначала я сделал в карте по самому верху одни кирпичи т.е. ((1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),(0,0,0... - первая строчка такая выходит, правильно! А смотрел через игру там воще ((1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0...)понял, что не фига не понял, всё вроде правильно делал?! на экране вообще чёрт ногу сломит:( Ковырялся, решил!- пока не найду причину, спать не лягу, ... наконец-то увидел, в редакторе массив был word, а сдесь byte. Короче устал, но сделал:) всё работает ок:) завтра буду продолжать.
Jus (2004-09-30 21:38:00) [56]Ещё к тому-же *.jpg потеря качества.
> Вот например с кирпичами красными не вяжется совершенно.
Этот фон только в редакторе.
...
Ну ладно, уговорили, сделаю синий!
Jus (2004-09-30 21:35:00) [57]
> Что касается скринов - нормально, делай дальше, единственное
> - на одном изскринов есть ярко зеленый фон - глаза режет.
> Не советую его использовать, сильно напрягает.
ну это на скрине, а в редакторе глазам приятно, он ещё плавно двигается вверх/право:) Ну на скрине - да, самому неприятно, какойто ядовито-зелёный цвет!:)
МЯУ (2004-09-30 21:31:00) [58]FPS - это, всё же, ОНИ. Кадры в секунду.
насчет ярко-зеленого фона согласен с Omar2002. Точнее, зеленый фон не нежелателен как таковой, просто с ним осторожнее надо. Вот например с кирпичами красными не вяжется совершенно.
Omar2002 (2004-09-30 21:09:00) [59]to [80]
Конечно это не совсем правильно, но если переводить дословно - Кадров в Секунду. Он тоже про FPS не скажешь :) Если только сказать - ОНО - колличество кадров в секунду, но в контексте "Оно - FPS" - не звучит. Я сам в разговорном употребляю ФПСка, т.е. в принципе можно сказать ОНА. :) Вот такие пироги. Да и вобще на этот счет я думаю нет особого правила.
Что касается скринов - нормально, делай дальше, единственное - на одном изскринов есть ярко зеленый фон - глаза режет. Не советую его использовать, сильно напрягает.
Servelat (2004-09-30 20:35:00) [60]
> Она итак будет>25.
Откуда такая уверенность? Ты же не мог тестировать игру на слабых машинах (так как сама игра еще не готова :) ). И почему FPS - она :) ?