Text Pop Over Events VS Параллакс

Больше
10 года 2 мес. назад - 10 года 2 мес. назад #90275 от Logan
Снова обращаюсь за помощью к опытным!

Пользуя плагин, что отображает текст над эвентами и персонажами:
forums.rpgmakerweb.com/index.php?/topic/...text-pop-over-events

получил глюк со своим параллаксом (на изображении MV, с графикой из Ace, если это вызовет вопросы):



Откуда ноги ростут у проблемы, вобщем, понятно:
Плагин берет свою функцию:
Code:
Sprite_Character.prototype.start_namepop = function(){ if (this.namepop === "") return; var b_width = (this.namepop.length * (this.char.namepop_size/2) + 24)+this.char.namepop_width; var b_height = (this.char.namepop_size + 28) + this.char.namepop_height; var x = (0 - b_width/2) + this.char.namepop_ox; var y = (0 - b_height - 34) - this.char.namepop_oy; this.namepop_sprite = new Window_CharacterPop(x,y,b_width,b_height,this.char); this.namepop_sprite.opacity = this.char.windowOpacity; //Nel Add //###Change Font, Font Size, Color, and Time based off Character values## this.namepop_sprite.contents.textColor = this.char.namepop_color; this.namepop_sprite.contents.outlineColor = this.char.namepop_outlineColor; this.namepop_sprite.contents.outlineWidth = this.char.namepop_outlineWidth; this.namepop_sprite.contents.fontSize = this.char.namepop_size; this.namepop_sprite.contents.fontFace = this.char.namepop_font; this.namepop_sprite.contents.fontItalic = this.char.namepop_ital; this.namepop_sprite.drawTextEx(this.namepop, 0, 0);//, b_width, b_height, 'center'); this.text_timer = this.char.namepop_time; this.namepop_time = this.char.namepop_time; this.addChild(this.namepop_sprite); };

и модернизирует ее вызовом ту, что отображает персонажа:
Code:
var Nasty_sprCharacterTxtPop_update_alias = Sprite_Character.prototype.update; Sprite_Character.prototype.update = function() { Nasty_sprCharacterTxtPop_update_alias.call(this); if (this.text_timer > 0 && this.char.textpop_flag === false){ this.text_timer -=1; if (this.text_timer <= 0){ this.removeChild(this.namepop_sprite); this.tmer_rat = undefined; //Reset ratio, just to avoid issues } else if (this.text_timer < 60){ this.namepop_sprite.contentsOpacity-= 4; this.namepop_sprite.opacity -= 4; } } if (this.char.textpop_flag === true){ this.namepop = this.char.namepop; this.removeChild(this.namepop_sprite); this.start_namepop(); this.char.textpop_flag = false; //Release from update } };

То есть, выходит, что вызываемый текст становится частью персонажа, и реагирует на верхние слои параллакса соответствуя.

Повысить высоту текста через комманду this.namepop_sprite.z = 999; из функции Sprite_Character.prototype.start_namepop = function() результата не дает - если я правильно понял - для текста персонаж - это сцена, за рамки которой он не выходит. Попытки добавить ось z к чему-либо вызываемого в функции с обработкой персонажа Sprite_Character.prototype.update = function() {, тоже безуспешны. Работает, разве что this.z = 999;, но она поднимает и текст и персонажа.

Наверное, тут опять можно решить проблему правильным обращением к команде, которого я не знаю.

Не подскажете, как здесь поступить?
Последнее редактирование: 10 года 2 мес. назад пользователем Logan.

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

Больше
10 года 2 мес. назад #90291 от Logan
Забыл добавить, что выводить отображение текста за функцию обработки персонажа - не вариант. Плагин подразумевает, что вызванный текст будет следовать за персонажем, что необходимо оставить.

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

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