Unity 3D creare gioco simile flappy bird con unity

Stato
Discussione chiusa ad ulteriori risposte.

alessandro2003

Utente Bronze
20 Marzo 2015
28
17
0
48
Salve,sto creando un gioco simile flappy bird con unity, ma c'è un problema con uno script:
ho usato questo codice per far saltare l' uccellino,ma non funziona sapete come è quello giusto? Grazie

if(Input.anyKeyDown) {
gameObject.rigidbody.AddForce(Vector3.up * 50);
 
Ciao il comando che stai usando richiede che l'oggetto che vuoi muovere abbia la componente rigidbody (3d). Controlla se hai messo rigidbody2d o rigidbody.
Nel caso sia il primo (quello piu adatto a giochi 2d) devi modificare il tuo codice cosi:
Codice:
if(Input.anyKeyDown) {
Vector2 velocita = new Vector2(0,10) // i valori sono arbritrari
        gameObject.Getcomponet<Rigidbody2D>().AddForce(velocita); // in alternativa a AddForce puoi usare gameObject.Getcomponet<Rigidbody2D>().velocity = velocita;
altrimenti se vuoi mantenere rigidbody
Codice:
if(Input.anyKeyDown) {
        gameObject.Getcomponet<Rigidbody>().AddForce(Vector3.up * 50);

I codici non li ho testati quindi e' possibile che ci sia qualche errorino xD
 
non funziona mi dà un errore alla frase Getcomponet<rigidbody>


Il tuo oggetto ha un rigidbody o un rigidbody2d? Ah attento che rigidbody va scritto maiuscolo. Se non riesce a trovarlo prova a mettere this. davanti a gameobject. E un altra cosa necessaria sono le tonde dopo getcomponent <rigidbody>()
 
if (Input.anyKeyDown)
{
gameObject.Getcomponet<Rigidbody>().AddForce(Vector3.up * 50);
è così lo script giusto?
ho provato anche a mettere this davanti a gameObject ma non funziona

- - - Updated - - -

ho fatto delle prove e ci sono riuscito,m lo script funzionante è questo:

if (Input.anyKeyDown)
{
this.gameObject.GetComponentInChildren<Rigidbody>().AddForce(Vector3.up * 50);

- - - Updated - - -

comunque grazie
 
Stato
Discussione chiusa ad ulteriori risposte.