Плохо! Плохо!:  0
Показано с 1 по 10 из 10

Тема: Изометрическое зеркало

  1. #1
    Пользователь Аватар для id0
    Информация о пользователе
    Регистрация
    22.05.2013
    Адрес
    Москва
    Сообщений
    59
    Записей в дневнике
    2
    Репутация: 7 Добавить или отнять репутацию

    По умолчанию Изометрическое зеркало

    Может кто поможет? Я уже голову сломал. Зеркало стоит под углом, то есть обычные плагины на зеркала тут не работают. Я лично хочу просто двигать спрайт или объект за текстурами, инвертировано относительно стены и игрока. Картинка думаю объяснит всё.

    mirror.jpg

    Изометрическое зеркало-mirror-jpg


    Как бы это сделать-то?

    Во первых как создать спрайт (может pixi? А как анимировать?) Или просто ивентом?

    Во вторых, как вообще сделать такое движение, я совсем запутался. С видом сверху всё просто, а тут...
    Последний раз редактировалось id0; 08.05.2022 в 09:36.
    Спойлер Мои игры на RpgMaker:

  2. #2
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    700
    Записей в дневнике
    3
    Репутация: 40 Добавить или отнять репутацию

    По умолчанию

    Лично я никогда такого не то что не делал, но и не видел на мейкере.

    Гуглить ты умеешь, наверное, лучше чем я. Но я нагуглил, что на мейкере что-то изомерическое делать пытались:
    https://forums.rpgmakerweb.com/index...ilemap.103237/ (тут ссылка на демку еще живая)
    https://forums.rpgmakerweb.com/index...pha-0-2.98725/
    в частности, на основе во этого:
    https://forums.rpgmakerweb.com/index...mv-rmmz.94100/

    Если плагины не работают, я бы делал "зеркало" эвентом (ну или забил бы на них).
    Спойлер Мои игры:

  3. #3
    Пользователь Аватар для id0
    Информация о пользователе
    Регистрация
    22.05.2013
    Адрес
    Москва
    Сообщений
    59
    Записей в дневнике
    2
    Репутация: 7 Добавить или отнять репутацию

    По умолчанию

    Возможно я плохо объяснил, тут никакого 3д нет - плоская картинка. Просто мне нужно двигать объект вот в такой плоскости.
    Спойлер Мои игры на RpgMaker:

  4. #4
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    700
    Записей в дневнике
    3
    Репутация: 40 Добавить или отнять репутацию

    По умолчанию

    Из того, что я понял из гугления, некоторые пытаются добиться такого при помощи специально отрисованных спрайтов и тайлсетов - создавая "иллюзию" изометрии (движется все при этом в классической манере мукера, вроде как).
    Хз, получается это или нет.
    Спойлер Мои игры:

  5. #5
    Пользователь Аватар для id0
    Информация о пользователе
    Регистрация
    22.05.2013
    Адрес
    Москва
    Сообщений
    59
    Записей в дневнике
    2
    Репутация: 7 Добавить или отнять репутацию

    По умолчанию

    Да получается это!) У меня уже всё есть, я просто плох в коде. Я же объясняю - вот есть игрок - он появляется на карте, где есть невидимая линия(ну должна быть), и с другой стороны от этих координат появляется ивент или спрайт, который зеркалит движения игрока в изометрической плоскости. То есть не просто вперёд назад, а вот на картинке видно как, только я не отдупляю как это написать, ну или собрать на ивентах. Вот о чём я говорю!

    Спойлер Вот да:
    Лично я никогда такого не то что не делал, но и не видел на мейкере.
    Вот да, я когда гуглю что-то, что мне нужно, обычно нарываюсь на свои же старые посты, то есть никто другой не пытался такого делать
    Последний раз редактировалось id0; 08.05.2022 в 11:02.
    Спойлер Мои игры на RpgMaker:

  6. #6
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    700
    Записей в дневнике
    3
    Репутация: 40 Добавить или отнять репутацию

    По умолчанию

    Извини, что-то я туговат. Может не выспался...
    В голову приходит только такой вариант, для эвента:
    1) Определяем координаты игрока ($gamePlayer._x, $gamePlayer._y).
    2) Эвенту меняем координаты (someEvent._x, someEvent._y) на соответствующие ПЛЮС модификатор к каждой координате.
    Под "модификатором" я понимаю какое-то значение, отвечающие за разницу направления движения.

    Сложность тут в "прослушывании" координат игрока, особенно если управление мышкой, но это можно и параллельным процессом (я обычно на стрелки вешаю).

    Если это не то, что нужно, то сорян. Другое придумать не могу. =/
    Спойлер Мои игры:

  7. #7
    Пользователь Аватар для id0
    Информация о пользователе
    Регистрация
    22.05.2013
    Адрес
    Москва
    Сообщений
    59
    Записей в дневнике
    2
    Репутация: 7 Добавить или отнять репутацию

    По умолчанию

    Я так делал, ивент даже не шевелится, возможно неправильно делал. К тому-же, тут не так всё просто, вот например игрок идёт налево вверх - ивент должен идти тоже налево вверх, но если игрок идёт просто налево - ивент должен идти вверх. Изометрия, мать её. И это нужно привязать ещё к некой точке отсчёта, по линии где зеркало находится. У меня довольно хреновато с пространственной геометрией.
    Последний раз редактировалось id0; 08.05.2022 в 11:42.
    Спойлер Мои игры на RpgMaker:

  8. #8
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    700
    Записей в дневнике
    3
    Репутация: 40 Добавить или отнять репутацию

    По умолчанию

    А какой мейкер то, MV, MZ или другой?

    Вот код для MV / MZ:
    1) Если игрок сделал шаг вверх, то эвент движется вниз:
    Код:
    let mirrorEvent = $gameMap.event(1);
    mirrorEvent._y = mirrorEvent._y + 1;
    2) Если игрок сделал шаг вправо, то эвент движется влево:
    Код:
    let mirrorEvent = $gameMap.event(1);
    mirrorEvent._x = mirrorEvent._x - 1;
    где:
    1 - номер(id) эвента.
    И это можно совмещать.

    Тут есть много нюансов:
    1) К чему привязывать "прослушывание" движения игрока.
    2) В таком варианте эвент проходим и может выйти за пределы "зеркала", на стены, итд.
    3) Нет анимации эвент перемещается как "призрак" в одной позе.
    4) Чтоб движение было полностью синхронным, нужно на каждое направление задавать свой обработчик / параллельное событие.

    Пункт 2) можно "вылечить", если использовать не смену координат, а задавать именно маршрут движения. Но в скриптовании маршрута движения я не силен.
    Можно попробовать гуглить / почитать тут:
    https://docs.google.com/spreadsheets...h7OHs/htmlview

    По хорошему, нужно или отдельный плагин или переписывать существующий на "зеркало".

    У меня тоже с ней плохо.

    upd:
    Более человеческий вариант, наверное, самому вычислять координату куда должен двигаться "зеркальный" эвент и уже сторонним плагином
    на движение эвента задавать команду на движение в эту точку (вроде плагин GALV`a так умел). Хз.
    Последний раз редактировалось Darchan Kaen; 08.05.2022 в 11:59. Причина: upd
    Спойлер Мои игры:

  9. #9
    Пользователь Аватар для id0
    Информация о пользователе
    Регистрация
    22.05.2013
    Адрес
    Москва
    Сообщений
    59
    Записей в дневнике
    2
    Репутация: 7 Добавить или отнять репутацию

    По умолчанию

    Спасибо, попробую. Мейкер МВ, а анимацию можно играть и самому наверное, в зависимости от направления движения. У меня там QSprite стоит.

    З.Ы. У меня там кусочек хоррора, так что зеркала это важно!
    Последний раз редактировалось id0; 08.05.2022 в 12:16.
    Спойлер Мои игры на RpgMaker:

  10. #10
    Пользователь Аватар для id0
    Информация о пользователе
    Регистрация
    22.05.2013
    Адрес
    Москва
    Сообщений
    59
    Записей в дневнике
    2
    Репутация: 7 Добавить или отнять репутацию

    По умолчанию

    К сожалению ничего не получается. Поэтому дом с призраком будет без зеркал. Очень печально
    Спойлер Мои игры на RpgMaker:

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Изометрическое зеркало