Конференция "Игры" » Движок для квеста и квест без движка [Delphi, Windows]
 
  • mr.sokolOFF © (26.09.07 20:48) [20]
    2Dib@zol ©

    Form.Canvash.Draw(...) - так и есть всё...
  • Shirson © (26.09.07 20:53) [21]

    > mr.sokolOFF ©   (26.09.07 19:53) [17]
    > А нелёгкий?)) Просто циклами обойтись, н-р? Или и то, и то?

    Лёгкий в понимании. Некоторые движки имеют раздельные таймеры для обсчёта игрового тика и для обновления экрана.
    Можно условно-бесконечным циклом с подсчётом тиков процессора (удобно и просто).


    >А насчёт движка - я полагаю просто, что моего уровня (простирающегося лишь, как писал выше, до создания всяких "Компьютерщиков" и прочих "Туалетных империй") не хватает для написания "с нуля".


    Чушь. Если в игре нет динамического формирования сцены, это не значит, что она плохая. Тот же "Компьютерщик", по функционалу и наполнению, послождее  динамической змейки может быть. Просто РАЗНЫЙ тип задач.

    Так что пробуй. Когда сделаешь полностью готовую игру, получшь непередаваемые ощущения. А начать лучше всего со звейки, тут я с Антоном Андреевичем [3] полностью согласен. Не шибко сложно, чтобы отпугнуть, и вполне себе с наполнением всякими фишками.

    Если что - спрашивай, всегда ответим.
  • antonn © (26.09.07 21:21) [22]

    > Form.Canvash.Draw(...) - так и есть всё...

    ыыы, не стоит, юзай canvas.copyrect() или BitBlt() для вывода буферного битмапа на форму. Больше никаких граней соприкосновения с формой быть не должно (ну нежелательно), все нужно рисовать на буферном битмапе.


    > А начать лучше всего со звейки, тут я с Антоном Андреевичем
    > [3] полностью согласен.

    ура, я знаменит! %))
  • Shirson © (26.09.07 22:58) [23]

    > antonn ©   (26.09.07 21:21) [22]
    > ура, я знаменит! %))

    Нет, я просто знаю как тебя зовут :)
  • mr.sokolOFF © (29.09.07 21:20) [24]
    Ламерский вопрос но... Как очистить canvash? По идее, для этого должна служить команда "Free", однако, при ней программа вылетает с ошибкой... а без очистки никакая анимация не идёт...

    И это при том, что сам канваш создан и картинка на форме нормально рисуется...
  • antonn © (29.09.07 23:39) [25]
    не надо чистить канвас (вопрос странный - залить другим цветом - canvas.fiilrect()), надо использовать tbitmap
  • PixelShader © (30.09.07 11:50) [26]
    Free в Делфи - это вызов деструктора. Отсюда и AV. antonn дело говорит, юзай или TBitmap или HDC.
  • PixelShader © (30.09.07 11:57) [27]
    Схема примерно такая :
    DrawBackground();
    DrawGameObjects();
    DrawGUI();
    и ничего очищать не придеться. причем лучше это делать не в ОнПэйнт, а использовать так называемый мертвый цикл. Как вариант можно использовать компонент TTimer и его ивент OnTimer.
  • mr.sokolOFF © (30.09.07 12:55) [28]
    Погоди-ка. Даже если делать так... Всё равно всё тормозит при перемещении объекта по экрану (не очень сильно, но заметно всё)! Так какой смысл был городить этот огород?
  • PixelShader © (30.09.07 12:59) [29]
    Смысл в том что идет непрерывная перерисовка экрана. При анимации старый кадр спрайта будет оставаться как мусор если этого не делать. А тормозит из-за того что ты используешь Canvas\TBitmap и тд. Если хочешь чтоб не тормозило, то пиши на DirectDraw\D3D\OpenGL\ASM =) А мертвый цикл обработки логики и рендера это один из базовых приемов организации игр.
  • mr.sokolOFF © (30.09.07 13:00) [30]
    Ну ... ЭЭ... DirectDraw... Мне до подобного ещё 20 лет расти в уровне...
  • PixelShader © (30.09.07 13:02) [31]
    Та это тебе так кажется. Почитай книгу Михаила Краснова. Там все очень доступно и понятно описано.
  • mr.sokolOFF © (30.09.07 13:16) [32]
    А название почётче?..) что-то со словом "DirectX"?)
  • antonn © (30.09.07 15:04) [33]
    можно и с Tbitmap, вопрос только как его юзать:)
    код давай:)
  • PixelShader © (30.09.07 16:15) [34]
    Михаил Краснов. DirectX. Графика в проектах Delphi .
  • someOne (30.11.08 03:20) [35]
    Кста, движки типа Asphyre - не сильно быстрее GDI... Максимум в 1.5-2 раза Если грамотно GDI использовать - результат не хуже.
  • AlmazVit (19.05.10 21:33) [36]
    Используй функции формы alphablend:=true; and alphablendValue:=от1 до 255 так как тип byte  это функции отрисовки формы, 255 полная отрисовка ну чем меньше тем прозрачние, иногда помогает решить такие проблемы как твоя устонови 250 визуально незаметно а ефект моргание может исчезнуть
  • brother © (24.05.10 05:43) [37]
    Когда-то делал подобное:
    http://brotherirk.narod.ru/download/Quest2.rar
    разбирайся)
  • @!!ex © (24.05.10 08:40) [38]
    Теме сто лет в обед...
    Если кому-то что-то и нужно было, то оооочень давно.
  • brother © (24.05.10 09:02) [39]
    я уже понял( но мало ли)
 
Конференция "Игры" » Движок для квеста и квест без движка [Delphi, Windows]
Есть новые Нет новых   [134427   +35][b:0][p:0.001]