🤔 Para Refletir :
"Se é seu amigo, não peça uma key do jogo dele: compre para apoiá-lo!"
- HenriqueGibi

RPG Maker MV bibliotecas de javascript no rpg maker MV

paula

Novato
Membro
Membro
Juntou-se
07 de Maio de 2020
Postagens
9
Bravecoins
0
Olá pessoal!

Sou nova aqui (muito feliz em encontrar a página! parabéns pela comunidade!) e bem tímida pra fóruns em geral rs espero estar escrevendo no lugar certo, qualquer coisa por favor me avisem :)

Estou há pouco mais de um mês estudando o p5.js, conhecem? É uma biblioteca de javascript focada em criar imagens gráficas e interativas, eles tem bastante material bacana e um editor online. Aqui um exemplo de uma coisa simples feita com ele: https://editor.p5js.org/paulahemsi/sketches/akvl-JZT8

Queria conseguir rodar no RPG Maker MV um sketch que fiz no p5.js. Aí tenho duas questões principais, supondo que seja possível rs:

- Qual a melhor maneira de importar uma biblioteca de javascript pro rpg maker MV?

- É possível criar um evento que abra o plugin com o código que fiz no p5.js ? Por exemplo, se eu fizer um mini game no p5 é possível fazê-lo rodar num mapa/fase do jogo?


Procurei algumas coisas em fóruns gringos, achei uma ideia de deixar a biblioteca inteira no mesmo script/plugin do meu código, acham uma boa ou seria melhor criar um script só pra biblioteca e dar um jeito de chamá-la do script do código?

muito muito obrigada desde já!
Abraços!

 
- Qual a melhor maneira de importar uma biblioteca de javascript pro rpg maker MV?
Eu para as libs mais extensas prefiro adicionar como eu adicionaria em outras aplicações no js. No index do seu projeto você pode adicionar as libs assim:

71k6Qxm.png
, E ai só colocar o código js dentro da pasta libs.

- É possível criar um evento que abra o plugin com o código que fiz no p5.js ? Por exemplo, se eu fizer um mini game no p5 é possível fazê-lo rodar num mapa/fase do jogo?

Ai tá um ponto, eu pessoalmente nunca usei o p5, então não sei o quanto de trabalho vai precisar para fazer funcionar ele em conjunto com os objetos que o rpg maker cria para os mapas, o que eu pude ler é que o p5 é um renderizador também igual o PIXI, e o rpg maker MV usa o PIXI, o problema de usar 2 diferentes é que nessa parte eu não sei o quão dificil pode ser de fazer os 2 se comunicarem para o que você precisa. Quando pesquisei p5 plus pixi, veio a maioria p5 vs pixi haha, então pode ter uma dificuldade adicional ai. Provavelmente é tranquilo fazer ele funcionar, mas ele talvez não tenha interação com os outros objetos, e se a ideia era usar o touch para interagir, pode ficar mais complicado ainda. Sem falar que não sei o quanto os dois vão "bater cabeça", talvez alguém que usou o p5 saiba responder isso melhor.

Procurei algumas coisas em fóruns gringos, achei uma ideia de deixar a biblioteca inteira no mesmo script/plugin do meu código, acham uma boa ou seria melhor criar um script só pra biblioteca e dar um jeito de chamá-la do script do código?

Exato, eu começaria por ai, acho que se você tem bastante coisa no p5, pode tentar começar fazendo e ai os problemas que for tendo a gente tenta dar um help  :piscadinha:
 
No index do seu projeto você pode adicionar as libs

Aaah, sensacional!!! Muito bom, bem simples, incrível! :) Muito obrigada, Raizen!

Quando pesquisei p5 plus pixi, veio a maioria p5 vs pixi haha, então pode ter uma dificuldade adicional ai.

haha vixi! Bom, de primeira eu não precisaria da interação com o que já estava no rpg maker, pode ser uma coisa completamente distoante mesmo, como se acionasse o evento e sumisse cenário, personagem, tudo, e viesse só o código do p5 interagindo com ele mesmo, será que isso pode facilitar pq o p5 não teria que interagir diretamente com o PIXI...?
Talvez a maior dificuldade pensando assim seja conseguir encerrar o evento e 'voltar' pro jogo rs!

E quanto aos plugins, se eu adicionar um código feito no p5 como plugin, posso deixar o plugin desativado e ativar em um evento? Seria no menu "avançado" que tem dentro do evento e "comando de plugin" ou nada a ver?

Muito muito obrigada novamente! :)
 
