Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //=============================================================================
- // BalloonUpgrade.js
- //=============================================================================
- /*:
- * @plugindesc Um pequeno upgrade para o balão de expressão. v1.0 para testes.
- * Feito com exclusividade como tutorial da Revista Make the RPG edição 16.
- * @author Rafael_Sol_Maker (www.condadobraveheart.com/forum)
- * @help Os comandos de plugin disponíveis são os seguintes:
- *
- * Balloon set_position x y
- * Muda a posição vertical e horizontal (x e y) do Balão de Expressão.
- *
- * Balloon set_blend_mode N
- * Muda a mistura para N. Valores de 0 à 3 (Normal, Add, Multiply e Screen).
- *
- * Balloon set_sfx ARQUIVO
- * Muda o nome do arquivo de som executado para ARQUIVO.
- *
- * Balloon set_frame_speed N
- * Muda o tempo de espera para a troca de quadros para N.
- *
- * Balloon set_final_wait N
- * Muda o tempo de espera do último quadro para N.
- *
- * @param offsetX
- * @desc Deslocamento horizontal do Balão de Expressão. Valor em tiles.
- * @default 0.25
- *
- * @param offsetY
- * @desc Deslocamento vertical do Balão de Expressão. Valor em tiles.
- * @default 0.5
- *
- * @param frameDuration
- * @desc Tempo de espera para a troca de um quadro para outro da animação.
- * @default 16
- *
- * @param finalFrameWait
- * @desc Tempo de espera adicional que a animação "segura" o quadro final.
- * @default 30
- *
- * @param blendMode
- * @desc Define o modo de mistura da imagem. Valores de 0 à 3:
- * BLEND_NORMAL = 0; BLEND_ADD = 1; BLEND_MULTIPLY= 2; BLEND_SCREEN = 3;
- * @default 0
- *
- * @param sfxFilename
- * @desc Nome do arquivo de som executado ao se chamar um balão;
- * @default
- */
- (function() {
- // As variáveis
- var parameters = PluginManager.parameters('BalloonUpgrade');
- var __anchor_x = Number(parameters['offsetX'] || 0.5);
- var __anchor_y = Number(parameters['offsetY'] || 1);
- var __blend_mode = Number(parameters['blendMode'] || 0);
- var __sfx_filename = parameters['sfxFilename'] || 'Jump1';
- var __frame_speed = Number(parameters['frameDuration'] || 8);
- var __final_wait_time = Number(parameters['finalFrameWait'] || 12);
- // Comandos de plugin para facilitar a vida
- var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
- Game_Interpreter.prototype.pluginCommand = function(command, args) {
- _Game_Interpreter_pluginCommand.call(this, command, args);
- if (command === 'Balloon') {
- switch (args[0]) {
- case 'set_position':
- __anchor_x = Number(args[1] || 0.5);
- __anchor_y = Number(args[2] || 1.0);
- break;
- case 'set_blend_mode':
- __blend_mode = Number(args[1] || 0);
- break;
- case 'set_sfx':
- console.log(__sfx_filename)
- __sfx_filename = (args[1] || 'Jump1');
- break;
- case 'set_frame_speed':
- __frame_speed = Number(args[1] || 8);
- break;
- case 'set_final_wait':
- __final_wait_time = Number(args[1] || 12);
- break;
- case 'reset_defaults':
- __anchor_x = Number(parameters['offsetX'] || 0.5);
- __anchor_y = Number(parameters['offsetY'] || 1);
- __blend_mode = Number(parameters['blendMode'] || 0);
- __sfx_filename = parameters['sfxFilename'] || 'Jump1';
- __frame_speed = Number(parameters['frameDuration'] || 8);
- __final_wait_time = Number(parameters['finalFrameWait'] || 12);
- break;
- }
- }
- };
- // Mudando nossas propriedades na medida da necessidade
- var _Sprite_Balloon_setup = Sprite_Balloon.prototype.setup;
- Sprite_Balloon.prototype.setup = function(balloonId) {
- _Sprite_Balloon_setup.call(this, balloonId);
- this.anchor.x = __anchor_x;
- this.anchor.y = __anchor_y;
- this.blendMode = __blend_mode;
- if (__sfx_filename == '') return;
- AudioManager.playSe({name: __sfx_filename, pan: 0, pitch: 100, volume: 100});
- };
- // Velocidade da animação
- Sprite_Balloon.prototype.speed = function() {
- return __frame_speed;
- };
- // Espera adicional do quadro final
- Sprite_Balloon.prototype.waitTime = function() {
- return __final_wait_time;
- };
- })(); // Não deletar!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement