- Сообщений: 25
- Спасибо получено: 8
Движение окна
Я конечно понимаю, и без этого бы смог, но я просто хочу сделать бои более динамичными, а не вот это все.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Если уж есть такая геймплейная задумка, то стоит сделать окно внутри окна игры, и двигать уже его.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Спасибо за интересный вопрос!
Сразу оговорю, что готового решения не напишу, напишу лишь довольно много "соображений"(
1. Вы не написали, для какого RPG Maker Вам надо.
Это может быть весьма важно, так как во-первых это явно не базовый функционал движка, а "глубины технической части" они могут очень отличаться, во-вторых - с недавних пор RPG Maker существует как ассет для движка Unity, а уж средствами Unity (их очень много) такая задача скорее всего решается.
2.
Согласен с Alx_Yago, что идея странная, но, во-первых, может Вам и удастся сделать красиво, во-вторых - сама идея такого "выноса взаимодействия за пределы игрового окна" интересная.Alx_Yago пишет: Идея кажется дурацкой. Что будет, если игрок откроет игру в полном окне, или на телефоне?
Если уж есть такая геймплейная задумка, то стоит сделать окно внутри окна игры, и двигать уже его.
Я встречал (и пробовал, но полностью не прошел) в Steam игру с описанием:
Outcore: Desktop Adventure
На вашем рабочем столе появилась потерявшаяся девушка. Помогите ей собрать файлы с воспоминаниями, раскиданными по вашему компьютеру, и станьте друзьями.
3. Если бы писать просто в программе на C++ то можно было бы скажем что-то вроде описанного тут
www.cyberforum.ru/win-api/thread1670783.html там код довольно несложный, довольно короткий, но это нам явно не годится напрямую. А делать всю игру просто на плюсах - не лучшая затея.
4. Единственное, что нашел пока.
Подумайте если можно - те, кто хорошо умеет программировать в RPG Maker На Java! Заранее спасибо.
Вызываем функции Windows API (и любые другие функции, написанные на языке Си) джаваскриптом из Node.js
habr.com/ru/articles/136185/
Может и можно через эту библиотеку или что-то иное - извратиться и вызвать изнутри RPG Maker функции Windows API.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Движение окна я сделал, но надо довести до ума, чтоб в полноэкранке этого не было. И тут костыль, полный экран в асе точно кривой китаец делал.
Завтра скрипт скину, что получится.
Но ваще идея странная, окно по экрану летает, а у тебя битва в игре.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Ну а так, спасибо вам
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Вообще, сам смысл скорее просто визуальный, что бы подчеркнуть могущественность противника и разнообразить и так слегка топорную боевку РПГ Мэйкера (Хотя может я просто плохо умею в интересность боев). Данная функция сама по себе должна вызываться не часто, максимум на боссах и то не всех, ну и на каких ни будь врагах, которые сильные, про финального босса я молчу, там это должно быть обязательно. Да я даже соглашусь, это бредово, но стильно.
А так огромное тебе спасибо, уже не первый раз мне помогаешь. Даже неожиданно что кто-то тратит на меня свое время
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
1. В Асе используется DirectDraw для полноэкранного режима и я без понятия, как его правильно отслеживать с помощью ruby. Но так как функция устаревшая, то она просто растягивает окно с игрой и принудительно меняет разрешение экрана на 640х480, от этого и отталкивался. Надеюсь, такого разрешения монитора уже ни у кого нет, иначе скрипт будет работать немного не верно.
2. Из этого следует, что в полном экране скрипт не работает. Вообще без понятия, как в полном экране сделать, что-то подобное. Зато есть вариант, кому не понравится эта фишка играть в полном экране.
3. Окно центрируется на экране, когда запускается игра и когда запускается битва, если переключатель включен. И начинает передвигаться по траектории знака бесконечности вокруг центра экрана. После битвы оно снова смещается в центр. Можно будет изменить, я просто без понятия, какая в точности у тебя задумка.
4. Возможно, еще какие баги. Тест на тебе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Это работает, прям так как и думал.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Если верно понял, то "самая база для принципиальной возможности двигать окно" в коде у тебя тут:
SetWindowPos = Win32API.new("user32", "SetWindowPos", "LLLLLLL", "I")
FindWindow = Win32API.new("user32", "FindWindow", "PP", "L")
GetSystemMetrics = Win32API.new("user32", "GetSystemMetrics", "I", "I")
Все делается через Win32API.new, это возможность движка подключать если надо прямые возможности WinAPI.
Но. Я как ни пытался (наверно - плохо пытался) не смог найти документацию про такое.
Где искать?
Заранее спасибо.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Но вообще на ruby-doc.org все есть. Ну или введи в поисковик: Ruby 1.8 Documentation.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Спасибо. Понятно! Нашел:Neocris пишет: В Ace используется Ruby 1.8 - класс Win32API встроен по умолчанию. С версии 2.0 его уже нет, может поэтому ты не нашел.
Но вообще на ruby-doc.org все есть. Ну или введи в поисковик: Ruby 1.8 Documentation.
ruby-doc.org/stdlib-1.8.6/libdoc/Win32API/rdoc/index.html
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
