Движение окна

Больше
1 год 2 мес. назад #130659 от Darte
Darte создал тему: Движение окна
Доброго времени суток, у меня такая дилемма, хочу сделать так что бы во время битвы окно игры двигалось, ну как минимум по кругу, желательно бы вообще знаком бесконечности, по включению переключателя. Сам по себе я пытался что-то предпринять и даже нейронку запрягал попробовать, но у нее не получилось. Если кто разбирается, помогите пожалуйста, есть ли вообще способ так сделать? Или это без сторонних программ невозможно?
Я конечно понимаю, и без этого бы смог, но я просто хочу сделать бои более динамичными, а не вот это все.
Спасибо сказали: ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 мес. назад #130661 от Neocris
Neocris ответил в теме Движение окна
Более подробнее, какое окно в бою? Бэкграунд или что?
Спасибо сказали: ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 мес. назад #130662 от Darte
Darte ответил в теме Движение окна
Именно окно игры, ну за частую игра же открыта в окне, вот его и надо двигать.
Спасибо сказали: ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Разработчик 3 место 3 место в Обучающем конкурсе Учитель Оратор 1 место в Обучающем конкурсе Паладин Проект года 3 место Проект года 1 место
Больше
1 год 2 мес. назад #130663 от Alx_Yago
Alx_Yago ответил в теме Движение окна
Идея кажется дурацкой. Что будет, если игрок откроет игру в полном окне, или на телефоне?
Если уж есть такая геймплейная задумка, то стоит сделать окно внутри окна игры, и двигать уже его.
Спасибо сказали: AnnTenna, ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 мес. назад #130664 от Darte
Darte ответил в теме Движение окна
А не могли бы вы подсказать, как так сделать?
Спасибо сказали: ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Разработчик 3 место 3 место в Обучающем конкурсе Учитель Оратор 1 место в Обучающем конкурсе Паладин Проект года 3 место Проект года 1 место
Больше
1 год 2 мес. назад #130669 от Alx_Yago
Alx_Yago ответил в теме Движение окна
Нет, я не могу. Никогда даже близко подобного не реализовывал. Но, сдаётся мне, не так уж просто это всё.
Спасибо сказали: ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Поддержка Фонда
Больше
1 год 2 мес. назад - 1 год 2 мес. назад #130670 от ajir
ajir ответил в теме Движение окна
Darte:
Спасибо за интересный вопрос!
Сразу оговорю, что готового решения не напишу, напишу лишь довольно много "соображений"(

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 год 2 мес. назад пользователем ajir.
Спасибо сказали: Darte

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 мес. назад #130671 от Neocris
Neocris ответил в теме Движение окна
Он вроде Асю ковыряет.
Движение окна я сделал, но надо довести до ума, чтоб в полноэкранке этого не было. И тут костыль, полный экран в асе точно кривой китаец делал.
Завтра скрипт скину, что получится.
Но ваще идея странная, окно по экрану летает, а у тебя битва в игре. :laugh:
Спасибо сказали: ajir, Darte

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 мес. назад #130672 от Darte
Darte ответил в теме Движение окна
Я вообще пытался заставить нейронку написать код на это, и вроде что-то смогла, правда спустя пару попыток только он понял что двигать надо окно игры, а не интерфейс. А потом пошли ошибки и я забил, и все же сюда решил написать, столь абсурдный вопрос.
Ну а так, спасибо вам
Спасибо сказали: ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 мес. назад #130673 от Darte
Darte ответил в теме Движение окна
Neocris
Вообще, сам смысл скорее просто визуальный, что бы подчеркнуть могущественность противника и разнообразить и так слегка топорную боевку РПГ Мэйкера (Хотя может я просто плохо умею в интересность боев). Данная функция сама по себе должна вызываться не часто, максимум на боссах и то не всех, ну и на каких ни будь врагах, которые сильные, про финального босса я молчу, там это должно быть обязательно. Да я даже соглашусь, это бредово, но стильно.
А так огромное тебе спасибо, уже не первый раз мне помогаешь. Даже неожиданно что кто-то тратит на меня свое время
Спасибо сказали: ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 мес. назад #130674 от Neocris
Neocris ответил в теме Движение окна
Готово, но есть нюансы:
1. В Асе используется DirectDraw для полноэкранного режима и я без понятия, как его правильно отслеживать с помощью ruby. Но так как функция устаревшая, то она просто растягивает окно с игрой и принудительно меняет разрешение экрана на 640х480, от этого и отталкивался. Надеюсь, такого разрешения монитора уже ни у кого нет, иначе скрипт будет работать немного не верно.
2. Из этого следует, что в полном экране скрипт не работает. Вообще без понятия, как в полном экране сделать, что-то подобное. Зато есть вариант, кому не понравится эта фишка играть в полном экране.
3. Окно центрируется на экране, когда запускается игра и когда запускается битва, если переключатель включен. И начинает передвигаться по траектории знака бесконечности вокруг центра экрана. После битвы оно снова смещается в центр. Можно будет изменить, я просто без понятия, какая в точности у тебя задумка.
4. Возможно, еще какие баги. Тест на тебе.
ВНИМАНИЕ: Спойлер!
Спасибо сказали: Kerotan, VarVarKa, Alx_Yago, ajir, Darte, Amgine_0w069

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 мес. назад #130679 от Darte
Darte ответил в теме Движение окна
Я даже не знаю как тебя уже отблагодарить.
Это работает, прям так как и думал. :ohmy:
Спасибо сказали: ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Поддержка Фонда
Больше
1 год 2 мес. назад #130682 от ajir
ajir ответил в теме Движение окна
Neocris: Если можно, просвети меня.
Если верно понял, то "самая база для принципиальной возможности двигать окно" в коде у тебя тут:

SetWindowPos = Win32API.new("user32", "SetWindowPos", "LLLLLLL", "I")
FindWindow = Win32API.new("user32", "FindWindow", "PP", "L")
GetSystemMetrics = Win32API.new("user32", "GetSystemMetrics", "I", "I")


Все делается через Win32API.new, это возможность движка подключать если надо прямые возможности WinAPI.
Но. Я как ни пытался (наверно - плохо пытался) не смог найти документацию про такое.
Где искать?
Заранее спасибо.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 мес. назад #130683 от Neocris
Neocris ответил в теме Движение окна
В Ace используется Ruby 1.8 - класс Win32API встроен по умолчанию. С версии 2.0 его уже нет, может поэтому ты не нашел.
Но вообще на ruby-doc.org все есть. Ну или введи в поисковик: Ruby 1.8 Documentation.
Спасибо сказали: ajir

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Поддержка Фонда
Больше
1 год 2 мес. назад #130684 от ajir
ajir ответил в теме Движение окна

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.117 секунд
Работает на Kunena форум