Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
09 Tutorial: Gli Operatori =)

    Lomax_Iced
  • Elfo di Babbo Natale

  • Utenti
  • Rens: 28
  • 3
  • StellettaStellettaStelletta
  • 221 messaggi
  • Sesso:Maschio
  • Provenienza:Palermo
  • Abilità:Adepto

#1 Inviato 20 November 2015 - 16:09 PM

Bella gente ! Rieccomi con un nuovo tutorial.  :smile: 
Quest'oggi voglio condividere con voi tutto ciò che riguardano le operazioni logiche quali addizioni di due o più elementi.
oppure numeri calcoli e roba bella dai. Soprattutto utile quando andrete a creare un vostro battlesystem fighissimo!  :wink: 

Comunque fatta la premessa...
Iniziamo!  :cool: 

1. Aprite ST2

2. Create un nuovo plugin e nominatelo..tipo 01calcolatrice

3. Prendete il nostro vecchio plugin. 00SaltaTitle, e tagliate queste porzioni di codice:
TESTA:
 

//======================================================
/*:
 * @plugindesc 
 * Permette di saltare lo Scene_Title  
 * E di far apparire due Messaggi richiamando 2 eventi
 * @author 
 * Lomax_Iced
 *                               //Parametri-----------
 * @param Menu Iniziale?
 * @desc Questo comando consente di attivare 
 *       la possibilità di accedere al menu iniziale. 
 * @default Si
 * //---------------------------------------------------
 * @help
 * Entra nella finestra Parametro e cambia il suo valore.
 * Si. Permetti al giocatore di tornare al Menu Iniziale.
 * No. Permetti al giocatore di tornare in Mappa. 
 * Ricominciando una nuova partita.  
 */
//=======================================================

CUORE:
 

var aliasMessaggio1 = Game_Interpreter.prototype.ComandiPlugin;

PANCIA:
 

Game_Interpreter.prototype.ComandiPlugin = function(comando, parole)
{
    aliasMessaggio1.call(this, comando, parole);

    if (comando == 'Messaggio1' )
    {
       $gameMessage.add('Avvio Messaggio1')
    }
};

Ovviamente voi avrete tutto in sequenza, in un unico script. Dunque Cosa abbiamo fatto? Abbiamo separato questa funzione che sinceramente non riguarda più 00SaltaTitle. Però creiamo un nuovo script che implementa queste nostre nuove funzioni che fra poco
vi illustrerò. 
Quindi in sostanza avremo, 01Calcolatrice:
e più o meno lo script modificato così..

//======================================================
/*:
 * @plugindesc 
 * Permette di far apparire un BoxMessaggi
 * @author 
 * Lomax_Iced
 *
 * @help 
 *   
 */
//=======================================================
var aliasMessaggio1 = Game_Interpreter.prototype.pluginCommand;

Game_Interpreter.prototype.pluginCommand = function(command, args)
{
    aliasMessaggio1.call(this, command, args);

    if (command == 'Messaggio1' )
    {
       $gameMessage.add('Avvio Messaggio1')
    }
};

Vi ricordo che stiamo cercando di creare una specie di calcolatrice, quindi adattiamo il nostro oggetto 'Messaggio1', modificandone i parametri. Pertanto avremo per esempio che non si chiamerà più Messaggio1, ma lo nominiamo tipo.... Risultato
Perché così?
Perché quello che noi vorremmo che si visualizzasse in game siano i risultati delle operazioni che andremo a svolgere dentro la PANCIA del nostro plugin. Quindi premesso questo iniziamo a modificare la struttura dell'oggetto:

1. per prima cosa rinominiamo l'asias........ da aliasMessaggio1 diverrà aliasRisultato. 
Vorrei aprire una riflessione su questo costrutto alias:

Spoiler


2. Finalmente dentro la  PANCIA modificheremo il .call, ovvero il secondo alias, nominando anch'esso  aliasRisultato. 
3. All'interno della nostra condizione, rinominiamo il comando che attuerà il processo. Anche qui rinominandolo   'Risultato'
4.Modificate questa stringa:

$gameMessage.add('Avvio Messaggio1');

in questo modo:
 

$gameMessage.add(String());

E lasciate momentaneamente tutto per com'è. 
Ora, dovreste avere più o meno questa compilazione:
 

//======================================================
/*:
 * @plugindesc 
 * Permette di far apparire un BoxMessaggi
 * @author 
 * Lomax_Iced
 *
 * @help 
 *   
 */
//=======================================================
var aliasRisultato = Game_Interpreter.prototype.pluginCommand;

