Apparire in una posizione casuale compresa in un'area stabilita da me Più difficile...
#21
Inviato 18 June 2008 - 23:55
Comunque, con un po' di pratica vedi che è molto più facile di quello che pensi (e a volte puoi risparmiare del codice :rulez: )
EDIT.
Quoto quanto detto da PATOS (vedi risposta in pagina precedente).
Per Patos: tu però eri stato escluso, proprio perché dalla formula di quel topic (che avevo capito avesse a che fare con la fisica, ma non me la ricordavo) avevo capito che con le tue conoscenze fisiche/matematiche eri troppo avvantaggiato :rotfl:
#22
Inviato 18 June 2008 - 23:59
Però, è sempre buono imparare cose nuove, e queste nozioni mi potranno sicuramente essere utili in futuro :D
Saluti
Squall
#23
Inviato 19 June 2008 - 00:03
Sarà forse perché sono pigro, ma cerco sempre di ottimizzare il codice scrivendo il meno possibile (non sempre ci riesco, però).
#24
Inviato 19 June 2008 - 00:05
PaToS, su Jun 19 2008, 00:55, detto:
Poi magari qualcuno mi smonta usando uno state che non conosco bene, ma vabbè!! E' bello anche questo!
PS: volevo partecipare anch'io ma ho visto ora la discussione!!
PSS: però sarei partito avvantaggiato, sapevo già del %! :rotfl: :rotfl:
Eh si, oggi ho capito che in alcune espressioni è davvero essenziale. Il prossimo anno, ahimè, proverò a farci pace...
Comunque ho letto la discussione, ed effettivamente credo ci sia una soluzione più semplice di quella proposta da te (come ad esempio il comando Gravity, per modificare la gravità se non ricordo male, potrebbe pur funzionare). Ma forse la tua era più pulita, anche se inconcepibile per me :P
#25
Inviato 19 June 2008 - 00:19
Quella non è una formula di quelle pronte, ho dovuto fare un po' di calcolini per arrivarci!! :lol: :lol:
Per Menjo:
Il problema in quella discussione è che lui voleva settare la durata della caduta dell'avversario, cosa che non mi sembra sia possibile.
Una soluzione più semplice forse era di aggiustare le velocità e le accelerazioni per far cadere il personaggio dopo un certo tempo, ma in questo modo ho 2 vantaggi:
1. Nel caso volessi cambiare la durata in corso di programmazione, mi basta cambiare il valore di una variabile!
2. Dovrebbe valere da qualsiasi posizione, nel caso sia una mossa che possa colpire anche in aria.
#26
Inviato 19 June 2008 - 07:12
Comunque, Patos, non mi vergogno di dire che io al tuo posto non sarei mai arrivato ad una formula del genere... probabilmente ho troppi pochi ricordi di fisica, chissà. 0:)
Non mi sono sbagliato quando ho detto che il tuo livello è sorprendente... per certi versi hai già superato abbondantemente il mio livello (quello che teoricamente ti potrebbe solo mancare, essendo agli inizi, è un poco di conoscenza specifica, ma non mi stupirei se ormai avessi già raggiunto una piena padronanza della programmazione Mugen). Credo che la tua genialità potrebbe superare perfino quella di Slay (una delle persone a cui ho visto imparare il Mugen e padroneggiarlo con una velocità paurosa).
PS non mi vergogno nemmeno di ammettere che io avrei fatto come Menjo :P o meglio, quando con KingLion ho dovuto calcolare il ritorno esatto in caduta (sulla hyper dei colpi consecutivi che terminano con un lancio in aria ed un pugno finale "energico" che piglia il personaggio al volo mentre sta cadendo) mi sono limitato a giocare sui parametri yaccel e velocity dell'Hitdef dell'uppercut che lancia in aria, fino a raggiungere "a tentativi" (in due tentativi... ho avuto abbastanza occhio e fortuna :lol: ) le accelerazioni giuste.
#27
Inviato 21 June 2008 - 21:46
Ma posto quì perchè vorrei un aiutino con una espressione (e questa volta PaToS potrà rispondere se vorrà :P).
In questo trigger, vorrei che il valore numerico 10 aumentasse in proporzione alla distanza (ma leggermente). Avevo fatto qualcosa del genere in fisica (mi pare con le leve), però non saprei bene come farla quì... dritte? :unsure:
trigger1 = p2dist y >= -10
#28
Inviato 21 June 2008 - 21:52
Tu vuoi un espressione che sia:
10 + aumento
E vuoi che l'aumento sia proporzionale alla distanza.... giusto??
Ma in che proporzione??
#29
Inviato 21 June 2008 - 21:56
Ora non saprei di quanto... proviamo con un aumento di 0.1 graduale?
#30
Inviato 21 June 2008 - 22:02
facciamo un esempio con time
trigger1 = time = (10 + 0.1*(p2Dist X))
Questo dovrebbe andare.
#31
Inviato 21 June 2008 - 22:15
Grazie mille! Se ho problemi e non ne vengo a capo scrivo di nuovo :rulez:
#32
Inviato 22 June 2008 - 00:05
p2Dist calcola la distanza rispetto agli assi dei giocatori (che generalmente si trovano al centro della figura sui piedi). Calcola quindi la distanza matematica degli assi.
p2BodyDist calcola la distanza rispetto alle estremità dei clsn2 boxes (quindi calcola la distanza "corporea" e non la distanza meramente "matematica).
Per calcolare la distanza, a seconda dei casi, può essere più indicato o l'uno o l'altro.
PS: Ma che bello sapere che ci sono degli utenti che non fanno sentire la mia mancanza... :rotfl:
#33
Inviato 22 June 2008 - 01:23
mannaggia, se oggi non avessi avuto da suonare x il dannato gruppo, avrei tentato con piacere di creare quell'espressione...vabbè, sarà x la prossima volta asd XD
Bravo Patos, x queste cose sappiamo a chi rivolgerci, alloraXD (anche se preferirei riuscirci da me, è una sensazione stupenda quando si riesce in qualcosa di molto difficile o mai fatto, con le sole proprie forze XD sarò narcisista, ma mi sento bene dopo XD)
Saluti
Squall
#34
Inviato 22 June 2008 - 01:27
Nobun, su Jun 22 2008, 01:05, detto:
Sei sicuro che sia la dstanta tra i Clsn2 boxes??
Io credevo fosse quella tra i corpi dei giocatori sì, ma non i corpi dati dai Clsn box, bensì i corpi individuati dai valori width e heigh nella prima parte del CNS.
Mi spiego, se io ho un valore width di 60, e mettendo caso che il simbolo - valga 10 e il simbolo | sia l'asse del personaggio, questo avrà una larghezza così rappresentabile
---|--- ---|---
Lo spazio sarebbe la distanza tra i due, la p2bodydist X.
O almeno io credevo questo....
#35
Inviato 22 June 2008 - 01:29
Io credo che a Menjo non venisse solo perchè deve farci ancora pace!! :rotfl: :rotfl: :rotfl:
Se la insegnassero insieme al mugen molti l'adorerebbero!!!
EDIT
Sono andato dal mio amico docs.
Allora p2bodydist funziona più o meno come avevo detto, solo che nel size non c'è la costante width, ma la front.width e la back.width (presumo... non ho voglia di andare a controllare)
Diciamo così, noi possiamo settare la larghezza del personaggio tramite 2 costanti: una che rappresenta la parte dall'asse verso dietro, l'altra dall'asse verso avanti.
p2BodyDist x calcola la distanza tra gli estremi dei due personaggi. Ora dal docs non capisco se calcola la distanza tra quelli più vicini, oppure tra quelli anteriori. Se i personaggi si guardano in faccia non cambia nulla, ma se uno è girato dall'altra parte....
ho provato a fare un disegnino ma non viene!!
Comunque secondo me sarebbe più sensato tra gli estremi più vicini dei due personaggi.
#36
Inviato 22 June 2008 - 15:27
Per quanto riguarda PaTos. Ora, io non ti so dire con precisione se le cose stanno detto come hai detto tu o meno. Quello che posso dire è che, facendo debug mentre creavo Mugen, mi è capitato di notare empiriticamente che p2BodyDist calcolasse la distanza tra i clsn2boxes (ovviamente quando c'erano dei clsn2 attivi), o almeno così mi è sembrato... ma mi posso sbagliare. Grazie per l'appunto.
Nuovi quiz? Va bhe se ho tempo ci penserò. :rulez:
Potrei ristudiare (se ho tempo) un problema che volevo sottoporre come concorso di programmazione CNS per Esperti (dopo aver fatto uno destinato ai principianti). L'idea della domanda da porre ce l'ho già da tempo, il problema è che temo di dover ricreare il codice campione della soluzione perché non so se trovo ciò che avevo fatto... per la cronaca l'avevo fatto in un paio di giorni (o forse più, perché è un pochino lunghetto il codice da produrre per programmare quel tipo di effetto), ed aveva ancora qualche imperfezione da sistemare.
Intanto vi posso fare questa domanda al volo... facile facile (ma non di immediata risposta :P)... questa è una cosa che anticipa il mio prossimo tutorial (che scriverò appena ho tempo) per i programmatori più "avanzati" (per fare qualcosa anche per chi le cose semplici già le sa :P)
se io scrivo
[State X, y]
type = VarSet
v = 0
value = (movetype = S)
trigger1 = time = 0
che valore può assumere value? (tralasciamo per ora l'ovvia inutilità di questo codice, è solo perché è la prima cosa che mi è venuta in mente).
Ps rispondete con l'opzione SPOILER ( [ spoiler ] [ / spoiler ] ) così che possiate rispondere tutti e 4 senza condizionarvi a vicenda :P
#37
Inviato 22 June 2008 - 15:47
Direi che è abbastanza!
Ma si legge lo stesso?? Se sì scusate, ma non sono pratico di comandi nei forum!!
Può assumere i valori 0 oppure 1.
= 0 se il movetype è diverso da S
= 1 se il movetype è uguale a S
I trigger, nella forma diciamo completa, possono assumere solo i valori 1 o 0, a seconda se quello che ho scritto è rispettivamente vero o falso.
Come forma completa intendo che ci devono essere
il nome del trigger (in questo caso movetype)
l'operatore matematico (in questo caso =)
la stringa, l'espressione o il valore a seconda dei casi (in questo caso S)
Voglio quello avanzato!! ihih :lol: :lol: :wow: :wow: :rulez:
#38
Inviato 22 June 2008 - 16:12
Invito gli altri a non barare :rotfl:
Per patos:
E' quella che si chiama la "natura booleana" dei trigger. Poi comunque la spiegherò meglio :P
#39
Inviato 22 June 2008 - 16:24
Beh, è alquanto semplice :D la variabile può assumere i valori 1 e 0.
1 se il movetype = S
0 se non lo è XD
attendo la quest + difficile XD
Saluti
Squall
#40
Inviato 22 June 2008 - 17:36
PaToS, su Jun 22 2008, 02:29, detto:
Io credo che a Menjo non venisse solo perchè deve farci ancora pace!! :rotfl: :rotfl: :rotfl:
Se la insegnassero insieme al mugen molti l'adorerebbero!!!
Ma sì, infatti non era difficile, ma il punto è sempre quello: le espressioni. Non sapevo come formularla (come a scuola: anche se capisco le cose, non so metterle in atto quando si parla di matematica). Ma comunque penso che, come ho imparato tutto il resto, a forza di averci a che fare, imparerò anche questo a suo tempo.
Per rispondere al quiz... se scrivo una cosa così:
[State X, y]
type = VarSet
trigger1 = time = 0
v = 0
value = (movetype = S)
Movetype = S significa che sta fermo, però non so come precisamente possa dare un value... proprio per provarci (ma probabilmente sbaglio):
I valori possono essere 1 e 0 in questo caso.
Quando movetype = S, ovvero char fermo, è 1. Quando non lo è, value = 0.
EDIT:
Nobunazzo, detto:
Mama... siamo 3 XD Intendi che deve partecipare pure Verzo?

Aiuto










