• 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
Problema con game object
#1
Sto sviluppando un gioco survivor in unity3d e praticamente ho creato un HUD (uno della salute e fame e uno delle risorse quali : legno, pietra, ferro)

Ogni risorsa ha un suo tag(Wood, Stone, Iron) e uno script dove viene definito il suo limite. Es.

Il masso può droppare 10 di pietra, clicco 10 volte e la pietra scompare e automaticamente mi viene messo tutto nell'inventario e perdo dei punti fame. Stessa cosa con le altre risorse.

Solo che c'è un problema...non posso piazzare più di una risorsa altrimenti se vado a raccoglierne una, questa non me la fa raccogliere.
Questo è lo script per raccogliere le risorse

Codice:
using UnityEngine;
using System.Collections;

public class Raccolta : MonoBehaviour {
    
    public Texture crosshair;
    public Camera camera;
    
    public Texture crrosshair;
    public AnimationClip HIT;
    
    public Health vit;
    public Inventory inv;
    public Wood legn;
    public Stone piet;
    public Iron ferr;
    public float range;
    
    void Start ()
    {
        vit = GameObject.FindWithTag("Player").GetComponent<Health>();
        inv = GameObject.FindWithTag("Player").GetComponent<Inventory>();
        legn = GameObject.FindWithTag("Wood").GetComponent<Wood>();
        piet = GameObject.FindWithTag("Stone").GetComponent<Stone>();
        ferr = GameObject.FindWithTag("Iron").GetComponent<Iron>();
    }
    
    
    void Update ()
    {
        if (Input.GetMouseButtonDown(0))
        {
            animation.Play();
            ShootFunction();
        }
    }
    
    void OnGUI()
    {
        GUI.DrawTexture(new Rect(Screen.width / 2, Screen.height / 2, 50, 50), crrosshair);
    }
    
    void ShootFunction()
    {
        Ray ray = camera.ViewportPointToRay(new Vector3(0.1f, 0.1f, 0));
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit, range))
        {
            if (hit.collider.tag == "Wood")
            {
                legn.LegnoState = legn.LegnoState -1;
                inv.Legno = inv.Legno +1;
                vit.Fame = vit.Fame -1;
            }
            if (hit.collider.tag == "Stone")
            {
                piet.PietraState = piet.PietraState -1;
                inv.Pietra = inv.Pietra +1;
                vit.Fame = vit.Fame -1;
            }
            if (hit.collider.tag == "Iron")
            {
                ferr.FerroState = ferr.FerroState -1;
                inv.Ferro = inv.Ferro +1;
                vit.Fame = vit.Fame -1;
            }
        }
    }
    
}
 
Rispondi
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  not set to an instance of an object m.gugliu 3 455 19-12-2017, 07:04 PM
Ultimo messaggio: aandrea1974
  problema con unity non spara thespeedkiller01 0 353 21-05-2017, 10:15 PM
Ultimo messaggio: thespeedkiller01
  Problema con variabile jacomucchio 6 711 12-12-2016, 04:42 PM
Ultimo messaggio: alessiobb3b
  Problema con controllo per vedere se il tocco è nel collider davidecreatoreapp 4 1,200 17-07-2015, 04:18 PM
Ultimo messaggio: davidecreatoreapp
  Problema con variabile davidecreatoreapp 7 1,126 14-06-2015, 02:19 PM
Ultimo messaggio: davidecreatoreapp
  problema con script transform.lookat dexter95 5 1,142 18-05-2015, 11:06 PM
Ultimo messaggio: Chip
  Problema con le texture di alcuni modelli Gustibro 8 1,256 05-10-2013, 03:00 PM
Ultimo messaggio: BlaClex46
  [RISOLTO] Problema con importazione texture Johnny 97 5 1,322 02-08-2013, 10:37 AM
Ultimo messaggio: Johnny 97
  Problema con l'importazione del file .dae GibboSKQ 3 1,008 02-04-2013, 04:53 PM
Ultimo messaggio: abcd
  Problema di apertura con unity 3d GibboSKQ 7 1,619 01-04-2013, 04:05 AM
Ultimo messaggio: echo_92

Vai al forum:


Browsing: 1 Ospite(i)