Creare Videogiochi - Game Developer
Script camera - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia)
+--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D)
+--- Discussione: Script camera (/thread-Script-camera)



Script camera - Master Gabriel - 27-12-2014

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


RE: Script camera - Blackg96 - 27-12-2014

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


RE: Script camera - Master Gabriel - 28-12-2014

Allora, l'ho settata in orthographic, ma come faccio a renderla figlio del player?
Edit: Ce l'ho fatta! Grazie dell'aiuto Smile


RE: Script camera - Blackg96 - 28-12-2014

Ok bella Smile


RE: Script camera - Master Gabriel - 29-12-2014

Però adesso vorrei fare che saltando in testa ai nemici si sconfiggano(like super mario). Mi puoi aiutare?Angel


RE: Script camera - alessiobb3b - 29-12-2014

(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).


RE: Script camera - Master Gabriel - 29-12-2014

Con un nuovo script fatto da me?


RE: Script camera - Blackg96 - 29-12-2014

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


RE: Script camera - Chip - 29-12-2014

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/ContactPoint2D.html


RE: Script camera - Master Gabriel - 30-12-2014

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?


RE: Script camera - Chip - 30-12-2014

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.


RE: Script camera - Master Gabriel - 31-12-2014

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?


RE: Script camera - Blackg96 - 31-12-2014

Lo hai attaccato al player o al nemico?


RE: Script camera - Chip - 31-12-2014

Infatti ahah! a sto punto bisogna capire lo script di "chi è". Big Grin


RE: Script camera - Master Gabriel - 01-01-2015

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?


RE: Script camera - Blackg96 - 01-01-2015

lo sprite del player ha il collider???
Il nemico ha la tag??
Il nemico ha il collider?


RE: Script camera - Master Gabriel - 02-01-2015

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?


RE: Script camera - Blackg96 - 02-01-2015

1 - il player deve avere un solo collider
2 - lo script deve stare nello stesso GameObject del collider


RE: Script camera - Master Gabriel - 03-01-2015

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?


RE: Script camera - Blackg96 - 03-01-2015

Semplicemente lo trascini dentro al gameObject che vuoi che sia il genitore


RE: Script camera - Chip - 03-01-2015

I tutorials!!! almeno guardateli a mo di figurine animate, anche se non capite cosa dicono Confused

http://unity3d.com/learn/tutorials/modules


RE: Script camera - Master Gabriel - 04-01-2015

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.