- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- espressione incomprensibile
-
espressione incomprensibile
Sono alle prese con la guida che spiega come creare game tile based, ma arrivato alla funzione (getMyCorners) non riesco a capire il senso di questa espressione:
ob.upleft = game["t_"+ob.upY+""+ob.leftX].walkable;
e soprattutto a cosa servono i caratteri "t" e "_"
Spero in un vostro aiuto.Riporto la funzione al completo
function getMyCorners(x, y, ob) {
// find corner points
ob.downY = Math.floor((y+ob.height-1)/game.tileH);
ob.upY = Math.floor((y-ob.height)/game.tileH);
ob.leftX = Math.floor((x-ob.width)/game.tileW);
ob.rightX = Math.floor((x+ob.width-1)/game.tileW);
// check if they are walls
ob.upleft = game["t_"+ob.upY+""+ob.leftX].walkable;
ob.downleft = game["t"+ob.downY+""+ob.leftX].walkable;
ob.upright = game["t"+ob.upY+""+ob.rightX].walkable;
ob.downright = game["t"+ob.downY+"_"+ob.rightX].walkable;
}
-
Premetto che è da poco che uso ActionScript però leggendo il codice mi sembrerebbe una funzione che serve a localizzare la posizione di un oggetto dentro un altro per verificare se questo va o no a toccare contro questo o meno.
L'espressione da te postata assegna ad una variabile i valori delle coordinate che indicano il lato sinistro dell'oggetto, credo si tratti dello stage del gioco in cui si muove l'azione. Il codice preleva prima la posione dell'oggetto floor e poi il margine contro i quali si può muovere. Per esempio se le coordinate del lato sinistro dell'oggetto coincidono con quelle del lato sinistro dello stage allora significa che i due oggetti si toccano.
Potei anche sbagliarmi ma a me sembra qualcosa di simile.
-
Ti ringrazio per avermi chiarito i dubbi che avevo su tale funzione.
Volevo inoltre chiederti se riesci a spiegarmi la sintassi dell'espressione:
ob.upleft = game["t_"+ob.upY+""+ob.leftX].walkable;
in particolare a cosa servono i caratteri "t" e "_" e il segno + messo davanti e dietro a ob.upY
-
Ciao
In questa riga:
ob.upleft = game["t_"+ob.upY+""+ob.leftX].walkable;
assegna un valore alla proprietà upleft di ob ( che non si capisce cosa sia , se una MovieClip o un Object ) .
i caratteri t e _ servono per concatenare una stringa e recuperare un oggetto tramite nome. Per di più recupera la proprietà walkable di quell' oggetto.Tutto il resto è codice obdoleto ( Actionscript 1.0 ) , per cui se proprio stai imparando ti consiglio vivamente di imparare una versione più evoluta di quella e vedrai che avrai anche molte meno difficoltà a capire il codice in quanto le versioni più evolute seguono i canoni di ECMA.
-
Grazie ora mi è più chiaro.
Per il codice ne terrò conto.... il problema è che nella guida che sto seguendo per fare il mio piccolo game con il metodo delle tile il codice è scritto con AS 1.0. Ma alla fine cambia molto rispetto alle versioni più aggiornate?
-
Si, da as1 ad as3 c'è il mondo in mezzo