Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2008, 15:19   #1
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию Если не влазишь в один экран

Всем доброго времени суток!!!
Значит, пишу я игру на DelphiX. Но столкнулся с проблемой:
Как экран сдвинуть? Просто в моей игре одного эрана не хватает, слишком большая карта. Или можно этого добится другим способом?
Заранее спасибо.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 29.05.2008, 16:07   #2
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Я для этих целей заводил одну глобальную переменную, которая определяла положение камеры и прибавлял положение камеры к объектам.

canvas.draw(x+cam.x,y+cam.y);
Kostia вне форума Ответить с цитированием
Старый 29.05.2008, 16:35   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Это называется скроллинг. Я бы тоже сделал переменные X, Y - верхняя левая точка экрана на карте, это если скроллинг по всем направлениям, если только горизонтальный, как в аркадах типа Марио, то хватит одной переменной X. Начинать скролить надо когда персонаж достигает центра экрана, скорость и направление скроллинга равна скорости и направлению персонажа.
Только вот я не знаю насколько большую можно карту делать, в видяхах вроде ограничение есть на размер текстуры. Возможно карту для вывода на экран на ходу генерить лучше.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 29.05.2008, 18:17   #4
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Спасибо большое за ответы, буду пробовать)))
Только вот что:
Код:
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
  if not DXDraw1.CanDraw then exit;
  DXInput1.Update;
  DXSpriteEngine1.Move(LagCount);
  DXSpriteEngine1.Dead;
  DXDraw1.Surface.Fill(0);
  DXSpriteEngine1.Draw;
  DXDraw1.Flip;
  DXInput1.Update;
end;
Обновление экрана происходит тут, а куда определять X,Y?
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг

Последний раз редактировалось Dj_smart; 29.05.2008 в 18:22.
Dj_smart вне форума Ответить с цитированием
Старый 29.05.2008, 23:27   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Фиг его знает, это тебе лучше знать. В чем там вообще карта храниться?
Ты принцип то понял?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 30.05.2008, 08:33   #6
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Естественно, понял. Я по такому принципу не одну игру написал. Только вот с DelphiX геморой получился. Чё, правда, никто не знает???
Цитата:
В чем там вообще карта храниться?
Скорее всего, в спрайтах. А как думаешь, не будет виснуть при 900 спрайтах 64х64, которые не будут двигаться?
Или просто тупо выводить? Оно ведь тогда стираться будет, если двигать?
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг

Последний раз редактировалось Dj_smart; 30.05.2008 в 08:38.
Dj_smart вне форума Ответить с цитированием
Старый 30.05.2008, 22:31   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

<оффтоп>
А зачем ты его вообще изучаешь? Есть же нормальные движки. Это не к вопросу о карте, а вообще.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 31.05.2008, 11:33   #8
Iceman
Форумчанин
 
Регистрация: 08.07.2007
Сообщений: 154
По умолчанию

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

Далее делай так, чтоб когда персонаж дойдет до граници, етот кусок карты стерался а тот , куда он идет- открывался. Надеюсь ты понел че я имею ввиду (хотя ето работает токо если у тя один персонаж)
Iceman вне форума Ответить с цитированием
Старый 31.05.2008, 13:20   #9
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Какраз и дело в том, что не один.
Всё идёт по сети + большой обмен.
(Должно идти).
Вот всё о проэкте.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 31.05.2008, 17:24   #10
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

2 Iceman, не лучшая реализация. А про ползунок - зачет )))

2 Dj_smart, могу только посоветовать найти исходники игры - скроллера на DelphiX (Joffa посмотри, мож подойдет) может разберешься как в нем графика устроена.
Я так предполагаю буфер перерисовывать надо по новой, ведь DelphiX это же к DirectX оболочка, значит там смена буферов при отрисовке по идее происходит, если фон статичный то в начале ты его один раз по любому заполняешь. Делай так же, но не один раз в начале а по мере надобности.

На будущее присмотрись к другим движкам, DelphiX не выдерживает конкуренции. HGE (есть версия на Delphi) хорош. Из простых Omega неплохой, разработка нашего земляка из Житомира.
Для звука лучше юзать отдельные звуковые движки, FMOD рулит.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если функция ЕСЛИ не подходит Katherina_Koval Microsoft Office Excel 1 25.07.2008 19:09
cтранная запись формулы ЕСЛИ: "=+ЕСЛИ(..." icore2008 Microsoft Office Excel 4 10.04.2008 21:32
Событие один раз Михаил Юрьевич Общие вопросы Delphi 4 01.04.2008 20:40
Еще один вопрос с SQL-ом фЁдОр БД в Delphi 27 22.10.2007 12:42
один вопрос по Memo Andr Общие вопросы Delphi 2 11.05.2007 17:58