Script cambio immagine - 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 cambio immagine (/thread-Script-cambio-immagine) |
Script cambio immagine - Aconeron - 06-12-2015 Ciao a tutti. Sarò veloce, in pratica al cambio dell'arma, di cui si occuperà uno script esterno o comunque lo integrerò dopo, ho bisogno che appaia un'immagine a seconda dell'arma utilizzata. L'unico problema è che non so come fare! Vi giuro ho provato di tutto, aiutatemi voi, è urgente. Questo è il codice che per adesso stavo facendo, anche se manca di un po' di roba ditemi solo come si fa questo switch di immagini, al resto ci penso io! Codice: using UnityEngine; RE: Script cambio immagine - Zettamax - 07-12-2015 Ciao, io per un problema simile al tuo avevo utilizzato gli sprite che definivo con: public Sprite nome_sprite1; public Sprite nome_sprite2; public Sprite nome_sprite3; che poi cambiavo con il comando: GameObject.Find ("nome").GetComponentInChildren<Image> ().sprite = nome_sprite1; Dove al posto di "nome" metterai il nome del gameobject (es. se si chiama arma metterai GameObject.Find ("arma") ). Gli sprite gli inserirai dall'inspector di unity. Ricordati di controllare che le immagini siano definite come sprite.(clicca sull'immagine importata, nell'inspector ci sarà la voce "Texture Type" con a fianco un menu a tendina dove selezionerai "Sprite 2D and UI") Spero di esserti stato d'aiuto, in caso non esitare a chiedere! RE: Script cambio immagine - Aconeron - 07-12-2015 (07-12-2015, 11:04 AM)Zettamax Ha scritto: Ciao, io per un problema simile al tuo avevo utilizzato gli sprite che definivo con: Grazie per la risposta ma non capisco, in che punto dello schermo compaiono le immagini? e quale gameobject devo inserire? RE: Script cambio immagine - Zettamax - 07-12-2015 Mi sono dimenticato di dirti che io utilizzo il nuovo sistema di UI di unity. Nel tuo caso credo che sia più facile fare così: Definisci le immagini delle armi come hai definito la prima ovvero(in questo caso ho fatto per 3 armi ma se tu ne hai di più ne definirai di più): public Texture textureArma1; public Texture textureArma1; public Texture textureArma1; poi definisci una variabile int: int arma =1; poi nella funzione OnGUI() metti: GUILayout.BeginArea(new Rect(700, 100, 500, 500)); if(arma = 1) { GUI.DrawTexture(new Rect(10, 10, 100, 100), textureArma1, ScaleMode.ScaleToFit, true); } if(arma = 2) { GUI.DrawTexture(new Rect(10, 10, 100, 100), textureArma2, ScaleMode.ScaleToFit, true); } if(arma = 3) { GUI.DrawTexture(new Rect(10, 10, 100, 100), textureArma3, ScaleMode.ScaleToFit, true); } GUILayout.EndArea(); mentre nella funzione Update metti: if (Input.GetKeyDown(KeyCode.Alpha3)) { if(arma = 3) //qui come valore metti il numero massimo di armi da switchare { arma = 1; } else { arma +=1; } } Spero di esserti stato d'aiuto RE: Script cambio immagine - Aconeron - 07-12-2015 (07-12-2015, 08:13 PM)Zettamax Ha scritto: Mi sono dimenticato di dirti che io utilizzo il nuovo sistema di UI di unity. Ommio dio era così semplice? Non ci credo. Grazie Grazie Grazie!! |