MUGEN Idiots Project
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

MUGEN Idiots Project

Il MUGEN più Strampalato di sempre!
 
IndicePortaleGalleriaCercaUltime immaginiRegistratiAccedi

 

 Tutorial Programmazione Chars by Squall III

Andare in basso 
AutoreMessaggio
Squall LionHeart™
Admin
Squall LionHeart™


Numero di messaggi : 59
Età : 33
Data d'iscrizione : 23.01.08

Tutorial Programmazione Chars by Squall III Empty
MessaggioTitolo: Tutorial Programmazione Chars by Squall III   Tutorial Programmazione Chars by Squall III Icon_minitimeGio Gen 24, 2008 4:14 pm

PARTE III: Introduzione al Cns

È consigliato seguire passo passo in modo pratico le nozioni descritte nel tutorial, per una facile e rapida comprensione.

Atto I: Statedef e states

Dunque, innanzitutto è bene spiegare cos’è e a cosa serve il file .cns.
Il file cns è il file dove avviene la programmazione vera e propria, ed è composto da [Statedef].
Ogni statedef ha un numero Univoco, che permette di identificarlo.
Ad esempio:

[statedef 0] ha “0” come numero univoco, quindi semmai vorremo agganciarci a questo statedef, ora sappiamo come si chiama, quindi è possibile farlo.

Gli statedef hanno sempre numero positivo, tranne tre stati speciali, che vengono sempre controllati dal mugen, e sono:

[statedef -1]
[statedef -2]
[statedef -3]

A sua volta, ogni [statedef] è composto da degli [states], che portano lo stesso nome dello statedef cui appartengono, ma più che altro per ordine, che per reale riconoscimento. Inoltre, affianco al numero dello statedef, nello state, possiamo inserire una virgola e scrivere qualcosa per ricordarci cosa fa quello state. Es:

[state 0, Aura] tramite quella descrizione, che ha solo scopo informativo per chi legge, si ci può ricordare che è uno state riguardante l’aura, in questo caso.

Ora che abbiamo spiegato di cosa è composto il cns, possiamo passare ad analizzare la programmazione che si svolgerà al suo interno.

Atto II: Data, Size, velocity, Movement.

Dunque, la prima cosa presente in un file CNS, sono i dati “standard” che devono possedere tutti i char. Sono divisi in quattro sezioni (è utile aprire un file cns per rendersi conto di quanto spiegato qui): Data, Size, Velocity, Movement.

Analizziamole una ad una.

[Data]
life = 1400
attack = 170
defence = 170
power = 3000
fall.defence_up = 50
liedown.time = 20
airjuggle = 20
sparkno = S900
guard.sparkno = s902
KO.echo = 1
volume = 10
IntPersistIndex = 40

Dunque. I primi valori (life, attack, defence, power) si spiegano da soli: la quantità di vita che il char avrà, la forza dell’attacco, la resistenza ai colpi, quanta energia avrà per utilizzarla in supers o hypers.

Vediamo gli altri valori:

fall.defence_up = di quanto è aumentata la difesa nel momento della caduta
liedown.time = il tempo in cui il char resta disteso a terra dopo una caduta.
airjuggle = i punti “juggle” assegnati al char in aria (vedi prossimo capoverso).
sparkno = lo spark (effetto grafico) che verrà utilizzato quando si colpisce l’avversario (se omesso)
guard.sparkno = lo spark (effetto grafico) che verrà utilizzato quando si para un colpo (se omesso)
KO.echo = attiva l’eco del suono di morte.
volume = si spiega da solo Very Happy
IntPersistIndex = indica qual è la variabile di partenza per non essere azzerate durante i round.

Spieghiamo un momento cosa sono i punti juggle.
Come abbiamo visto su, a questo char sono assegnati 20 punti juggle quando è in aria. Bisogna sapere, che OGNI colpo lanciato da un giocatore “utilizza” punti juggle. Quindi, se io sto cadendo, e l’oppo mi tira dei colpi, potrà farlo fin quando la somma di tutti i punti juggle utilizzati peri suoi colpi sia minore o uguale a 20.
Per dirlo in breve, i punti juggle servono ad evitare infinite combo aeree, limitando il numero di colpi che si possono dare ad un char in caduta.

