Войти на сайт

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

ТЕМА: Подкачка изображений через плагин

Подкачка изображений через плагин 8 года 5 мес. назад #87400

  • Logan
  • Logan аватар
  • Вне сайта
  • Познающий
  • Сообщений: 11
  • Спасибо получено: 3
Обращаюсь за помощью к знающим, так как сам в синтаксисе MV с ЯваСкрипт не очень рублю. Пытаюсь реализовать загрузку дополнительного изображения к каждому предмету, в "Notes" которого указан соответствующий файл, по типу <additional image: some_picture.png>.
Затем вывести кодом, соответствующее имени, изображение и вставить в нужное место инвентаря.
Не подскажете, как реализовать код вывода изображения? Как вставить - разберусь.
Администратор запретил публиковать записи гостям.

Подкачка изображений через плагин 8 года 5 мес. назад #87416

  • KageDesu
  • KageDesu аватар
  • Вне сайта
  • Мастер
  • Сообщений: 101
  • Спасибо получено: 346
Чтобы вывести изображение, нужно создать Sprite.
var sprite = new Sprite(ImageManager.loadPicture(имя картинки без расширения));
Картинка должна быть в папке img/pictures.

У объекта sprite можно задать x и y. Лучше посмотреть справку по RPG Maker MV.

Теперь необходимо этот спрайт добавить на нашу сцену или окно, в котором мы хотим его показать.
За это отвечает функция addChild().
Пример:
Допустим мы хотим вывести картинку some.png в меню, в окне с золотом.
В конце функции Window_Base.prototype.drawCurrencyValue дописываем следующий код:
    var sprite = new Sprite(ImageManager.loadPicture('some'));
    sprite.x = 10;
    sprite.y = 10;
    this.addChild(sprite);

Метод addChild можно вызывать внутри функций окон (Window) и сцен (Scene).
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Logan

Подкачка изображений через плагин 8 года 5 мес. назад #87436

  • Logan
  • Logan аватар
  • Вне сайта
  • Познающий
  • Сообщений: 11
  • Спасибо получено: 3
Спасибо большое, отобразить получилось, правда теперь не получается это изображение убрать)

Я модифицирую плагин, поэтому попробую объяснить, какой код редактирую:
Window_ItemDetail.prototype.refresh = function() { 	// Эта функция обновляет нужное мне окно, с информацией о предмете, поэтому вношу изменения в нее
		this.contents.clear();		// Этим мы стираем предыдущую информацию
		this.drawItemName(this._item,0,0,this.contents.width-24); // Отрисовываем новую иконку и наименование
 
 
		var obj = this._item;		// Отсюда пошла модификация плагина. Мы заносим в переменную информацию о предмете
		var notedata = obj.note.split(/[\r\n]+/);  	// Отрезаем лишние символы из от того, что мы приписали предмету в Базе Данных, в Note, чтобы на выходе получилось наименование изображения
		var sprite = new Sprite(ImageManager.loadPicture(notedata));
		this.addChild(sprite);

Выходит, что соответствующее предмету доп. изображение появляется, но не исчезает, когда мы выбираем следующий предмет - на него сверху накладывается новое.
Пробовал в начало функции вставить "this.removeChild(sprite);" но он здесь срабатывает только после addChild. :(
Последнее редактирование: 8 года 5 мес. назад от Logan.
Администратор запретил публиковать записи гостям.

Подкачка изображений через плагин 8 года 5 мес. назад #87439

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • Проект месяца 2 местоОраторПроект месяца 3 местоПрограммист JavaScript ПаладинУчительПрограммист RubyПроект месяца 1 место2 место Ветеран
Потому что изображение хранится в локальной переменной. Вместо var sprite попробуй this.sprite.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: KageDesu, Logan

Подкачка изображений через плагин 8 года 5 мес. назад #87440

  • Logan
  • Logan аватар
  • Вне сайта
  • Познающий
  • Сообщений: 11
  • Спасибо получено: 3
Заработало, спасибо!
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.244 секунд