E quanto aos plugins, se eu adicionar um código feito no p5 como plugin, posso deixar o plugin desativado e ativar em um evento? Seria no menu "avançado" que tem dentro do evento e "comando de plugin" ou nada a ver?
Infelizmente não,  mas eu manteria só na estrutura do rpg maker, talvez criar uma Scene e ai na scene gerenciar o que você adicionou pelo plugin. Scenes já é o modo padrão escrito no rpg maker para poder separar essas coisas se for totalmente, ou mesmo se for na mesma Scene tipo Scene_Map, dá para dar uns jeitinhos pra fazer isso haha.
 
criar uma Scene e ai na scene gerenciar o que você adicionou pelo plugin. Scenes já é o modo padrão escrito no rpg maker para poder separar essas coisas se for totalmente, ou mesmo se for na mesma Scene tipo Scene_Map, dá para dar uns jeitinhos pra fazer isso haha.

Olá Raizen e todos!

Passei uns dias seguindo a dica e tentando entender melhor como as Scenes funcionam pra fazer o código do p5.js rodar no RM MV, ainda estou nessa jornada, achei esses tutoriais do Poryg e estou estudando por eles.

https://www.youtube.com/watch?v=2DnYEfScybo

Queria perguntar se vcs tem alguma outra dica de locais que eu pudesse pesquisar, ou tirar exemplos, sobre como as scenes funcionam.

Mais uma vez, muitiíssimo obrigada!
=)
 
paula comentou:
Olá pessoal!

Sou nova aqui (muito feliz em encontrar a página! parabéns pela comunidade!) e bem tímida pra fóruns em geral rs espero estar escrevendo no lugar certo, qualquer coisa por favor me avisem :)

Estou há pouco mais de um mês estudando o p5.js, conhecem? É uma biblioteca de javascript focada em criar imagens gráficas e interativas, eles tem bastante material bacana e um editor online. Aqui um exemplo de uma coisa simples feita com ele: https://editor.p5js.org/paulahemsi/sketches/akvl-JZT8

Queria conseguir rodar no RPG Maker MV um sketch que fiz no p5.js. Aí tenho duas questões principais, supondo que seja possível rs:

- Qual a melhor maneira de importar uma biblioteca de javascript pro rpg maker MV?

- É possível criar um evento que abra o plugin com o código que fiz no p5.js ? Por exemplo, se eu fizer um mini game no p5 é possível fazê-lo rodar num mapa/fase do jogo?


Procurei algumas coisas em fóruns gringos, achei uma ideia de deixar a biblioteca inteira no mesmo script/plugin do meu código, acham uma boa ou seria melhor criar um script só pra biblioteca e dar um jeito de chamá-la do script do código?

muito muito obrigada desde já!
Abraços!
Anotado!, irei trabalhar em uma solução para esse caso.

- OBS: não irei fazer um plugin, apenas darei uma solução com base em meus conhecimentos, ou seja, não espere algo profissional.

Antes de eu começar o trabalho, quero responder algumas questões abordadas no topico.

- "Qual a melhor maneira de importar uma biblioteca de javascript pro rpg maker MV?"
R: Temos a forma mais comum que é através de plugins, mas também podemos adicionar scripts por meio de linhas de script como apresentado a baixo. Eu tenho um plugin chamado DrXama_MVDebug.js que umas de suas funções é a adição de scripts em quanto o jogo está em execução, muito útil para o suporte de mods. E por fim temos a adição por meio do arquivo HTML que é o responsável por carregar todos os principais scripts do RPG MAKER MV.

Código:
    var url = this._path + name;
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    script.async = false;
    script.onerror = this.onError.bind(this);
    script._url = url;
    document.body.appendChild(script);

Porventura não iria me ocupar com essa questão, mas percebi que você [member=3122]paula[/member] está muito interessada em resolver isso. Pois bem, cá estou eu para tentar ajudar da melhor maneira possível. Tomará que conseguiremos resolver essa questão, de qualquer forma estou a disposição para qualquer duvida que você possa ter.

 
Dr.Xamã comentou:
paula comentou:
Olá pessoal!

Sou nova aqui (muito feliz em encontrar a página! parabéns pela comunidade!) e bem tímida pra fóruns em geral rs espero estar escrevendo no lugar certo, qualquer coisa por favor me avisem :)

Estou há pouco mais de um mês estudando o p5.js, conhecem? É uma biblioteca de javascript focada em criar imagens gráficas e interativas, eles tem bastante material bacana e um editor online. Aqui um exemplo de uma coisa simples feita com ele: https://editor.p5js.org/paulahemsi/sketches/akvl-JZT8

Queria conseguir rodar no RPG Maker MV um sketch que fiz no p5.js. Aí tenho duas questões principais, supondo que seja possível rs:

