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

Больше
4 года 7 мес. назад - 4 года 7 мес. назад #124470 от Sepheyer
Я скопировал событие из одной клетки в другую чере JS. (Скриншоты ниже.)

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

Спасибо.

ВНИМАНИЕ: Спойлер!
Последнее редактирование: 4 года 7 мес. назад пользователем Sepheyer.

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

Больше
4 года 7 мес. назад #124472 от Sepheyer
Я подозреваю:

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

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

Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
Больше
4 года 7 мес. назад - 4 года 7 мес. назад #124473 от yuryol

Sepheyer пишет: Я подозреваю:

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


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

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

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

Больше
4 года 7 мес. назад - 4 года 7 мес. назад #124475 от Sepheyer
Не так выразился в . В коде плагинов были ошибки того как они копировали id. Из-за этого штатные методы изменения изображений не работали.

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


[оригинал]

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

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

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

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

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