Fifa&Pes Forum{ Calcio ~ Pes, Fifa & Fm ~ Grafica ~ Streaming ~ GDR ~ E tanto altro... }

[Guida] Creare stadi Haxball

by Teskius

« Older   Newer »
 
  Share  
.
  1. March58™
        +1   -1
     
    .

    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:

    / / ************************************************ ****************
    / / 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
     
    Top
    .
  2. Lipi™
        +1   -1
     
    .

    User deleted


    Utile ma troppo complicato per me :asd:
     
    Top
    .
  3. kekkox
        +1   -1
     
    .

    User deleted


    Quoto :sisi: Sembrava più semplice...
     
    Top
    .
  4. Lipi™
        +1   -1
     
    .

    User deleted


    Ci vogliono 30anni!
     
    Top
    .
3 replies since 22/12/2011, 16:07   749 views
  Share  
.