- Qual a melhor maneira de importar uma biblioteca de javascript pro rpg maker MV?

- É possível criar um evento que abra o plugin com o código que fiz no p5.js ? Por exemplo, se eu fizer um mini game no p5 é possível fazê-lo rodar num mapa/fase do jogo?


Procurei algumas coisas em fóruns gringos, achei uma ideia de deixar a biblioteca inteira no mesmo script/plugin do meu código, acham uma boa ou seria melhor criar um script só pra biblioteca e dar um jeito de chamá-la do script do código?

muito muito obrigada desde já!
Abraços!
Anotado!, irei trabalhar em uma solução para esse caso.

- OBS: não irei fazer um plugin, apenas darei uma solução com base em meus conhecimentos, ou seja, não espere algo profissional.

Antes de eu começar o trabalho, quero responder algumas questões abordadas no topico.

- "Qual a melhor maneira de importar uma biblioteca de javascript pro rpg maker MV?"
R: Temos a forma mais comum que é através de plugins, mas também podemos adicionar scripts por meio de linhas de script como apresentado a baixo. Eu tenho um plugin chamado DrXama_MVDebug.js que umas de suas funções é a adição de scripts em quanto o jogo está em execução, muito útil para o suporte de mods. E por fim temos a adição por meio do arquivo HTML que é o responsável por carregar todos os principais scripts do RPG MAKER MV.

Código:
    var url = this._path + name;
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    script.async = false;
    script.onerror = this.onError.bind(this);
    script._url = url;
    document.body.appendChild(script);

Porventura não iria me ocupar com essa questão, mas percebi que você [member=3122]paula[/member] está muito interessada em resolver isso. Pois bem, cá estou eu para tentar ajudar da melhor maneira possível. Tomará que conseguiremos resolver essa questão, de qualquer forma estou a disposição para qualquer duvida que você possa ter.
Fiz alguns testes e mesmo tentando fazer com que o P5 e o PIXI se comunicassem de todas as maneiras, sem sucesso, ambos são bibliotecas gráficas distintas e um e o outro só pode ser agregado se manipulado o código fonte dos dois. Acredito que o mais sábio seria tentar fazer o que você quer no PIXI que é a biblioteca gráfica do RPG MAKER MV, pois trazer outro biblioteca só por causa de pequenos códigos é complicado e só irá aumentar a carga do jogo.

- Até consegui fazer os elementos aparecerem, mas eles ficam por baixo das camadas geradas pelo PIXI.
 
Olá Dr.Xamã!

Muito obrigada pelas respostas e pela busca! :)

Vou pesquisar mais sobre a PIXI pra tentar essa opção de reescrever os códigos com ela.

Mas isso foi tb muito animador! :

- Até consegui fazer os elementos aparecerem, mas eles ficam por baixo das camadas geradas pelo PIXI.

:Palmas:

pq eu não usaria mesmo as coisas juntas, quando entrassem os códigos do p5 eles não precisariam interagir com o cenário nem com os personagens do jogo, seria uma quebra mesmo.

estou curiosíssima sobre como vc fez os elementos do p5 aparecerem, foi através das Scenes?

Mais uma vez, muito obrigada :)
 
paula comentou:
Olá Dr.Xamã!

Muito obrigada pelas respostas e pela busca! :)

Vou pesquisar mais sobre a PIXI pra tentar essa opção de reescrever os códigos com ela.

Mas isso foi tb muito animador! :

- Até consegui fazer os elementos aparecerem, mas eles ficam por baixo das camadas geradas pelo PIXI.

:Palmas:

pq eu não usaria mesmo as coisas juntas, quando entrassem os códigos do p5 eles não precisariam interagir com o cenário nem com os personagens do jogo, seria uma quebra mesmo.

estou curiosíssima sobre como vc fez os elementos do p5 aparecerem, foi através das Scenes?

