Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Движение окна

Движение окна 6 дн. 2 ч. назад #130659

  • Darte
  • Darte аватар
  • Сейчас на сайте
  • Познающий
  • Сообщений: 16
  • Спасибо получено: 7
Доброго времени суток, у меня такая дилемма, хочу сделать так что бы во время битвы окно игры двигалось, ну как минимум по кругу, желательно бы вообще знаком бесконечности, по включению переключателя. Сам по себе я пытался что-то предпринять и даже нейронку запрягал попробовать, но у нее не получилось. Если кто разбирается, помогите пожалуйста, есть ли вообще способ так сделать? Или это без сторонних программ невозможно?
Я конечно понимаю, и без этого бы смог, но я просто хочу сделать бои более динамичными, а не вот это все.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ajir

Движение окна 5 дн. 7 ч. назад #130661

  • Neocris
  • Neocris аватар
  • Вне сайта
  • Познающий
  • Сообщений: 18
  • Спасибо получено: 23
Более подробнее, какое окно в бою? Бэкграунд или что?
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ajir

Движение окна 4 дн. 16 ч. назад #130662

  • Darte
  • Darte аватар
  • Сейчас на сайте
  • Познающий
  • Сообщений: 16
  • Спасибо получено: 7
Именно окно игры, ну за частую игра же открыта в окне, вот его и надо двигать.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ajir

Движение окна 4 дн. 10 ч. назад #130663

  • Alx_Yago
  • Alx_Yago аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1159
  • Спасибо получено: 2182
  • 3 место1 место в Обучающем конкурсеПаладинУчительРазработчикПроект года 3 местоПроект месяца 1 место3 место в Обучающем конкурсеПроект года 1 местоОратор
Идея кажется дурацкой. Что будет, если игрок откроет игру в полном окне, или на телефоне?
Если уж есть такая геймплейная задумка, то стоит сделать окно внутри окна игры, и двигать уже его.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: AnnTenna, ajir

Движение окна 4 дн. 10 ч. назад #130664

  • Darte
  • Darte аватар
  • Сейчас на сайте
  • Познающий
  • Сообщений: 16
  • Спасибо получено: 7
А не могли бы вы подсказать, как так сделать?
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ajir

Движение окна 3 дн. 9 ч. назад #130669

  • Alx_Yago
  • Alx_Yago аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1159
  • Спасибо получено: 2182
  • 3 место1 место в Обучающем конкурсеПаладинУчительРазработчикПроект года 3 местоПроект месяца 1 место3 место в Обучающем конкурсеПроект года 1 местоОратор
Нет, я не могу. Никогда даже близко подобного не реализовывал. Но, сдаётся мне, не так уж просто это всё.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ajir

Движение окна 3 дн. 4 ч. назад #130670

  • ajir
  • ajir аватар
  • Вне сайта
  • Мастер
  • Сообщений: 130
  • Спасибо получено: 79
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.
Последнее редактирование: 3 дн. 4 ч. назад от ajir.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Darte

Движение окна 3 дн. 3 ч. назад #130671

  • Neocris
  • Neocris аватар
  • Вне сайта
  • Познающий
  • Сообщений: 18
  • Спасибо получено: 23
Он вроде Асю ковыряет.
Движение окна я сделал, но надо довести до ума, чтоб в полноэкранке этого не было. И тут костыль, полный экран в асе точно кривой китаец делал.
Завтра скрипт скину, что получится.
Но ваще идея странная, окно по экрану летает, а у тебя битва в игре. :laugh:
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ajir, Darte

Движение окна 3 дн. 2 ч. назад #130672

  • Darte
  • Darte аватар
  • Сейчас на сайте
  • Познающий
  • Сообщений: 16
  • Спасибо получено: 7
Я вообще пытался заставить нейронку написать код на это, и вроде что-то смогла, правда спустя пару попыток только он понял что двигать надо окно игры, а не интерфейс. А потом пошли ошибки и я забил, и все же сюда решил написать, столь абсурдный вопрос.
Ну а так, спасибо вам
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ajir

Движение окна 3 дн. 1 ч. назад #130673

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

Движение окна 2 дн. 12 ч. назад #130674

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

Движение окна 2 дн. 2 ч. назад #130679

  • Darte
  • Darte аватар
  • Сейчас на сайте
  • Познающий
  • Сообщений: 16
  • Спасибо получено: 7
Я даже не знаю как тебя уже отблагодарить.
Это работает, прям так как и думал. :ohmy:
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ajir

Движение окна 1 день 10 ч. назад #130682

  • ajir
  • ajir аватар
  • Вне сайта
  • Мастер
  • Сообщений: 130
  • Спасибо получено: 79
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 день 3 ч. назад #130683

  • Neocris
  • Neocris аватар
  • Вне сайта
  • Познающий
  • Сообщений: 18
  • Спасибо получено: 23
В Ace используется Ruby 1.8 - класс Win32API встроен по умолчанию. С версии 2.0 его уже нет, может поэтому ты не нашел.
Но вообще на ruby-doc.org все есть. Ну или введи в поисковик: Ruby 1.8 Documentation.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ajir

Движение окна 1 день 2 ч. назад #130684

  • ajir
  • ajir аватар
  • Вне сайта
  • Мастер
  • Сообщений: 130
  • Спасибо получено: 79
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.235 секунд