Ora passiamo alla seconda sezione: [size]

[Size]
xscale = 1
yscale = 1
ground.back = 20 ;
ground.front = 20 ;
air.back = 15 ;
air.front = 15 ;P
height = 75
attack.width = 4,4 ;
attack.dist = 20 ;
proj.attack.dist = 20
proj.doscale = 1 ;
head.pos = -2, -93
mid.pos = -2, -60
shadowoffset = 0

di questa sezione non occorre conoscere tutti i valori. La cosa che deve interessarvi è rappresentata dai primi due valori: xscale e yscale.
È la “scala” che viene data al char. Essendo settato a 1 entrambi i valori, il char è nelle sue dimensioni originali. Se ad esempio li dimezziamo entrambi, il char sarà a grandezza dimezzata.
Con questi valori si possono creare anche effetti di distorsione: mettiamo il caso (estremamente raro) che i frames che abbiamo a disposizione non rispecchiano in dimensioni il personaggio che vogliamo programmare, perché è ad esempio troppo tozzo. Con questi valori, modificandone uno soltanto (in questo caso aumentiamo la y) potremo allungare il char. Attenzione però che nell’ingrandire troppo si rischia di perdere la qualità dei frames, e di avere char pixellati.

[Velocity]
walk.fwd = 2.1
walk.back = -2.0
run.fwd = 12.3, 0
run.back = -8.0,0
jump.neu = 0,-9.8
jump.back = -2.50
jump.fwd = 2.50
runjump.back = -3.80,-9.0.1
runjump.fwd = 4.5,-11.8
airjump.neu = 0,-11.4
airjump.back = -3.00
airjump.fwd = 3.00

tramite questa sezione, sarà possibile settare la velocità di movimento di un char.

walk.fwd = 2.1
walk.back = -2.0

indicano la velocità della camminata in avanti e in indietro.

run.fwd = 8.3, 0
run.back = -6.0,0
indicano la velocità della corsa in avanti o in indietro. La virgola che separa i 2 valori tiene a sinistra l’asse x (quindi movimento orizzontale) e alla dentra l’asse y (quindi movimento verticale).

jump.neu = 0,-9.8
jump.back = -2.50
jump.fwd = 2.50
runjump.back = -3.80,-9.0.1
runjump.fwd = 4.5,-11.8
airjump.neu = 0,-11.4
airjump.back = -3.00
airjump.fwd = 3.00

questi sono i vari tipi di salti. I primi tre sono i salti da fermo (sul posto, all’indietro e in avanti).
Il quarto e il quinto sono i salti in corsa (all’indietro e in avanti).
Il sesto, settimo e ottavo indicano invece il “doppio salto” cioè il salto possibile quando già si è saltati una volta (sul posto, all’indietro e in avanti).

Vediamo l’ultima sezione.

[Movement]
airjump.num = 1
airjump.height = 0
yaccel = 0.44
stand.friction = .10
crouch.friction = .10

qui il primo valore indica il numero di salti in volo possibili dopo il primo da terra.
Gli altri valori non occorre quasi mai modificarli, l’altro importante è yaccel, che indica l’accelerazione verticale del char.

Nel prossimo tutorial insegnerò la programmazione che si svolge nel file .cns


Saluti

Squall
Torna in alto Andare in basso
 
Tutorial Programmazione Chars by Squall III
Torna in alto 
Pagina 1 di 1
 Argomenti simili
-
» Tutorial Programmazione Chars by Squall I
» Tutorial Programmazione Chars by Squall V
» Tutorial Programmazione Chars by Squall VI
» Tutorial Programmazione Chars by Squall VII
» Tutorial Programmazione Chars by Squall IV

Permessi in questa sezione del forum:Non puoi rispondere agli argomenti in questo forum.
MUGEN Idiots Project :: Altro :: Mugen-
Vai verso: