-
March58™.
User deleted
Lo stadio puo' essere creato attraverso codici che possono essere scritti attraverso il blocco note (o altri editor di testo).
Ricordatevi di cambiare l' estensione da ".txt" a ".hbs", se non lo sapete fare andate su questa pagina: http://haxball.it/viewtopic.php?f=42&t=820
Per imparare dovete leggere i codici e capire il loro significato per poi modificarne i settaggi.
Ed ecco finalmente la guida tradotta e aggiornata da Teskius:SPOILER (clicca per visualizzare)/ / ************************************************ ****************
/ / Questo è un semplice stadio di HaxBall semplice pensato per essere utilizzato come un esempio.
/ / **************** ************************************************
/ / Gli stadi di HaxBall sono un oggetto JSON composto da una lista di vertici, segmenti, aree(piani/livelli), dischi(cerchi), porte(reti) e caratteristiche.
/ / Un vertice è un punto fisso e invisibile in 2d, che i dischi non possono passarci attraverso.
/ / Un segmento collega due vertici con un muro(parete). Possono essere visibili o invisibili, curvi o dritti. (Si raccomanda che i vertici connessi da un segmento abbiano le stesse proprietà fisiche in quanto, altrimenti gli angoli del segmento si comporteranno diversamente rispetto ai lati).
/ / Un area(piano/livello) definisce un confine unilaterale, gli oggetti possono stare solo su una parte dell'area(livello/piano).
/ / A disco(cerchio) definisce un disco(cerchio) fisico (Come i pali della porta, i dischi(cerchi) giocatore o la palla).
/ / Una porta(obiettivo) è un segmento definito da due punti, quando la palla passa attraverso questa linea avrai segnato un goal.
/ / Una caratteristica è una funzione opzionale che consente di evitare la ripetizione definita di proprietà che sono comuni a molti oggetti.
/ / Vertici, segmenti, aree(piani/livelli) e dischi(cerchi) condividono le seguenti proprietà:
/ / "bCoef": <numero da 0,0 a 1,0> - Definisce il coefficiente di rimbalzo.
/ / "cMask": <serie di strati di collisione>, eg: ["ball", "red", "blue"]> - Sta per maschera di collisione, definisce con quali strati questo oggetto si può scontrare.
/ / "cGroup": <serie di strati di collisione>, eg: ["ball", "red", "blue"]> - Sta per il gruppo di collisione, definisce in quale strato di collisione sta questo oggetto.
/ / "trait":. <nome di una caratteristica per eredità> - Quando questa proprietà è specificata l'oggetto erediterà le proprietà definite per la caratteristica.
/ / In aggiunta ci sono proprietà specifiche di ognuno:
/ / Vertici:
/ / "x" : <numero> - La coordinata X del vertice.
/ / "y": <numero> - La coordinata Y del vertice.
/ / Segmenti:
/ / "v0": <tutto il numero> - L'indice di un vertice per collegarsi con questo segmento.
/ / "v1": <tutto il numero> - L'indice dell'altro vertice per connettersi con questo segmento.
/ / "curve": <angolo in gradi da -350,0 a 350.0> - Quanto questo segmento si curva .
/ / "vis": <vero o falso> - Se questo segmento è visibile o meno.
/ / "color":. <colore> - Definisce il colore del segmento.
/ / Area(piano/livello):
/ / "normal": <[Numero, Numero]> - La normale (direzione vettoriale) del piano.
/ / "dist": <numero> - La distanza di <0,0>.
/ / Disco(cerchio):
/ / "radius": <numero> - Il raggio del disco(cerchio).
/ / "invMass": <numero> = 0> - L'inverso della massa, è l'oggetto più vicino a 0, cioè il più pesante. (Disco(cerchio) con 0 invMass(massa inversa) non può muoversi e agire come gli oggetti statici) .
/ / "color": <colore> - Il colore di riempimento del disco(cerchio).
/ / Obiettivo:
/ / "p0": <[Numero, Numero]> - Primo palo della porta.
/ / "P1":. <[Numero, Numero]> - Secondo palo della porta.
/ / "team": <sia "rosso" o "blu"> - La squadra che appartiene a questa porta(rete).
/ / ***********************
/ / Un altro pò di informazioni utili:
/ / *************** ********
/ / Gli strati di collisione sono definiti come serie dei seguenti righi:
. / / "ball" - Il gruppo collisione della palla.
. / / "red" - Il gruppo di collisione per i giocatori di colore rosso.
/ / " blue "- Il gruppo di collisione per i giocatori blu.
/ / "wall" - Il gruppo di collisione predefinito per tutti gli oggetti stadio.
/ / "redKO" - Un gruppo di giocatori di collisione che si scontrano solo durante il calcio d'inizio rosso. (Utile per barriere per calci d'inizio).
/ / "blueKO" - Un gruppo di giocatori di collisione che si scontrano solo durante il calcio d'inizio blu. (Utile per barriere per calci d'inizio).
/ / I colori possono essere definiti in due modi (sempre RGB):
/ / * Come una stringa hexa, ad esempio, "F7A2DD".
/ / * Come una serie di numeri da 0 a 255, per esempio: [255, 128, 0].
/ / ****************************************
/ / Qui c'è la definizione annotata(codice) dello stadio:
/ / ****************************************
{
"name ": "Semplice", / / Imposta il nome dello stadio .
"width:" 450, / / larghezza e altezza limitano solo lo scorrimento della fotocamera.
altezza "": 250,
"spawnDistance": 200, / / Imposta la distanza dalla palla dove appariranno le squadre.
"bg": {"type": "grass", "width": 400, "height": 200 "kickOffRadius",: 75, "CornerRadius": 0}, / / Imposta lo sfondo. Questa è solo la visuale, non influenza le proprietà fisiche di tutti.
/ / L'elenco dei vertici:
"vertexes": [
/ / Parte a sinistra dell'area della palla:
{"x": -400, "y": 200, "trait":" ballArea "}, / / Indice 0 - Angolo superiore.
{"x": -400, "y": 75, "trait": "ballArea"}, / / Indice 1 - Palo della porta in alto.
{" x ": -400," y ": -75,"trait":" ballArea ".}, / / Index 2 - Palo della porta in basso.
{"x": -400, "y": -200, "trait": "ballArea"}, / / Indice 3 - Angolo inferiore.
/ / Parte a destra dell'area della palla:
{"x": 400, "y": 200, "trait": "ballArea"}, / / Index 4 - Angolo superiore.
{"x": 400, "y": 75, "trait": "ballArea"}, / / Index 5 - Palo della porta in alto.
{"x": 400, "y": -75, "trait" : "ballArea"}, / / Index 6 - Palo della porta in basso.
{"x": 400, "y": -200, "trait": "ballArea"}, / / Index 7 - Angolo inferiore.
/ / Vertici coinvolti nella barriera del calcio d'inizio:
{"x": 0, "y": 250, "trait": "kickOffBarrier"}, / / Index 8 - In alto al centro.
{"x": 0, "y": 75 "trait":" kickOffBarrier "}, / / Index 9 - Cerchio superiore del kickoff.
{"x": 0, "y": -75, "trait": "kickOffBarrier"}, / / Index 10 - Cerchio inferiore del kickoff.
{"x": 0, "y": -250, "trait": "kickOffBarrier".} / / Index 11 - In basso al centro.
],
/ / L'elenco dei segmenti:
"segments": [
/ / Muri(pareti) della parte a sinistra dell'area della palla:
{"v0": 0, "v1": 1, "trait": "ballArea"}, / / Collega la parte sopra la porta con il palo superiore.
{"v0": 2, "v1": 3, " trait ":" ballArea ".}, / / Collega la parte sotto la porta con il palo inferiore.
/ / Muri(pareti) della parte a destra dell'area della palla:
{"v0": 4, "v1": 5, "trait": "ballArea"}, / / Collega la parte sopra la porta con il palo superiore.
{"v0": 6, "v1": 7, "trait": "ballArea"}, / / Collega la parte sotto la porta con il palo inferiore.
/ / Rete della porta:
{"v0": 1, "v1": 2, "trait": "goalNet"}, / / Collega la parte sinistra in alto alla parte sinistra in basso.
{"v0": 6, "v1": 5, "trait": "goalNet"}, / / Collega la parte destra in alto alla parte destra in basso.
/ / Barriere del Kickoff:
{"v0": 8, "v1": 9, "trait": "kickOffBarrier"}, / / Collega centro superiore e cerchio del kickoff.
{"v0" : 9, "v1": 10, "trait": "kickOffBarrier", "curve": 180, "cgroup": ["blueKO"]}, / / Collega cerchio Kickoff superiore e inferiore, la curva = 180 fa un mezzo cerchio .
{"v0": 9, "v1": 10, "trait": "kickOffBarrier", "curve": -180, "cgroup": ["redKO"]}, / / Collega cerchio Kickoff superiore e inferiore di nuovo, curva = -180 forma l'altra metà.
{"v0": 10, "v1": 11, "trait": "kickOffBarrier"} / / Collega inferiore al cerchio inferiore di kickoff.
],
/ / Lista di porta(rete):
"goals": [
{"p0": [-400, 75], "P1": [-400, -75], "team": "rosso"},
{"p0": [400, 75], "P1" : [400, -75], "team": "blu"}
],
/ / Lista di dischi(cerchi):
"discs": [
/ / Segnare a sinistra:
{"pos": [-400, 75], "trait": "palo"},
{"pos": [-400, -75], "trait": "palo"},
/ / Segnare a destra:
{"pos": [400, 75], "tratto": "palo" },
{"pos": [400, -75], "tratto": "palo"}
],
/ / Lista di area(piano/livello):
"planes": [
{"normal": [0, 1], "dist": -200, "trait": "ballArea"}, / / Muro(parete) superiore dell'area della palla.
{"normal": [0, -1], "dist": -200, "trait": "ballArea"}, / / Muro(parete) inferiore dell'area della palla.
/ / Rimbalzi player:
{"normal": [0, 1], "dist": -250, "bCoef": 0,1}, / / Muro superiore.
{"normal": [0, -1] , "dist": -250, "bCoef": 0,1}, / / Muro inferiore.
{"normal": [1, 0], "dist": -450, "bCoef": 0,1}, / / Muro sinistra.
{"normal": [-1, 0], "dist": -450, "bCoef": 0,1}. / / Muro destra.
],
/ / Lista di caratteristiche:
"traits": {
"ballArea": {"vis ": false," bCoef ": 1," cMask ": [" palla "]},
"palo": {"raggio": 8, "invMass": 0, "bCoef": 0,5},
"goalNet": { "vis": true, "bCoef": 0,1, "cMask": ["palla"], "curva": 110},
"kickOffBarrier": {"vis": false, "bCoef": 0,1, "cgroup": ["redKO", "blueKO"], "cMask": ["rosso", "blu"]}
}
}
L' originale si trova qui: www.haxball.com/stadiums/simplestadium_tutorial.hbs. -
Lipi™.
User deleted
Utile ma troppo complicato per me . -
kekkox.
User deleted
Quoto Sembrava più semplice... . -
Lipi™.
User deleted
Ci vogliono 30anni! .