Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Редактор карт в DelphiX   Найти похожие ветки 

 
Домовенок ©   (2006-02-04 00:14) [80]

> Cash ©   (01.02.06 12:32) [63]
> Люблю текстурные курсоры, и когда скорость меньше
> 100 fps при резких движениях мышью курсор начинает скакать по полю.
> Зрелище не слишком лицеприятное, поэтому предпочитаю держать fps
> как можно ближе к идеальному.


Идеальный FPS считается 60-80... На некоторых машинах при FPS более 100 картинка неровно перерисовывается и изображение рябит. У меня такая проблема была, например в Call Of Duty - играть было не возможно, спас vsync в опциях игры. Много где еще с аналогичными проблемами сталкивался.


 
Cash ©   (2006-02-04 09:25) [81]

Домовенок ©   (04.02.06 00:14) [80]:
Не на некоторых машинах, а на мониторах с низкой вертикальной разверткой.
В таких случаях либо VSYNC либо преобрести качественный монитор.

Аццкий_рыцарь:)   (03.02.06 13:40) [78]:
Мне этот класс нужен для завершения модуля.
Это будет модуль твоей карты, все как надо + возможность
сохранения/загрузки в спец. формат файла.


 
Домовенок ©   (2006-02-04 11:17) [82]

> Cash ©   (04.02.06 09:25) [81]

У меня вообще-то нормальный монитор :).
А ты игру пишешь для себя? Или пользователи с неправильным монитором у тебя в расчет не идут? И кстати правильно тебе написали, сколько бы фпс у тебя не было, визуально это будет выглядеть как 100-120.

*Извиняюсь за оффтоп.


 
Cash ©   (2006-02-04 11:36) [83]

Домовенок ©   (04.02.06 11:17) [82]:
Ну... как знаешь, Call Of Duty у меня без VSYNC идет, нравится!!!!....
А нерадивые юзвери с кривыми и уж очень старыми мониторами пусть на
этот самый VSYNC и надеются. Он вроде для них и для ну очень
требовательных к видеоотдаче людей сделан.
"Вертикальная синхронизация поможет избежать некоторых дефектов в
видеопередаче..."
Большой оборот кадров говорит о легкости и быстроте кода. Можно и
подумать о какой нибудь фиче для улучшения гейминга! А если у тебя
при выводе 120 примитивов оборот составит около 80 - 90 кадров, то
время думать не о фичах, а о том, что к хирургу пора, руки к плечам
с пятой точки перешивать!


 
Аццкий_рыцарь:)   (2006-02-04 14:30) [84]

ФИЗИКА - 5 !!!! ААА!!!!!! все, ща похаваю и выложу код с ObjectDo :)


 
Cash ©   (2006-02-04 14:32) [85]

Аццкий_рыцарь:)   (04.02.06 14:30) [84]:
Физик много бывает, какая именно?


 
Аццкий_рыцарь:)   (2006-02-04 14:44) [86]

У нас пока что общая :) 1 курс техникума :)

вот класс:

 type
 TObjectdo = class(TImageSprite)
 protected
 procedure DoMove(MoveCount: Integer); override;
 private
 xobj:integer;
 yobj:integer;
 questprogress:integer;
 isclickable:boolean
 end;

и кстати, насчет освещения...

мне получилось сделать как тут говорили, но мне кажется что будет легче и меньше глюков, если только раз нарисовать этот свет на спрайте, а потом уже перерисовывать. Только у мну не получается одна вещь... Как сделать, чтоб у спрайта рисунка небыло, всмысле картинки, но рисовать на нем можно было. Я пытался делать типа рисунок белый квадрат, и транспарент включал на белый, но когда я drawadd, на него :), то свет смешивается с воном и получается резкий переход.


 
Cash ©   (2006-02-04 14:54) [87]

Аццкий_рыцарь:)   (04.02.06 14:44) [86]:
Гы-гы-гы... мне нужен полностью работоспособный класс, так что и DoMove
тоже надо огласить. Дело в том, что его надо будет бросить в модуль с
классом карты, для этого надо его полностью переписать. Поэтому мне и
нужен он весь с методами.

А сто ты имеешь ввиду под "нарисовать на спрайте"?
Не, свет, как и все остальное должен перерисовываться.

И... ето.... ужас прям какой то. Сперва Protected, потом Private.
Издевательство над бедным кодоанализатором какоето! :)))


 
Аццкий_рыцарь:)   (2006-02-04 15:19) [88]

