Wie erstelle ich ein weißes Rechteck in Unity 2D?
Hallo Stack Overflow Gemeinschaft.
Ich habe gerade begonnen, die Einheit zu mein port-video-Spiel für mehrere Plattformen. Ich hatte eine Frage über das erstellen von Objekten programmgesteuert in der Einheit. Das ist es, was mein Spiel aussieht derzeit:
Wenn der Benutzer tippt auf die Kamera-Taste, die Kamera-Bild-Skalen größer onTap und offTap. Ich will die gesamten Bildschirm blinkt weiß nur für eine kurze Sekunde aber ich habe keine Ahnung, wie dies zu tun. Hier ist der C# - code habe ich schon für diese Frage:
using UnityEngine;
using System.Collections;
public class question3 : MonoBehaviour {
int cameraTaps = 0;
//Use this for initialization
void Start () {
}
IEnumerator CameraCoroutine() {
Debug.Log("Before Waiting 3 seconds");
yield return new WaitForSeconds(3);
Debug.Log("After Waiting 3 Seconds");
Application.LoadLevel("question4");
}
//Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
if (hit.collider.gameObject.name == "camera")
{
var camera = (hit.collider.gameObject);
camera.transform.localScale += new Vector3(.1f, .1f, 0);
}
}
}
if (Input.GetMouseButtonUp(0))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
if (hit.collider.gameObject.name == "camera")
{
var camera = (hit.collider.gameObject);
camera.transform.localScale -= new Vector3(.1f, .1f, 0);
cameraTaps = cameraTaps + 1;
print (cameraTaps);
if (cameraTaps == 5)
{
StartCoroutine(CameraCoroutine());
}
if (cameraTaps > 5)
{
Application.LoadLevel("fail");
}
}
if (hit.collider.gameObject.name == "turtle")
{
}
}
}
}
}
Jede Hilfe wäre sehr geschätzt werden. Ich habe wirklich keine Ahnung, wie Sie entweder einfügen PNG ' s, oder erstellen Sie ein Rechteck, das overlay für eine kurze Sekunde.
Ich brauche keine Eingabe. Im Prinzip brauche ich den gesamten Bildschirm, um flash weiß für eine Sekunde. Den ganzen Bildschirm sollte blinken weiß auf GetMouseButtonUp jedes mal der hit.collider ist aktiviert. Könnten Sie mir helfen? Ich bin sehr neu in der Einheit und ich verstehe nicht, wie ich könnte schreiben, code 😀
Alles, was Sie wirklich tun müssen, ist erstellen Sie eine Einheit von quad und befestigen Sie es an Ihrer Kamera, so dass es macht vor allem anderen. Geben Sie eine einfache shader wie Unbeleuchtet und positionieren Sie es so, es deckt die Kamera-viewport komplett (Sie können die Eltern es zu, die Kamera folgt die Kamera die ganze Zeit). Dann einfach aktivieren/deaktivieren von Skript
Konnte Sie nach ein paar code um die Frage zu beantworten? Plz 😀
InformationsquelleAutor Jordan Schuetz | 2013-12-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine alte Frage, die nie weniger, ich bin hier mit 2 Lösungen für dich: (Diese wurden codiert in C#)
Lösung #1: Ist genau das, was Sie gefragt haben, die im code-format. Ich bin mir ziemlich sicher, dass Sie bereits dieses Problem gelöst (aber das ist für jemand, der stößt auf dieses problem).
Ein anderer Weg ist, um tatsächlich zu verfälschen Einheit leuchtet. Dies ist persönlich meine Lieblings-option, weil Sie in der Lage zu manipulieren, um die Position der lichtquellen, Intensität, Reichweite (bei Verwendung von spot/Punkt-Licht), Farben und viele weitere Optionen.
Für folgende Lösung habe ich beigefügt eine einfache Licht-Komponente auf die Haupt-Kamera.
Lösung #2: rufen Sie Einfach
StartCoroutine(CameraFlash());
wenn Sie wollen, dass die flash auftretenInformationsquelleAutor RedPeepin