Partagez
Aller en bas
dricc
dricc
Membre

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

Plugin pour mettre des grands charsets Empty Plugin pour mettre des grands charsets

le Sam 17 Sep 2016 - 17:27
J'ai un script court et simple à vous proposer .

Il sert à pouvoir utiliser de grandes image .
On copie son image (.png) dans le repertoires characters . Il faut que le nom du fichier commence par "="
.
Plugin pour mettre des grands charsets Script10
on peux ensuite les mettre comme image d'un evenement .

L'idée est surtout d'économiser sur la taille des images (ça evite de devoir faire un 3*4) .
Mais en fait , on peux meme faire du mapping comme ça . J'avais fait un script équivalent sur VXAce et certains l'ont utilisé pour ça .
Attention à la passabilité toutefois , il n'y a toujours qu'une case de bloquée .

Voici le contenu :
Spoiler:

//-----------------------------------------------------------------------------
// vbig_char.js
//
// add the possibility to use a single picture as image for an event .
// just start the file name with a =

/*:
* @plugindesc add the possibility to use a single picture as image for an event .
*
* @author dricc
*
* @help
*   name your png image beginning by a = . put it in "characters" folders
*/

Sprite_Character.prototype.setCharacterBitmap = function() {
   this.bitmap = ImageManager.loadCharacter(this._characterName);
   this._isBigCharacter = ImageManager.isBigCharacter(this._characterName);
   this._isVBigCharacter = ImageManager.isVBigCharacter(this._characterName);
};

Sprite_Character.prototype.patternWidth = function() {
   if (this._tileId > 0) {
       return $gameMap.tileWidth();
   } else if (this._isBigCharacter) {
       return this.bitmap.width / 3;
   } else if (this._isVBigCharacter) {
       return this.bitmap.width ;
   } else {
       return this.bitmap.width / 12;
   }
};

Sprite_Character.prototype.patternHeight = function() {
   if (this._tileId > 0) {
       return $gameMap.tileHeight();
   } else if (this._isBigCharacter) {
       return this.bitmap.height / 4;
   } else if (this._isVBigCharacter) {
       return this.bitmap.height;
   } else {
       return this.bitmap.height / 8;
   }
};

ImageManager.isVBigCharacter = function(filename) {
   var sign = filename.match(/^[\!\=]+/);
   return sign && sign[0].contains('=');
};

nommez ça comme vous voulez (vbig_char.js par exemple) . mettez-le dans le repertoire js/plugins de votre projet . Puis activez le dans rpgmaker (pas de parametres) .
Kingdommangas
Kingdommangas
Membre

Nombre de messages : 1242
Localisation : Ma tête
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

Plugin pour mettre des grands charsets Empty Re: Plugin pour mettre des grands charsets

le Sam 17 Sep 2016 - 18:28
Sympas le plugin Dricc, merci
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

Plugin pour mettre des grands charsets Empty Re: Plugin pour mettre des grands charsets

le Dim 18 Sep 2016 - 21:04
Le concept est bon, par contre, il ya quelques erreurs dans la réalisation.

En effet, tel qu'il est fait, il peut destabiliser d'autres pluggin qui surchargerait déjà les fonctions que tu as redéfinie. Il faut absolument surcharger les fonctions existantes proprement :

Code:
var _Sprite_Character_setCharacterBitmap = Sprite_Character.prototype.setCharacterBitmap;
Sprite_Character.prototype.setCharacterBitmap = function() {
  _Sprite_Character_setCharacterBitmap.call(this);
  this._isVBigCharacter = ImageManager.isVBigCharacter(this._characterName);
};

De plus le mieux est d'isoler le plugin dans une structure de fonction anonyme exécutée immédiatement, explication ici : http://sametmax.com/la-fonction-anonyme-appelee-immediatement-en-javascript-function/
Contenu sponsorisé

Plugin pour mettre des grands charsets Empty Re: Plugin pour mettre des grands charsets

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