Creare Videogiochi - Game Developer
Un piccolo aiuto per Unity 3D? - 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: Un piccolo aiuto per Unity 3D? (/thread-Un-piccolo-aiuto-per-Unity-3D)



Un piccolo aiuto per Unity 3D? - Biagino - 21-04-2016

Ciao a tutti ragazzi.
Colgo l'occasione per salutare tutti dopo una mia lunga assenza dal Forum (dovuta ad impegni scolastici).
Vorrei chiedervi un favore riguardante Unity 3D.
Mi servirebbe uno o più script per far apparire delle seguente di immagini sullo schermo prima di far partire la vera e propria "Scena" (come se fosse un'introduzione). Al click di un pulsante l'immagine lascia il posto alla successiva fino ad arrivare alla scena. Ho provato a scrivere qualche Script ma non sono riuscito a raggiungere il mio obiettivo. Qualcuno può aiutarmi?
Grazie mille a tutti. Smile


RE: Un piccolo aiuto per Unity 3D? - Master Gabriel - 22-04-2016

Dunque, ti serve uno script che quando clicchi su un bottone con il mouse cambia l'immagine?
Crea un oggetto vuoto con solo uno spriterenderer. Applica la prima immagine allo spriterenderer, e posiziona l'oggetto in modo che "copra" la scena principale. Potresti anche fare con due scene diverse, che quando le immagini sono finite il gioco carica la scena principale, ma non cambia molto. Ora crea un'oggetto contenente uno spriterenderer con il tasto da premere. Aggiungici un collider, di qulaunque tipo. Posizionalo dove più ti aggrada Smile

Attacca questo script all'oggetto del tasto:
Codice:
using UnityEngine;
using System.Collections;

public class SwitchBackgound : MonoBehaviour
{

    public GameObject sfondo; //questo è l'oggetto sfondo

    public Sprite frame1; //queste sono le immagini che si scambieranno con la prima
    public Sprite frame2; //io ne ho messe tre, puoi aggiungerne o toglierne a piacimento
    public Sprite frame3;

    private int counter = 0;

    void OnMouseDown()
    {
        if (counter == 0)
        {
            sfondo.GetComponent<SpriteRenderer>().sprite = frame1;
            counter++;
        }

        else if (counter == 1)
        {
            sfondo.GetComponent<SpriteRenderer>().sprite = frame2;
            counter++;
        }
        else if(counter == 2)
        {
            sfondo.GetComponent<SpriteRenderer>().sprite = frame3;
            counter++;
        }
       else if(counter == 3)
       {
        Destroy(sfondo.gameObject);
        Destroy(gameObject);
       }
   }
}

E' un pò grezzo, ma dovrebbe funzionare lo stesso Smile
Ora nell'inspector nella variabile sfondo dello script selezioni l'oggetto contenente la prima immagine, poi nelle variabili frame1, 2 e 3 ci metti le immagini che vuoi che si scambino con la prima.

Prova a vedere se va Smile