Creare Videogiochi - Game Developer
Problema script health bar per gioco 2D - 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: Problema script health bar per gioco 2D (/thread-Problema-script-health-bar-per-gioco-2D)



Problema script health bar per gioco 2D - Master Gabriel - 26-01-2015

Ciao ragazzi, sono di nuovo io.Big Grin Creando il mio Cool Bellissimo Cool gioco 2d, sono arrivato al punto di dover fare una health bar(cioè una barra dell'energia). Mi sono andato a vedere qualche tutorial, ho composto lo script con un'attenzione che nemmeno vi immaginate e lo script come mi ringrazia? Huh Dicendo:
NullReferenceException: Object reference is not set to an instance of an object
HealthBar.OnCollisionEnter2D(UnityEngine.Collision2D col) (at Assets/HealthBar.cs:17). Avete capito che maleducato? Perchè fa così? Io che gli dedicato così tanta attenzione... Dodgy Ve lo posto qui sotto così magari ci capite un pò di più. Smile Se poi mi aiutate, sarò veramente felice! Big Grin Grazie in anticipo

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class HealthBar: MonoBehaviour
{

void OnCollisionEnter2D(Collision2D col)
{

if (col.collider.tag == "Enemy") {
Destroy (col.gameObject);
}

if (col.collider.tag == "Enemy") {
Image image = GetComponent<Image>();
image.fillAmount = .3f;
}

}
}


RE: Script del cavolo! - Blackg96 - 26-01-2015

Usi unity 5?


RE: Script del cavolo! - Snaptrex - 26-01-2015

Prova a sostituire col.collider.tag con col.gameObject.tag inoltre metti tutte le istruzioni in un solo if, creare 2 if identici è una cosa totalmente inutile.


RE: Script del cavolo! - Blackg96 - 26-01-2015

Oppure prova a fare col.GetComponent<Collider>().tag


RE: Problema script health bar per gioco 2D - Master Gabriel - 27-01-2015

Allora, vi spiego la situazione. Io per fare la health bar ho creato un canvas, ho creato un image, cioè la nostra health bar, poi ho creato lo script che funziona in questo modo: quando il player tocca l'enemy, cioè il nemico, il nemico si distrugge MA la health bar diminuisce. Per provare a svuotare la health bar prima di metterla nel gioco, ho messo lo script nella bar (ovviamente tolto l'if e il col.collider.tag)e funzionò benissimo. L'image venne richiamata, la barra diminuì e vissero tutti felici e contenti. Ma quando metto lo script sul player e ci aggiungo il col.collider.tag(o il col.gameObject.tag, è uguale) e tutto il resto, mi dà l'errore! Non capisco perchè, forse non si può richiamare un component al di fuori del gameObject di dove si trova lo script? Comunque, io uso Unity 4, il 5 non lo trovo o forse è a pagamento. Ho provato a cambiare il col.collider.tag in col.gameObject.tag ma non cambia niente. Aspettate, mi sono dimenticato di dirlo prima: lo script non è che non funziona, ma quando tocco il nemico quello si distrugge e basta, e la barra non diminuisce. E' a quel punto che salta fuori l'errore di prima. Spero di essere stato un pò più chiaro. Grazie per le risposte


RE: Problema script health bar per gioco 2D - Blackg96 - 27-01-2015

Ma lol se lo avessi detto prima ahaha vabbè comunque tu hai fatto 2 if prova a mettere che la barra diminuisce nella prima if


RE: Problema script health bar per gioco 2D - friskon - 27-01-2015

Master Gabriel scrivi se hai risolto...


RE: Problema script health bar per gioco 2D - Master Gabriel - 28-01-2015

No, non ho risolto, stavo ringraziando per le risposte precedenti. Ho finalmente trovato il download di unity 5, solo che mi ha dato un'errore nell'installazione Angry e adesso unity 4 dice che tutti gli script non funzionano Dodgy . Quindi prima mi metto a posto unity 4 e poi vi saprò dire se ho risolto. Scusatemi ma è una lavorata pazzesca rifare tutti gli script, quindi ci vorrà un filino di tempo...


RE: Problema script health bar per gioco 2D - Blackg96 - 28-01-2015

Lol


RE: Problema script health bar per gioco 2D - Master Gabriel - 28-01-2015

Lol?!? Io che devo rifarmi tutti gli script e tu mi dici Lol?!? Bah!(imitando i vecchietti d'oggigiorno) I giovani d'oggi! Ai miei tempi, ai miei tempi... Ehi ma aspetta io ho 14 anni! I miei tempi sono questi! Mi sa che ho sbagliato qualcosa... Comunque! Io ora sono bloccato con gli script e unity 5 non ne vuol sapere di scaricarsi! Vabbè se c'è qualche novità ve lo faccio sapere... Smile


RE: Problema script health bar per gioco 2D - Blackg96 - 28-01-2015

LoL


RE: Problema script health bar per gioco 2D - springofdajuwn - 28-01-2015

Combo LoL x2


RE: Problema script health bar per gioco 2D - Blackg96 - 28-01-2015

ahahah Smile


RE: Problema script health bar per gioco 2D - Master Gabriel - 29-01-2015

Ce l'ho fatta!!! Big Grin Ho riscritto tutti gli script! Big Grin Fraate-lli di unity, unity sè desto! Con l'elmo di GIMP sè cinto la testa! Ahahahahahaha! Ora posso andare avanti con la HealthBar! A proposito, ho provato a mettere che la barra diminuisce nel primo if e la storia è la stessa! Chiaritemi una cosa: quando io richiamo il componente image lo posso fare anche da un gameObject che non c'entra niente, come il player, oppure lo script che richiama deve essere nel gameObject da richiamare?


RE: Problema script health bar per gioco 2D - Master Gabriel - 05-02-2015

Scusate di nuovo il doppio post, ma ho risolto il problema. Grazie a tutti per l'aiuto, per me si può chiudere.