воть:

Procedure Tobjectdo.DoMove(MoveCount: Integer);

 begin
    inherited DoMove(MoveCount);
  if playervector<>9 then
  begin
  X:=grass.x+xobj;
 Y:=grass.y+yobj;
  end;
  collision;

end;

ну смотри, если я через surface рисую на спрайте с картинкой свет только когда create, то прога не глючит из-за альфы, потому что я рисую там один раз, только вот свет смешивается с задним фоном некрасиво. А если я в Dxtimer ставлю рисовать постоянно этот свет ТО ГЛЮКИ НЕВООБРАЗИМЫ!


 
Cash ©   (2006-02-04 16:40) [89]

Аццкий_рыцарь:)   (04.02.06 15:19) [88]:
Порядочный глюк - это вполне вообразимая вещь! Его видно четко и ясно,
иначе это не глюк, а последствие неправильной последовательности
нажатий клавиш. Одним словом надо бы описать. Глюки то есть.


 
Аццкий_рыцарь:)   (2006-02-04 17:10) [90]

Я неправильно выразился:) вернее ФПС сильно падает, а вообще-то... нафиг мне этот свет сдался? :) я вожусь с ним неделю и ничего толкового не добился :(


 
Домовенок ©   (2006-02-04 22:59) [91]

> Cash ©   (04.02.06 11:36) [83]

Не забудь прикрутить VSync в настройки своей игры :)


 
Аццкий_рыцарь:)   (2006-02-04 23:10) [92]

Кстати, маленький вопросик: как сделать, чтоб в DelphiX картинка спрайта не растягмвалась на всю ширину и длинну спрайта? у неё нет никакого свойства, типа Stretch:(


 
Аццкий_рыцарь:)   (2006-02-06 11:24) [93]

Cash, ты де? :)


 
Cash ©   (2006-02-06 15:31) [94]

Я, здесь. Просто со своими лагами пока разбираюсь.


 
Cash ©   (2006-02-06 16:00) [95]

Слушай Аццкий_рыцарь:), а у тебя C&C Generals (ZH) есть?


 
Аццкий_рыцарь:)   (2006-02-06 17:17) [96]

давненько играл :) ужо нет :((( а что?


 
XProger ©   (2006-02-06 17:27) [97]

Аццкий_рыцарь:):
http://timeforkill.mirgames.ru/img/scr/5.jpg
http://timeforkill.mirgames.ru/img/scr/6.jpg
http://timeforkill.mirgames.ru/img/scr/7.jpg
Представь себе - не глючит! :)
Переходи на тёмную сторону силы - API ;)


 
Cash ©   (2006-02-06 21:31) [98]

Аццкий_рыцарь:)   (06.02.06 17:17) [96]:
Надыбай, поставь, заведи себе HEX редактор,
а я дам почву для размышлений о форматах.
(Мой любимый редактор лежит на http://www.bpsoft.com,
скачай от туда версию 3.3, а я таблеткой обеспечу.
Вещичка мощнейшая, умеет даже очень много)

Кроме того сгодились бы Аллоды 1 и 2, а еще
моя люимица: EVE OnLine, я просто покажу как
узнавать форматы файлов и создавать их.

XProger ©   (06.02.06 17:27) [97]:
Опять ты "Тиранус" взялся за свои проделки! :)))


 
Аццкий_рыцарь:)   (2006-02-07 01:24) [99]

Там только есть 4.23 и 4.2 версии :( а что бы еще сгодилось? а то такого нет :( Lineage 2 не покатит? или дум или гта?

XProger эйта ты на чем сделал, что не глючит? АПИ?


 
XProger ©   (2006-02-07 07:33) [100]

Аццкий_рыцарь:), ну эта, как его там... OpenGL + Win API - во! :)


 
Cash ©   (2006-02-07 08:12) [101]

Аццкий_рыцарь:)   (07.02.06 01:24) [99]:
Тьфу, блин, не 3.3, а 3.11, вот от сюда: http://www.bpsoft.com/downloads/

На счет их, я их не вскрывал, так что не знаю как там дела делаются.
Вон, читаю со своих ломалок на винте:
"Солдаты анархии"
"EVE OnLine" - http://www.eve-ru.com
"Аллоды" 1/2
"C&C Generals"/"The Lord of the ring: Battle of the MiddleEarth"
"Transport Tycoon Deluxe" - http://goldgames.times.lv/ttd/download.html

