SloppeD Geschrieben 17. Mai 2016 Melden Share Geschrieben 17. Mai 2016 Hey, ich habe da eine Frage.. und zwar wollte ich erkennen ob meine Maus gerade über einem BoxCollider2D ist, OnMouseOver will ich nicht benutzen, da ich sehr viele Blöcke im Spiel habe und mein Boolean etwas rumbuggt :/ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TobLine Geschrieben 17. Mai 2016 Melden Share Geschrieben 17. Mai 2016 Hi, das sollte mit einem Linecast funktionieren. (du kannst als Startposition und Endposition die Mouse-Position übergeben). LG Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 17. Mai 2016 Melden Share Geschrieben 17. Mai 2016 Hey, ich habe da eine Frage.. und zwar wollte ich erkennen ob meine Maus gerade über einem BoxCollider2D ist, OnMouseOver will ich nicht benutzen, da ich sehr viele Blöcke im Spiel habe und mein Boolean etwas rumbuggt :/ "Ich möchte ein Loch in die Wand bohren, aber einen Bohrer will ich nicht benutzen, weil meine Wand sehr dick ist und meine Steckdose etwas rumbuggt :/" Was auch immer du für eine Lösung ohne OnMouseOver selber bauen wirst, sie wird nicht performanter laufen als OnMouseOver, weil OnMouseOver nichts weiter tut als das, was es muss. Und dass "dein Boolean rumbuggt" ist Problem deines Codes, nicht von OnMouseOver. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
SloppeD Geschrieben 18. Mai 2016 Autor Melden Share Geschrieben 18. Mai 2016 using UnityEngine; using System.Collections; namespace Game { public class Block2 : MonoBehaviour { public static bool canBuild = true; public int hitsNeeded = 5; int hit = 0; // Use this for initialization void Start () { } // Update is called once per frame void Update () { } void OnMouseOver() { print("over"); canBuild = false; } void OnMouseDown() { print("down"); hit = hit + 1; if (hit == hitsNeeded) { canBuild = true; Destroy(gameObject); } } void OnMouseExit() { print("exit"); canBuild = true; } } } In jedem Block steckt dieses Script und wenn ich mehrere Blöcke nebeneinander baue reagiert OnMouseOver bei einigen nicht mehr, das ist mein Problem. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TobLine Geschrieben 18. Mai 2016 Melden Share Geschrieben 18. Mai 2016 Wenn hit=hitsNeeded setzt du canBuild=true (obwohl es bei OnMouseOver false gesetzt wird). Das heißt wenn 5mal gecklickt wird, zerstörst du das gameObject. Ich würde das ganze mit OnMouseDown probieren und immer mit einem Linecast auf einen Collider abfragen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.