- Сообщений: 3147
- Спасибо получено: 2651
Веб-браузер в игре
11 года 19 ч. назад #80702
от DeadElf79
Автор: Soulpour777
Переводчик: DeadElf79
Оригинал скрипта: infinitytears.wordpress.com/2015/04/19/r...-ace-browser-system/
Описание:
Добавляет возможность вызвать браузер, встроенный в игру. Внимание: может сильно тормозить, не имеет адресной строки и я не нашёл выхода оттуда.
Код:
Скриншот:
Демо: cloud.mail.ru/public/5Evz4Ls8bXBD/WebBrowser.zip
DeadElf79 создал тему: Веб-браузер в игре
Веб-браузер в игре
Автор: Soulpour777
Переводчик: DeadElf79
Оригинал скрипта: infinitytears.wordpress.com/2015/04/19/r...-ace-browser-system/
Описание:
Добавляет возможность вызвать браузер, встроенный в игру. Внимание: может сильно тормозить, не имеет адресной строки и я не нашёл выхода оттуда.
Код:
Code:
#==============================================================================
# ** RPG Maker VXAce Browser System
# Автор: Soulpour777
# Переводчик: DeadElf79
#------------------------------------------------------------------------------
# Описание: скрипт вызывает динамическую библиотеку (DLL), при помощи
# которой вставляет в окно приложения веб-браузер (можно использовать мышь!).
#------------------------------------------------------------------------------
# Требования: cwebpage.dll (лежит в папке System в корне проекта)
#------------------------------------------------------------------------------
# Инструкции для установки:
# Поместите файл cwebpage.dll в папку System в корне проекта (там же лежит RGSS301.DLL)
# Установите скрипт как обычно (над Main)
# Вы можете поменять некоторые части скрипта, если не хотите добавлять
# вызов браузера в титульном экране.
#------------------------------------------------------------------------------
# Вызов скрипта из события:
# RMVXAB.browser(ВСТАВЬТЕ СЮДА ПОЛНЫЙ АДРЕС В КАВЫЧКАХ!)
# Пример:
# RMVXAB.browser("http://www.rpg-maker.info/")
#------------------------------------------------------------------------------
# Настройки для титульного экрана:
# SITE_TO_BROWSE = "http://www.rpg-maker.info/"
# Вы можете поменять их на адрес Вашего сайта
#==============================================================================
module Soul
module Title
# Title Extra Command Name
BROWSER_CALL_NAME = "Зайти на сайт"
# Title Commands
COMMANDS = [
:new_game,
:continue,
:visit_website,
:shutdown
]
end
module Browser
# Site to browse. This is the home page. You can use Google.com if you
# want.
SITE_TO_BROWSE = "http://www.rpg-maker.info/"
wdll="System/cwebpage.dll"
GPPS = Win32API.new('kernel32', 'GetPrivateProfileString', 'pppplp', 'l')
FW = Win32API.new('user32', 'FindWindow', 'pp', 'i')
SWL = Win32API.new('user32', 'SetWindowLong', 'lll', 'l')
GCR = Win32API.new('user32', 'GetClientRect', 'lp', 'i')
GAKS = Win32API.new('user32', 'GetAsyncKeyState', 'i', 'i')
EBO = Win32API.new(wdll, 'EmbedBrowserObject', 'l', 'i')
DHP = Win32API.new(wdll, 'DisplayHTMLPage', 'lp', 'i')
RB = Win32API.new(wdll, 'ResizeBrowser', 'lll', 'i')
UEBO = Win32API.new(wdll, 'UnEmbedBrowserObject', 'l', 'l')
DPA = Win32API.new(wdll, 'DoPageAction', 'll', 'l')
end
end
module RMVXAB
def self.browser(url)
Soul::Browser::EBO.call(handle)
Soul::Browser::DHP.call(handle,url)
Soul::Browser::RB.call(handle,*dimensions)
loop do
break if Soul::Browser::GAKS.call(0x1b)&0x01==1
Soul::Browser::DPA.call(handle,0)if Soul::Browser::GAKS.call(0x08)&0x01==1
Soul::Browser::DPA.call(handle,4)if Soul::Browser::GAKS.call(0x74)&0x01==1
Soul::Browser::RB.call(handle,*dimensions)
end
Soul::Browser::UEBO.call(handle)
end
end
def handle
Soul::Browser::GPPS.call("Game","Title","",title="\0"*256,256,".//Game.ini")
Soul::Browser::FW.call("RGSS Player",title.delete!("\0"))
end
def dimensions
Soul::Browser::GCR.call(handle,rect=[0,0,0,0].pack('l4'))
rect.unpack('l4')[2..3]
end
class Window_TitleCommand < Window_Command
#--------------------------------------------------------------------------
# * Create Command List
#--------------------------------------------------------------------------
def make_command_list
for command in Soul::Title::COMMANDS
case command
when :new_game
add_command(Vocab::new_game, :new_game)
when :continue
add_command(Vocab::continue, :continue, continue_enabled)
when :visit_website
add_command(Soul::Title::BROWSER_CALL_NAME, :visit_website)
when :shutdown
add_command(Vocab::shutdown, :shutdown)
end
end
end
end
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
@command_window = Window_TitleCommand.new
@command_window.set_handler(:new_game, method(:command_new_game))
@command_window.set_handler(:continue, method(:command_continue))
@command_window.set_handler(:visit_website, method(:command_browser))
@command_window.set_handler(:shutdown, method(:command_shutdown))
end
#--------------------------------------------------------------------------
# * command_browser : new method
#--------------------------------------------------------------------------
def command_browser
RMVXAB.browser(Soul::Browser::SITE_TO_BROWSE)
end
end
Скриншот:
Демо: cloud.mail.ru/public/5Evz4Ls8bXBD/WebBrowser.zip
Спасибо сказали: Ren310, strelokhalfer
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
11 года 19 ч. назад #80703
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Веб-браузер в игре
Я вот вспомнил, видел проект с прикрученным хромиумом, надо поискать.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Спасибо сказали: DeadElf79
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
11 года 16 ч. назад #80706
от Green-Leo
Спасибо сказали: AnnTenna, DeadElf79, strelokhalfer, Yros, TheMaximGames, Iren_Rin, Rude, peter8031983
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.092 секунд