Но Генералы предпочитительнее всех.


 
Аццкий_рыцарь:)   (2006-02-07 10:46) [102]

Сегодняпосле учебы зайду к одному "типу", у него генералы должны быть


 
Cash ©   (2006-02-08 18:26) [103]

Ну что, поставил? Поставь себе еще HEX редактор, а потом посмотри сюда:
http://www.projectcl.h15.ru/files/bigfiles.htm

На то, что ты все поймешь я и не надеюсь, отписал я етот док уже очень
давно, а сейчас перечитал и ничего не понял :). В любом случае погодя я
поясню некоторые вещи, которые согут быть непонятными.


 
Аццкий_рыцарь:)   (2006-02-08 20:31) [104]

блина генералов нима :( пойду искать завтра у других знакомых.

кстати, ты был прав, что я не все пойму


 
Аццкий_рыцарь:)   (2006-02-08 20:32) [105]

и еще...

Генералы разве написаны на Дельфях ?      О_о


 
Cash ©   (2006-02-09 11:21) [106]

Аццкий_рыцарь:)   (08.02.06 20:32) [105]:
Нет, но с помощью Delphi можно раздербанить ихние ресурсы! ;)


 
XProger ©   (2006-02-09 11:38) [107]

http://extractor.ru


 
Аццкий_рыцарь:)   (2006-02-24 00:30) [108]

Здарова всем :) вы меня еще не забыли? :) я скоро продолжу тему, главное не удаляйте. Просто времени нет :(((


 
XProger ©   (2006-02-24 01:37) [109]

Аццкий_рыцарь:), дык мы тут живём ;)


 
Аццкий_рыцарь:)   (2006-02-25 15:08) [110]

XProger :)


 
Cash ©   (2006-02-28 15:53) [111]

С небольшим опозданием примерно в месяц, наконец даю эту процедурку
долбанную:

Procedure SaveToStream(Stream: TStream);
var
  i,j: integer;
begin
  Stream.Write(Map.Width,4); // пишем ширину сетки карты
  Stream.Write(Map.Height,4);  // пишим высоту соответственно
  Stream.Write(DxSpriteEngine1.Engine.Count,4);  // говорим, сколько объектов на карте
// теперь пишим сетку поэлементно
  for j:=0 to Map.Height-1 do begin
    for i:=0 to Map.Width-1 do begin
      Stream.Write(Map.Chips[i,j],4);
    end;
  end;
// а после сетки записываем поэлементно все объекты с карты
  for i:=0 to DxSpriteEngine1.Engine.Count-1 do begin
    Stream.Write(TObjectDo(DxSpriteEngine1.Engine.Items[i]). xobj,4);
    Stream.Write(TObjectDo(DxSpriteEngine1.Engine.Items[i]). yobj,4);
    Stream.Write(TObjectDo(DxSpriteEngine1.Engine.Items[i]). questprogress,4);
    Stream.Write(TObjectDo(DxSpriteEngine1.Engine.Items[i]). isclickable,1);
  end;
end;


Вопрос на засыпку! Как использовать эту процедуру для сохранения карты
в файл?

Поцедура считывания такая же, за исключением замены Write на Read, и
еще, для TSream.Read нельзя использовать поля классов, при таком
раскладе наджо использовать буффер того же типа, что и поле класса.
То есть сперва TStream.Read(T,n);, а потом Variable.Value:=T;.
Вот так!

И это... не пытайся эту процедуру имплементировать в прогу, ничего из
этого не выйдет. Осмотри ее, это наглядный и живучий пример из серии:
"Как сделать ...", это должно дать наводку на написание своей
процедурки. ;)



Страницы: 1 2 3 вся ветка

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.68 MB
Время: 0.035 c
5-1146130114
denison
2006-04-27 13:28
2006.12.31
Circular Reference


4-1156150573
Alita
2006-08-21 12:56
2006.12.31
Перенаправить сообщение


2-1165911061
pathfinder
2006-12-12 11:11
2006.12.31
Win to Dos, Unicode..


2-1165825556
Алик
2006-12-11 11:25
2006.12.31
Перевод шестнадцатиричных чисел в десятичные


15-1166028114
Ученик чародея
2006-12-13 19:41
2006.12.31
DOS, Линукс, терминальное решение.