Partagez
Aller en bas
Kallael
Kallael
Membre

Nombre de messages : 15
Age : 35
Localisation : Marseille
Distinction : aucune
Date d'inscription : 25/04/2015

Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer Empty Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer

le Jeu 8 Déc 2016 - 16:44
Bonjour a tous ! Voila mon idée, mon héros, ou héroine est un ou une détective et donc il a besoin d'une sorte de carnet de bord pour l'aider à répertorier diverses informations. J'ai donc pensé à ajouter une nouvelle catégorie ou ligne dans le menu de base que nous propose le logiciel

Code:
Scene_Menu.prototype.createCommandWindow = function() {
    this._commandWindow = new Window_MenuCommand(0, 0);
    this._commandWindow.setHandler('item',      this.commandItem.bind(this));
    this._commandWindow.setHandler('skill',    this.commandPersonal.bind(this));
    this._commandWindow.setHandler('equip',    this.commandPersonal.bind(this));
    this._commandWindow.setHandler('status',    this.commandPersonal.bind(this));
    this._commandWindow.setHandler('formation', this.commandFormation.bind(this));
    this._commandWindow.setHandler('options',  this.commandOptions.bind(this));
    this._commandWindow.setHandler('save',      this.commandSave.bind(this));
    this._commandWindow.setHandler('carnet de bord', this.commandCarnetdeBord.bind(this));
    this._commandWindow.setHandler('gameEnd',  this.commandGameEnd.bind(this));
    this._commandWindow.setHandler('cancel',    this.popScene.bind(this));
    this.addWindow(this._commandWindow);
};

Scene_Menu.prototype.commandCarnetdeBord = function() {
    SceneManager.push(Scene_CarnetdeBord);

}

Ca c'est comment jai entrer la nouvelle categorie dans le menu de base, alors est ce que j'ai bien fait ou pas ?
Et cet autre page de code cest la fonction carnet de bord

Code:
function Scene_CarnetdeBord() {
    this.initialize.apply(this, arguments);
}

Scene_CarnetdeBord.prototype = Object.create(Scene_File.prototype);
Scene_CarnetdeBord.prototype.constructor = Scene_CarnetdeBord;

};

Scene_CarnetdeBord.prototype.initialize = function() {
    Scene_Menu.prototype.initialize.call(this);
};

Scene_CarnetdeBord.prototype.select = function() {
    this fadeOutAll();
    SceneManager.goto(map = 'carnet de détective');
}

Scene_CarnetdeBord.prototype.cancel = function() {
    return menu;

}

Scene_CarnetdeBord.prototype.stop = function() {
    Scene_MenuBase.prototype.stop.call(this);
    this._commandWindow.close();
};

Scene_CarnetdeBord.prototype.createBackground = function() {
    Scene_MenuBase.prototype.createBackground.call(this);
    this.setBackgroundOpacity(128);
};

Voila suis sur qu'il manque des lignes ou bien que mes codes sont mauvais, mais je veux juste créer une nouvelle categorie " carnet de bord " et quand on clique dessus ca va sur ma map que j'ai appele carnet de detective
tonyryu
tonyryu
Membre

Nombre de messages : 895
Age : 39
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer Empty Re: Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer

le Jeu 8 Déc 2016 - 18:02
Dans un premier temps, penses bien à faire tes modifications de comportement natif, via un Plugin. Tu trouvera 2, 3 guides dans la parties adéquates du forum.

pour l'ajout de l'option visuel, il faut modifier la "classe" Window_MenuCommand, ou surchargeant la méthode correspondante à ton ajout.

Exemple ici :
https://bitbucket.org/Tonyryu/plugins-rpgmaker-mv/src/d60c83f39027ca0a6c5930dc32c450e5cb83c228/Tonyryu_Alchimie.js?at=default&fileviewer=file-view-default

regardes à partir de la ligne 689


Et pour le transfert, c'est comme ceci :

$gamePlayer.reserveTransfer(mapId, x, y, 0, 0);
Kallael
Kallael
Membre

Nombre de messages : 15
Age : 35
Localisation : Marseille
Distinction : aucune
Date d'inscription : 25/04/2015

Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer Empty Re: Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer

le Jeu 8 Déc 2016 - 18:19
Tonyryu si je comprends bien ton plug in lexemple que tu me montre cest pour ajouter la catégorie " carnet de bord " a mon menu donc, et pour la commande de transfert je dois la placer quelque part ? je remplace le mot map par le nom de la map que je veux ou aller ?

Ensuite ta premiere phrase vraiment désolé mais la cest du charabia pour moi, pourrais tu me donner les liens que je dois aller voir s\'il te plaît ?
Kallael
Kallael
Membre

Nombre de messages : 15
Age : 35
Localisation : Marseille
Distinction : aucune
Date d'inscription : 25/04/2015

Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer Empty Re: Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer

le Dim 11 Déc 2016 - 0:11
un peu d'aide s\'il vous plaît jai pas compris sa reponse
dricc
dricc
Membre

Nombre de messages : 2757
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer Empty Re: Créer une nouvelle catégorie dans le menu et la faire aller sur une map créer

le Mar 13 Déc 2016 - 10:29
La surcharge te permet de modifier une methode , d'y ajouter du code sans avoir à la recopier en entier .

un exemple du code de tonyryu justement :
Code:

  var _Scene_Menu_createCommandWindow = Scene_Menu.prototype.createCommandWindow;
On declare une variable "_Scene_Menu_createCommandWindow" qui est en rélaité un pointeur vers la procédure dans sa version précédente .

Et maintenant , on modifie "Scene_Menu.prototype.createCommandWindow" :
Code:

  Scene_Menu.prototype.createCommandWindow = function(){
    _Scene_Menu_createCommandWindow.call(this);
    if(param_dansMenu === 1)
      this._commandWindow.setHandler('alchimie', this.commandAlchimie.bind(this));
  };

Dans ce code , tu vois qu'il y a dés le début :
Code:

    _Scene_Menu_createCommandWindow.call(this);
comme ça , on n'écrase pas la procédure . On ne fait qu'ajouter du code à la suite . C'est pareil que si tu avais recopié entierement l'ancien code si tu veux . Tu vois ?

C'est pratique et en meme temps , c'est propre .
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum