Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Заставка в игре.


Автор: Extez1 21.8.2009, 22:45
Народ не нашёл ответа в поиске.
Сообственно как к игре привязывают заставку(при запуске игры начинается заставка)?

т.е. у меня есть игра ragnarok online, вообще компанией зделавшей ету игру не предусмотренна заставка, но на 1 сервере етой игры я видел заставку при входе в игру!??

Хотелось бы узнать как они зделали её.

Пожайлуйсто ответьте нубику.

Автор: arilou 22.8.2009, 16:36
Extez1, скорее всего там  игра запускается через отдельнй лончер (EXE-файл). он показывает заставку и запускает EXE игры.

Автор: Extez1 22.8.2009, 19:07
хм, а мож подсказать как мне так сделать?) 

Автор: InvalidProperty 24.8.2009, 08:30
можно:
1) создаешь новое приложение, хоть даже и на visual basic
2) прописываешь в нем первым действием проигрывание заставки
3) создаешь процесс, который запускает игру (http://msdn.microsoft.com/en-us/library/ms682425%28VS.85%29.aspx)

Автор: EgoBrain 25.8.2009, 12:46
Имхо обычно заставка это уже заранее отрендеренный и сжатый видео файл, который воспроизводится программой при запуске, а затем весь остальной алгоритм.

Автор: Extez1 25.8.2009, 13:37
Цитата

2)прописывание заставки

Знаний маловатоsmile мож добрый дядя даст скрипт заставкиsmile
Цитата

3) создаешь процесс, который запускает игру (CreateProcess)

а есть инфо на русском языке?
Код

C++ 
BOOL WINAPI CreateProcess(
  __in_opt     LPCTSTR lpApplicationName,
  __inout_opt  LPTSTR lpCommandLine,
  __in_opt     LPSECURITY_ATTRIBUTES lpProcessAttributes,
  __in_opt     LPSECURITY_ATTRIBUTES lpThreadAttributes,
  __in         BOOL bInheritHandles,
  __in         DWORD dwCreationFlags,
  __in_opt     LPVOID lpEnvironment,
  __in_opt     LPCTSTR lpCurrentDirectory,
  __in         LPSTARTUPINFO lpStartupInfo,
  __out        LPPROCESS_INFORMATION lpProcessInformation
);

скрипт есть, а описание скрипта не могу понять всё на анг.(((((



Автор: InvalidProperty 25.8.2009, 13:52
Extez1, чувак, цэ ж эмэсдээн, цэ ж винапи, какой скрипт?
Если ты, к примеру, пользуешь С/С++, делаешь следующим образом

Код

#define GAME_FOLDER_PATH "c:\\game\\"
#define GAME_EXEC_PATH GAME_FOLDER_PATH"game.exe"

STARTUPINFOA        StartupInfo;
PROCESS_INFORMATION    _process_information;

GetStartupInfoA(&StartupInfo);

CreateProcessA(GAME_EXEC_PATH, 0, 0, 0, 0, 
    CREATE_DEFAULT_ERROR_MODE | NORMAL_PRIORITY_CLASS, 0, GAME_FOLDER_PATH,
    &StartupInfo, &_process_information);


т.о.

Код

BOOL WINAPI CreateProcess(
  __in_opt     LPCTSTR lpApplicationName,             // путь к екзешнику
  __inout_opt  LPTSTR lpCommandLine,          // аргументы командной строки (тебе скорее всего нужно будет поставить 0)
  __in_opt     LPSECURITY_ATTRIBUTES lpProcessAttributes,             // атрибуты процесса (0)
  __in_opt     LPSECURITY_ATTRIBUTES lpThreadAttributes,              // атрибуты потока (0)
  __in         BOOL bInheritHandles,                // наследовать хендлы (0)
  __in         DWORD dwCreationFlags,        // флаги создания процесса (обычно нужно выставить CREATE_DEFAULT_ERROR_MODE | NORMAL_PRIORITY_CLASS)
  __in_opt     LPVOID lpEnvironment,         // окружение (0)
  __in_opt     LPCTSTR lpCurrentDirectory,    // текущая директория для запускаемого процесса
  __in         LPSTARTUPINFO lpStartupInfo,         // оно и в африке startupinfo
  __out        LPPROCESS_INFORMATION lpProcessInformation       // инфо о процессе (эта структура после запуска createprocess будет хранить инфу о процессе)
);


Добавлено через 2 минуты и 8 секунд
к тому же, если знаний прямо НАСТОЛЬКО маловато, почему бы не почитать статьи на тему, как создавать процессы, как запускать приложения (программно) или почему бы просто не забить на эту заставку?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)