Game_Interpreter.prototype.pluginCommand = function(command, args)
{
    aliasRisultato.call(this, command, args);

    if (command == 'Risultato' )
    {
       $gameMessage.add(String());
    }
};

Quanto avrete ottenuto fin ora sarà il nostro nuovo Plugin che terremo in esame. Ovvero la piattaforma in cui svolgeremo le nostre Operazioni. 
. . . 
Eh..picciò! svolgiamone qualcuna dai  :cool:  :smile: 
Dunque:
In tanto si è detto che qualsiasi nostra operazione logica verrà svolta in PANCIA. pertanto, entriamo nella nostra if (condizione)
più precisamente entro le parentesi graffe e appena sopra questa stringa:      $gameMessage.add(String())
inseriamo queste due dichiarazioni:

var PrimoNumero       = 6;
var SecondoNumero  = PrimoNumero + 6;


Avremo ottenuto questo:
 

if (command == 'Risultato' )
    {
       var PrimoNumero     = 6
       var SecondoNumero   = PrimoNumero + 6
       $gameMessage.add(String())
    }

Adesso dentro la dichiarazione    $gameMessage.add(String())  inserite questa informazione:

$gameMessage.add(String(SecondoNumero))

Salvate e andate a verificare cosa avete prodotto all'interno del vostro progetto Rpg Maker Mv. 
Ricordatevi però che prima dovrete:

1. Andare in Rpg Maker Mv
2. Attivare il nuovo Plugin (in gestione Plugin).
3. Entrare dentro l'evento che avevate creato precedentemente e modificate il comando Plugin:
   sostituendo 'Messaggio1' con Risultato. 
4. Salvate il tutto e avviate il tester. 

E come vedete, vi apparirà il risultato!  :cool: 

Vi faccio vedere una cosa (un erroruccio) che io ho fatto inizialmente, perché vi spiego, come Kid di Soul Eater sono amante della simmetria e avevo trascritto tutto in questo modo:
FORMA SBAGLIATA:
 



    if (command == 'Risultato' )
    {
       var PrimoNumero   = 6
       var SecondoNumero = PrimoNumero + 6
       $gameMessage.add(String(SecondoNumero))
    }

Notate gli 'uguale' dentro le dichiarazioni var? Sono tutti belli allineati. Benissimo, non fatelo.  :sleep:  :mellow:  :tongue: 
Perché in questo modo si visualizzerà la finestra ma senza alcun dato. (senza contenuto intendo)
Invece la forma CORRETTA sarà la seguente: 
 

var aliasRisultato = Game_Interpreter.prototype.pluginCommand;

Game_Interpreter.prototype.pluginCommand = function(command, args)
{
    aliasRisultato.call(this, command, args);

    if (command == 'Risultato' )
    {
       var PrimoNumero = 6
       var SecondoNumero = PrimoNumero + 6
       $gameMessage.add(String(SecondoNumero))
    }
};

Sbizzarritevi, divertitevi, vi ho aperto un mondo. Fate tutte le operazioni che volete. Io per ora stoppo qui.. E noi ci rileggiamo dopo 
Al prossimo tutorial!  :smile: 
GLI OPERATORI A DISPOSIZIONE SONO I SEGUENTI:
 

 OPERATORI MATEMATICI:
 +     //      addizione    es:   1 + x
 -     //    sottrazione    es:   x - 1
 *     //moltiplicazione    es:   5 * x
 /     //      divisione    es:   8 / y
 %     //          resto    es:   7 % 2

OPERATORI ARITMETICI:

 -   //     negazione       es:   var x = -2
 ++  //    incremento       es:   var z = ++5
 --  //    decremento       es:   var w = --z
OPERATORI RELAZIONALI:

 >    //        Maggiore    es:   5 > 3
 >=   // Maggiore uguale    es:   x >= 3
 <    //          Minore    es:   3 < 5
 <=   //   Minore uguale    es:   y <= 5
 ==   //          uguale    es:   10 == 5 + 5
 !=   //         diverso    es:   8 != x
 ===  //        Identico    es:   10 === 10
 !==  //      Differente    es:   66 !== 99

OPERATORI LOGICI:

 &&   //     and    es:   x = (x >= 3) && (x <= 2)
 ||   //      or    es:   x = 4 || (2 + 2)
  !   //     not    es:   !2==2

Poi ce ne sarebbero altri di più complessi. 

Ma preferisco approfondire tutto nel prossimo tutorial. Ciaoo  :smile:


Modificato da Lomax_Iced, 20 November 2015 - 16:45 PM.





  • Feed RSS