🤔 Para Refletir :
"A pressa é a inimiga do grinding."
- Moge

Título do meu jogo não está funcionando Touch

JulioRPGCriator

Cidadão
Membro
Membro
Juntou-se
17 de Fevereiro de 2017
Postagens
103
Bravecoins
0
Boa Tarde pessoal, eu estou com problema no titulo do meu projeto!
O titulo é trabalhado em janelas certo? Eu criei a Window e o commandWindow do titulo as ações e tudo mais...
Porem o touchscreen ou o mouse não esta funcionando!

Hudell mencionou sobre renderização das imagens mais eu nao entendi o que ele quis dizer, as seguintes duvidas:

1ª Dentro da função eu faria essa renderização? como seria isso?
Digo, dentro dessa parte aqui: Scene_Title.prototype.createCommandWindow = function() {};
2ª Mais ai teria que fazer a aplicação dos botões na própria janela isso?
Como fiz aqui: Scene_Title.prototype.createcommandImages = function() {};
Digo, deria que renderizar a commandImages, que são os botoes certo?
3ª Essa parte eu não entendi, renderizar como? será que nao esta funcionando por eu nao ter feito isso...

Note que esta tudo funcional no meu código abaixo exceto o Touch!
Código:
var FundoTitulo = ['Pergaminho'];
var TitulodoJogo = ['TitulodoJogo'];
var commandImages = ['Iniciar', 'Continuar', 'Sair'];
var exitName = ['Sair']

Window_TitleCommand.prototype.makeCommandList = function() {
    this.addCommand(TextManager.newGame,   'newGame');
    this.addCommand(TextManager.continue_, 'continue', this.isContinueEnabled());
    this.addCommand(exitName,   'exit');
};

Scene_Title.prototype.createCommandWindow = function() {
    this._commandWindow = new Window_TitleCommand();
    this._commandWindow.visible = false;
    this._commandWindow.x = Graphics.width * 2;
    this._commandWindow.y = Graphics.height * 2;
    this._commandWindow.setHandler('newGame',  this.commandNewGame.bind(this));
    this._commandWindow.setHandler('continue', this.commandContinue.bind(this));
    this._commandWindow.setHandler('exit',  this.commandExit.bind(this));
    this.addWindow(this._commandWindow);
};

var Julio_start = Scene_Title.prototype.start;
Scene_Title.prototype.start = function() {
    Julio_start.apply(this);
    this.centerSprite(this._backSprite1);
    this.centerSprite(this._backSprite2);
    this.createBackground();
    this.createTitulo();
    this.createcommandImages();
};

Scene_Title.prototype.createBackground = function() {
    this._backSprite1 = new Sprite();
    this._backSprite2 = new Sprite();
    this.addChild(this._backSprite1);
    this.addChild(this._backSprite2);  
};

Scene_Title.prototype.createTitulo = function() {
    this._Titulo = new Sprite();
    this._Titulo.opacity = 190;
    this._Titulo.x = Graphics.width - 690;
    this._Titulo.y = Graphics.height - 500;
    this._Titulo.bitmap = ImageManager.loadSystem(TitulodoJogo);
    this.addChild(this._Titulo);
};
 
Scene_Title.prototype.createcommandImages = function() {
    this._imageCommands = new Sprite();
    this._imageCommands.opacity = 190;
    this._imageCommands.x = Graphics.width / 2 - 150;
    this._imageCommands.y = Graphics.height / 2 + 15;
    this.addChild(this._imageCommands);
};

Scene_Title.prototype.centerSprite = function(sprite) {
    sprite.x = Graphics.width / 2 - 0;
    sprite.y = Graphics.height / 2 - 0;
    sprite.anchor.x = 0.5;
    sprite.anchor.y = 0.5;
};

var Julio_update = Scene_Title.prototype.update;
Scene_Title.prototype.update = function() {
    Julio_update.apply(this);
    this._imageCommands.bitmap = ImageManager.loadSystem(commandImages[this._commandWindow._index]);
    this._backSprite1.bitmap = ImageManager.loadSystem(FundoTitulo);
};

Scene_Title.prototype.commandExit = function() {
    this._commandWindow.close();
    SceneManager.exit();
};

A imagem que tenho é de tamanho 300x215, cada uma delas com 3 botões, sendo que o que esta de cor diferente é o que esta sendo acionado! segue a baixo o link da imagem:
"https://i.imgur.com/AxRwcdp.png"
 
Acho que seu sprite de comandos está impedindo o clique de chegar na janela. Tente adicionar o seguinte abaixo da criação do sprite:

Código:
this._imageCommands.hitArea = new PIXI.Rectangle(0, 0, 0, 0);
 
Valew Kyo, mais acho que ainda falta algo ou nao era esse o problema, não surtiu efeito, alias, apareceu no canto superior esquerdo do titulo
algo semelhante a uma linha do word quando vc clica pra digitar... so que nao faz nada
ai tentei por as coordemadas x = -150, y= 15 , x2 = -450 , y2 = 265
nao sei se de forma correta e também nao foi...

oque pode ser isso?
 
Voltar
Topo Inferior