Usuari/a: -- Sortir --

JOC PLATAFORMES 2D

CARREGAR L'ESCENA

  • Un cop tens descarregats i importats els assets busques la escena que te don el asset feta que es diu demo i la arrastres a la jerarquia.
  • Pots borrar la escena SampleScene per tenir només la escena en que treballarem.
  • TILE PALETTE

    Obrirem la Tile Palette per crear les plataformes de manera més ràpida.

    Li donarem a create new palette i creare una carpeta que es dirà Tiles a assets i li donarem seleccionar carpeta.

    Busquem els tiles de tamany 256x256.

    Els seleccionem tots i els arrastrem a la Tile Palette.

    Ens dirà a quina carpeta volem posar els tiles i anem a la carpeta que em creat abans que es deia Tiles i li donem seleccionar carpeta.

    A la jerarquia tindrem que crear un TileMap per poder seleccionar-lo a la TilePalette.

    Clicant el pinzell de la TilePalette i triant el tipus de terreny que volem crear ja podrem fer plataformes directament a la Escena.

    ANIMACIONS

    Obrirem les dos Finestres, animation i animator.

    Buscarem la animació de iddle i li donarem la opció de multiple i li donarem Sprite Editor.

    Li donarem a slice perquè ens retalli cada part de la animació automàticament.

    Aply.

    Selecciones totes les parts de l'animacio que li has fet l'slice abans i l’arrastres a jerarquía.

    Crees una carpeta a Assets que es digui animacions

  • Abrir.
  • Guardar.
  • Ara farem la part de el Slice amb la animació de Run i Jump.

    A la finestra de Animation crearem una nova animació i la guardarem a la carpeta de animacions que em creat abans posant-li el nom corresponent (jump o run).

    Seleccionarem totes les parts de la animació que las tindrem a la finestra de projecte i les arrastrem cap a la finestra de animation.

    Farem el mateix amb la animació que ens queda.

    Anirem a la finestra de Animator i farem les transicions fins que quedi com la imatge.

    Crearem un Paràmetre Int i li posarem de nom Status.

    Clicant la fletxa de Iddle a Jump posarem les opcions de l’inspector igual que la foto.

    Ara farem el mateix amb les altres fotos però variant el numero marcat de la següent manera:

  • De Iddle a Run: 1
  • De Jump a Iddle : 0
  • De Jump a Run: 1
  • De Run a Iddle: 0
  • De Run a Jump: 2
  • MOVIMENT DEL JUGADOR

    A la carpeta Assets crearem una carpeta que es digui Scripts.

    Dins de aquesta carpeta crearem un Script que es digui: PlayerController.

    Inicialitzem 3 variables, dos privades i una publica.

  • Posem el rb a el start.
  • Al update farem que al clicar la tecla j o l el personatge tingui la velocitat positiva o negativa i en el cas de deixar anar la tecla que sigui 0.
  • Per que el personatge salti crearem dos variables més, una boolean i l’altre un float

  • Al start farem que el boolean sigui false.
  • Al update posarem un nou if amb la lletra i.
  • Crearem una funció amb un vector 3.
  • Ara li associarem les animacions a els moviments creats prèviament

  • Crearem aquestes dos variables.
  • Al start posarem l’animator i el facingRight a true.
  • A la funció de MovePlayer li posarem aquests dos if per la animació del salt.
  • Crearem aquestes dos funcions que la primera servirà per que quan toqui el terra torni a la animació de Iddle i la segona per girar el personatge cada cop que anem endavant o enrere.

    Al update cridarem aquestes dos funcions i en el if de el salt li posarem això per la animació.

    Per comprovar que funcioni associarem el script al player i li posarem a Speed X 9 i a Speed Y 300.

    Crearem un Empty a la jerarquia que li posarem un box collider 2d per que el player no caigui i tingui una superfície per poder caminar.

    Crearem un tag al Empty que em creat que es dirà terra.

    ATAC DEL JUGADOR

    Crearem un Empty a la jerarquia anomenat FirePos i li posarem la forma rodona petita del color que vulguem.

    L’associarem al player arrastrant-lo a la jerarquia.

    Posarem el FirePos devant del player vigilant que no toqui amb el box collider.

    Crearem una carpeta que es digui Prefabs.

    Crearem dos Emptys, els hi posarem la forma de abans, els hi direm RightBullet i LeftBullet i els arrastrarem a la carpeta de prefabs.

    Crearem un Script que es digui Bullet

  • Crearem dos variables speed que serà un Vector2 i rb un RigidBody2d.
  • El rb.velocity l’igualarem a la speed.
  • Als dos prefabs els hi posarem un RigidBody2D, un Circle Collider 2D i el script de Bullet. Al RightBullet li posarem una Speed de 7 i al LeftBullet una Speed de -7 .

    Ara crearem un altres Script que es dirà Destroy.

    Crearem una variable publica per posar el temps que volem que es destrueixi la bala i al update farem que es destrueixi el gameObject amb el temps de la variable delay.

    Associarem el script a els dos prefabs i els hi posarem un Delay de 1.5 .

    Al script de PlayerController li afegirem aquestes variable.

    Crearem aquesta la funció Fire que la cridarem al update amb un if.

    Arrastrarem els dos prefabs a les variables publiques de el script a on corresponguin.

    Per últim en el Body Type li posarem Kinematic als dos prefabs rightBullet i leftBullet.