Войти на сайт

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

ТЕМА: [Решено] Как изменить картинку ивента через JS?

[Решено] Как изменить картинку ивента через JS? 2 года 7 мес. назад #124470

  • Sepheyer
  • Sepheyer аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 70
  • Спасибо получено: 38
Я скопировал событие из одной клетки в другую чере JS. (Скриншоты ниже.)

Как я могу добавить / изменить изображение для клонированного события?

Спасибо.

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Последнее редактирование: 2 года 7 мес. назад от Sepheyer.
Администратор запретил публиковать записи гостям.

Как изменить картинку ивента через JS? 2 года 7 мес. назад #124472

  • Sepheyer
  • Sepheyer аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 70
  • Спасибо получено: 38
Я подозреваю:

var sprite = new Sprite_Character(new_event);
SceneManager._scene._spriteset._characterSprites.push(sprite);
SceneManager._scene._spriteset._tilemap.addChild(sprite);
Администратор запретил публиковать записи гостям.

Как изменить картинку ивента через JS? 2 года 7 мес. назад #124473

  • yuryol
  • yuryol аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1704
  • Спасибо получено: 2729
  • 1 место в ГотвОраторКомпозиторУчительПобедитель конкурса3 место Готв2 место Организатор конкурсов
Sepheyer пишет:
Я подозреваю:

var sprite = new Sprite_Character(new_event);
SceneManager._scene._spriteset._characterSprites.push(sprite);
SceneManager._scene._spriteset._tilemap.addChild(sprite);

есть спец.функции для этого, не надо ломать велосипед

вот файлик с кучей функций
Последнее редактирование: 2 года 7 мес. назад от yuryol.
Администратор запретил публиковать записи гостям.

Как изменить картинку ивента через JS? 2 года 7 мес. назад #124475

  • Sepheyer
  • Sepheyer аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 70
  • Спасибо получено: 38
Не так выразился в . В коде плагинов были ошибки того как они копировали id. Из-за этого штатные методы изменения изображений не работали.

Теперь этот сегмент работает штатно:
var sprite = new Sprite_Character(new_event);
SceneManager._scene._spriteset._characterSprites.push(sprite);
SceneManager._scene._spriteset._tilemap.addChild(sprite);


[оригинал]

Решение простое, но решить было сложно. Оказывается два распространенных плагина для клонирования ивентов содержат ошибку в том как они клонируют ID. Но у каждого плагина эта ошибка проявлялась по-своему тем самым посылая по ложному следу.

Kод изменения картинки любого ивента:
image_set = 'People1'
person_index = 0 //самый первый персонаж на листе = 0
$gameMap.event(2).setImage(image_set, person_index);
image_set = 'People3'
person_index = 7 // самый первый персонаж на листе = 7
$gameMap.event(2).setImage(image_set, person_index);

Естественно, если нужно менять картинки индивидуальных страниц, то можно добраться напрямую через аррейз.
Последнее редактирование: 2 года 7 мес. назад от Sepheyer.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Noxmils
Время создания страницы: 0.178 секунд