Mais uma vez, muito obrigada :)
Opa, então eu até tinha colocado as imagens no post a cima, mas elas sumiram ;(

De qualquer maneira cá estão...eu espero!
GFJJx0I.png

FKc9CJQ.png


- "estou curiosíssima sobre como vc fez os elementos do p5 aparecerem, foi através das Scenes? "
R: Bem eu basicamente só rodei os códigos do P5 . Por fim criei o seguinte código, devido um Problema de que os métodos primitivos do P5 não estavam sendo invocados no meu código e.e
Código:
var s = function( sketch ) {
  sketch.setup = function() {};
 sketch.draw(){
   sketch.ellipse(50, 50, 80, 80);
 };
};    
var myp5 = new p5(s);
Mas isso deixa de ser animador quando eu precisei excluir os dois canvas padrões do RPG MAKER MV, tanto o 'GameCanvas' quanto o 'UpperCanvas', os dois são gerados por padrão pelos códigos do maker, acredito que com isso você tenha um norte. De qualquer maneira, visto que, "pq eu não usaria mesmo as coisas juntas", você teria que ocultar os dois canvas quando fosse preciso e dps mostra-los novamente, o maker tem algumas linhas onde se pode ver como esconder um canvas.

A forma como adicionei a lib foi simples só abri o arquivo HTML copiei a linha do PIXI e adicionei tanto o P5 quanto o P5.sounds(de alguma forma eu deveria ter testado isso...será?), insiras os dois scripts a baixo dos scripts do PIXI e seja feliz(no caso só por ter rodado a lib, trágico).

- Realmente a biblioteca P5 é incrível e intuitiva, penso como usa-la em alguns projetos.
 
Uau!! Sério, foi emocionante ver a elipse branca no fundo preto dentro do Rpg maker! =D

Tentei entender o que vc fez e replicar aqui pra ver se funcionava. Coloquei no html os scripts das bibliotecas e o meu código feito no p5 (todos na pasta devida) e dei play no jogo. Bom, vc deve saber já que nada aconteceu rs.
Aí lembrei do código que vc teve que adicionar

Por fim criei o seguinte código, devido um Problema de que os métodos primitivos do P5 não estavam sendo invocados no meu código e.e

e fiquei na dúvida: onde inserir esse código? No meu código do p5,  em algum arquivo .js nativo do rpg maker ou então criar um novo arquivo .js só pra esse código?
E, quando funcionar, eu verei esse código feito do p5, no seu caso a esfera branca, quando clicar em novo jogo? Ou o menu nem vai aparecer? (Ou alguma outra opção rs)

Paralelo a isso, estou me jogando no mundo do PIXI pq achei realmente sua sugestão muito sensata, mas me veio também a questão: se eu fizer um código com o pixi, seria simples fazê-lo rodar como um novo mapa, ou a partir de um evento dentro do meu jogo?

- Realmente a biblioteca P5 é incrível e intuitiva, penso como usa-la em alguns projetos.

=) Fico feliz que você tenha gostado!
Recomendo muito esse canal do Daniel Shiffman, tem muito conteúdo sobre o p5:

https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw

 
paula comentou:
Uau!! Sério, foi emocionante ver a elipse branca no fundo preto dentro do Rpg maker! =D

Tentei entender o que vc fez e replicar aqui pra ver se funcionava. Coloquei no html os scripts das bibliotecas e o meu código feito no p5 (todos na pasta devida) e dei play no jogo. Bom, vc deve saber já que nada aconteceu rs.
Aí lembrei do código que vc teve que adicionar

Por fim criei o seguinte código, devido um Problema de que os métodos primitivos do P5 não estavam sendo invocados no meu código e.e

e fiquei na dúvida: onde inserir esse código? No meu código do p5,  em algum arquivo .js nativo do rpg maker ou então criar um novo arquivo .js só pra esse código?
E, quando funcionar, eu verei esse código feito do p5, no seu caso a esfera branca, quando clicar em novo jogo? Ou o menu nem vai aparecer? (Ou alguma outra opção rs)

Paralelo a isso, estou me jogando no mundo do PIXI pq achei realmente sua sugestão muito sensata, mas me veio também a questão: se eu fizer um código com o pixi, seria simples fazê-lo rodar como um novo mapa, ou a partir de um evento dentro do meu jogo?

- Realmente a biblioteca P5 é incrível e intuitiva, penso como usa-la em alguns projetos.

=) Fico feliz que você tenha gostado!
Recomendo muito esse canal do Daniel Shiffman, tem muito conteúdo sobre o p5:

https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw
se eu fizer um código com o pixi, seria simples fazê-lo rodar como um novo mapa, ou a partir de um evento dentro do meu jogo?
Você pode adicionar seu código como se ele fosse um plugin, escreva o código de preferencia dentro de uma função, pois isso melhora o desempenho de certa forma; Veja a função....
Código:
(function() {
"use strict";
// escreva o código por aqui...
})();
Mas ainda assim seu código não irá funcionar devido o problema que falei de tudo ficar a baixo da camada do PIXI....

