Partagez
Aller en bas
avatar
Kallael
Membre

Nombre de messages : 15
Age : 34
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

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
avatar
tonyryu
Membre

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

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);
avatar
Kallael
Membre

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

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 ?
avatar
Kallael
Membre

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

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
avatar
dricc
Membre

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

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 .
Contenu sponsorisé

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

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum