• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Script camera
#1
Ciao a tutti, ho deciso di fare un gioco 2d tipo super mario ma non riesco a far seguire il player dalla camera. Qualcuno può aiutarmi? Grazie
 
Rispondi
#2
Non devi fare altro che settare la camera in ortographic (non so se si scrive così) dopo la metti come figlio nel player e a sua volta si muoverà con il player.
Oppure devi fare uno script dove dici nel metodo Update() che transform.position = player.transform.position.
Spero di essere stato d'aiuto Smile
 
Rispondi
#3
Allora, l'ho settata in orthographic, ma come faccio a renderla figlio del player?
Edit: Ce l'ho fatta! Grazie dell'aiuto Smile
 
Rispondi
#4
Ok bella Smile
 
Rispondi
#5
Però adesso vorrei fare che saltando in testa ai nemici si sconfiggano(like super mario). Mi puoi aiutare?Angel
 
Rispondi
#6
(29-12-2014, 08:58 AM)Master Gabriel Ha scritto: Però adesso vorrei fare che saltando in testa ai nemici si sconfiggano(like super mario). Mi puoi aiutare?Angel

allora metti che se il collider del tuo "eroe" collide con il collider della testa si attiva la funzione Destroy(Gameobject).
 
Rispondi
#7
Con un nuovo script fatto da me?
 
Rispondi
#8
Ovvio che fatto date, crei uno script dove dici che se il player collide con quel preciso collider il gameObject del collider si distrugge.
Allora ecco come dovresti fare, crea un gameObject vuoto lo metti sulla testa del nemico e lo metti come figlio, dopo fai addcomponent e ci metti un box collider e lo fai molto piccolo in altezza mentre la larghezza deve essere come quella del nemico a quel collider ci aggiungi la tag tipo "EnemyHead" dopodichè nello script scrivi questo in uno script e lo attacchi al player :

void OnCollisionEnter(Collision col)
{
if(col.collider.tag == "EnemyHead")
{
Destroy(col.gameObject);
}
}

Spero di essere stato utile Smile
 
Rispondi
#9
Si può anche sapere quale è stato il punto di collisione sul nemico e verificare che se è oltre un tot (relativo al nemico stesso) lo si distrugge e assegnamo i punti...
http://docs.unity3d.com/ScriptReference/...int2D.html
 
Rispondi
#10
Ecco lo script che ho creato:
using UnityEngine;
using System.Collections;


void OnCollisionEnter(Collision col)
{
if(col.collider.tag == "EnemyHead")
{
Destroy(col.gameObject);
}
}

}

Ma mi dice: error CS0116 a namespace can only contain types and namespace declaration
e: error CS8025 parsing error
Ho sbagliato qualcosa a scrivere lo script?
 
Rispondi
#11
Mi sembra uno script un pò poverello di parecchie cose..
Ipotizzando di chiamarlo Distruggi.cs e di associarlo al player, dovrebbe uscire fuori così (ovviamente togliendo i void Update() Start() ecc..

Codice:
using UnityEngine;
using System.Collections;

public class Distruggi: MonoBehaviour
{
    void OnCollisionEnter(Collision col)
    {
        if(col.collider.tag == "EnemyHead")
        {
            Destroy(col.gameObject);
        }
    }
}
Non l'ho provato ma così dovrebbe essere scritto bene.
 
Rispondi
#12
Sì, avevo sbagliato io. Però adesso quando salto in testa al nemico il player gli rimbalza in testa per 4-5 volte e poi invece di distruggersi il nemico si distrugge il player. Come mai? Ho sbagliato di nuovo?
 
Rispondi
#13
Lo hai attaccato al player o al nemico?
 
Rispondi
#14
Infatti ahah! a sto punto bisogna capire lo script di "chi è". Big Grin
 
Rispondi
#15
Vi posto lo script che non vorrei aver sbagliato qualcosa:
using UnityEngine;
using System.Collections;

public class Distruggi: MonoBehaviour
{
void OnCollisionEnter(Collision col)
{
if(col.collider.tag == "EnemyHead")
{
Destroy(col.gameObject);
}
}
}

Ora è attaccato allo sprite del player. Non gli rimbalza più in testa ma non si distrugge nemmeno il nemico. Come devo fare?
 
Rispondi
#16
lo sprite del player ha il collider???
Il nemico ha la tag??
Il nemico ha il collider?
 
Rispondi
#17
Il player ha un collider quadrato e un collider rotondo, il nemico ha la tag EnemyHead e il collider quadrato. Ma perchè allora quando ci salto sopra fa come se fosse una superficie qualunque?
 
Rispondi
#18
1 - il player deve avere un solo collider
2 - lo script deve stare nello stesso GameObject del collider
 
Rispondi
#19
Fatto. Ma mi sa che ho capito cosa sbaglio: non ho fatto il gameObject vuoto con il collider figlio del nemico. Ma come si fa a rendere figlio un gameObject?
 
Rispondi
#20
Semplicemente lo trascini dentro al gameObject che vuoi che sia il genitore
 
Rispondi
#21
I tutorials!!! almeno guardateli a mo di figurine animate, anche se non capite cosa dicono Confused

http://unity3d.com/learn/tutorials/modules
 
Rispondi
#22
Ho reso figlio il collider, e adesso se il player va a destra il nemico va a destra, se il player va a sinistra, il nemico va a sinistra. Se salta ecc. Ma che casino sto facendo?
Edit:
Ho risolto. Ora il nemico quando ci salto in testa si distrugge. Grazie a tutti per le risposte! Per i Mod: potete chiudere, grazie.
 
Rispondi
  


Vai al forum:


Browsing: 4 Ospite(i)