fiquei na dúvida: onde inserir esse código? No meu código do p5,  em algum arquivo .js nativo do rpg maker ou então criar um novo arquivo .js só pra esse código?
Na realidade o seu código teria que ser refeito usando o meu como base. Para que não fique confuso cá está há explicação...
Código:
// Bom para criar a instancia primeiro defini o sketch.
var s = function( sketch ) {
// Foi passado um parâmetro com o nome sketch, que tem referencia a classe P5, ou seja seus métodos.

 // Esse é um método primitivo que o P5 chama sozinho, como se fosse o initialize do maker...
  sketch.setup = function() {};

 // Outro método primitivo....
 sketch.draw(){
   sketch.ellipse(50, 50, 80, 80);
 };
};    

// simplesmente criei uma nova instancia da classe P5.
var myp5 = new p5(s);
O que quero dizer é todos os pontos onde você chama métodos do P5, você deve inserir o "sketch", como exemplo, o método "ellipse", que por padrão quando carregado o P5 no HTML, esse método pode ser chamado sem precisar colocar "P5.ellipse", o mesmo ocorre com os métodos, "setup " e "draw". No seu caso você tem por exemplo os métodos, "stroke", "fill", "circle" e etc, todos herdados do P5, pegue o meu código como base e transforme no seu xD.

Paralelo a isso, estou me jogando no mundo do PIXI pq achei realmente sua sugestão muito sensata, mas me veio também a questão: se eu fizer um código com o pixi, seria simples fazê-lo rodar como um novo mapa, ou a partir de um evento dentro do meu jogo?
Para manipular os elementos do PIXI dentro do Maker é uma tarefa até simples, pois tudo se baseia em sprites e scenes. Não tenho como explicar em resposta, pois é uma conversa muito longa; mas se quiser eventualmente saber como fazer a manipulação do PIXI, estou disponível nesse fim de semana.

Recomendo muito esse canal do Daniel Shiffman, tem muito conteúdo sobre o p5
Eu até gostei, mas minhas skills em inglês se baseiam em manipular tradutores e um pouco do que sei da semântica.
 
Olá!

Legal! Acho que entendi e tentei colocar meu código :) Ainda não cheguei ao ponto de ver nada no rpg maker, mando aqui o código simples que inseri dentro do seu modelo pra ver se batendo o olho vc já saca onde foi minha falha: (tirei os seus comentários pra facilitar sua leitura)

Código:
var s = function( sketch ) {

  sketch.setup = function()
  {
    //fiquei na duvida se o createCanvas era método do p5 mas supus que sim
  sketch.createCanvas(400, 400);
  sketch.colorMode(HSB, 200, 100, 100);
};

 sketch.draw(){
   sketch.background(220);

   //dentro desse loop for tb achei que o .width seria método do p5
   for (var x = 0; x < sketch.width; x = x + 20) {
     for (var y = 0; y < sketch.width; y = y + 20) {
    
       //e aqui tb, preenchendo o canvas todo com quadradinhos piscantes coloridos
       sketch.stroke(255);
       sketch.fill(random(200), 100, 100);
       sketch.rect(x, y, 20, 20);
     }

   }
 };
};

var myp5 = new p5(s);


Para manipular os elementos do PIXI dentro do Maker é uma tarefa até simples, pois tudo se baseia em sprites e scenes. Não tenho como explicar em resposta, pois é uma conversa muito longa; mas se quiser eventualmente saber como fazer a manipulação do PIXI, estou disponível nesse fim de semana.

Nossa, eu adoraria! Muuuito obrigada! Vi que o fórum vai estar fora do ar pra manutenção, nos falamos onde? No discord? (não tenho ainda, mas posso fazer)

Eu até gostei, mas minhas skills em inglês se baseiam em manipular tradutores e um pouco do que sei da semântica.

Putz, sim, tem alguns com legendas em português, mas é meio aleatório pq é a comunidade que faz. Se tiver algum em particular que te interessou me avise que posso tentar fazer esse rolê das legendas :) Minhas skills em inglês não são lá essas coisas mas acho que é possível!

 
Me adicione no discord aqui do condado mesmo, lá agente se fala, meu nick é o mesmo do fórum.

- Me add: Dr.Xamã#9107

Se caso não conseguir me adicionar pode ficar tranquila, tem o meu email tbm.
contato@drxama.com.br
 
Nossa, eu adoraria! Muuuito obrigada! Vi que o fórum vai estar fora do ar pra manutenção, nos falamos onde? No discord? (não tenho ainda, mas posso fazer)
Vendo sua disposição em criar uma conta do Discord, aproveito para te convidar a fazer do servidor oficial do Discord aqui do Condado. Você pode entrar através deste link. Lá você sempre terá alguém pra te ajudar em suas dúvidas mais imediatas e vai poder bater um papo com a galera sobre qualquer coisa. Te esperamos lá!
 
Voltar
Topo Inferior