Jump to content
Unity Insider Forum
  • Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011

FileStriker

Members
  • Content count

    85
  • Joined

  • Last visited

  • Days Won

    4

FileStriker last won the day on May 2

FileStriker had the most liked content!

Community Reputation

20 Excellent

About FileStriker

  • Rank
    Advanced Member
  • Birthday 11/28/1997

Profile Information

  • Gender
    Male
  • Location
    NRW
  1. Editor Open Button und Doppelklick

    Hallo Leute, Wenn man ein ScriptableObject erstellt und dieses sich im Inspector anschaut, dann ist auf der linken Seite ein Button mit der Aufschrift "Open" zu sehen. Wie aber kann ich dem Butten auch diese Funktion zuweisen? Ich habe bereits ein Script geschrieben, mit dem ich die SOs dieses Typen bearbeiten kann. Es wäre aber auch schön, wenn ich das SO über das klicken des Buttons reinladen könnte. Bisher hab ich das immer so gelöst, dass ich ein Weiteren Button mit "Open" erzeugt habe. Aber warum sollte ich zwei mal den gleichen haben, mit dem Zusatz dass nur einen verwenden kann. Auch wäre es gut wenn ich es sich nicht nur durch das drücken eines Buttons, sondern auch mit Hilfe eines einfachen Doppelklicks öffnen würde. Ähnlich wie beim Animation Controller. Ist das Möglich? LG FileStriker
  2. Parallax Scrolling bei 36000 Tiles?

    Dann so wie es @Sascha meinte. Einem Gameobject unter ordnen: Raster 1 -> Tile 1 -> Tile 2 -> ... und dann das Raster bewegen
  3. Parallax Scrolling bei 36000 Tiles?

    Nach der Definition von Parallaxe (https://de.wikipedia.org/wiki/Parallaxe) müsstest du einfach nur die Kamera nach oben bzw. unten bewegen, wenn ich das richtig verstanden habe.
  4. Visual Studio 17 alle Fehler anzeigen

    Genau das meine ich. Es sind die selben Fehler wie wenn ich Strg+Shift+B drücke. Ich bin mir nicht mehr sicher, aber unter VS 15 wurden mir immer alle Fehler angezeigt, ich kann mich da aber auch täuschen.
  5. Hallo Leute. Diesmal eine Frage zu Visual Studio und nicht zu Unity: Gibt es die Möglichkeit, dass mir VS 17 alle Fehler im Projekt anzeigt? Momentan werden mir nur Fehler angezeigt, die in den geöffneten Dokumenten vorkommen, ist die Datei geschlossen werden sie mir nicht angezeigt. In der Fehlerliste hab ich schon "Gesamte Projektmappe" ausgewählt, jedoch ändert sich nichts. Komischerweise werden mir in der Aufgabenliste alle "Todos" angezeigt,die sich in den Scripts verstecken, selbst wenn sie geschlossen sind. Es gibt die Möglichkeit mit Strg+Shift+B das Projekt nach Fehlern abzusuchen, doch dann bekomme ich einige Fehlermeldungen und Warnungen, die nicht für mich relevant sind. Auch werden diese Fehler erst gelöscht wenn die Datei in der er sich befindet geöffnet wird, selbst wenn der Fehler schon behoben wurde. Natürlich hab ich schon Google gefragt, was ich machen könnte. So soll ich in einer "Tasks.json" Datei etwas ändern. Wo sich diese Befindet konnte ich aber nicht heraus finden o.O Ich hoffe ich finde hier Hilfe. LG FileStriker
  6. Tiefenwirkung

    In dem Fall könnte man es so lösen: Color _color; Material _material; void Start() { _material = GetComponent<Renderer>().material; _color = _material.color; } void Update() { material.color = _color * Mathf.Clap01((1f - (distanceY / maxDistanceY)); if(Mathf.Clap01((1f - (distanceY / maxDistanceY)) == 0) { //Was auch immer passieren soll } } kannst auch anstatt des Abstandes die Fallgeschwindigkeit nutzen
  7. Visual Studio C# 7 ändern

    Das sieht jetzt aus als hättest du die variable nicht definiert. Schreib mal unter dem "{" der Klasse "bool grounded;"
  8. Kamerabewegung mit der Maus -> Skript C#

    Ich denk mal die Befehle bzw. Variablen, die du suchst sind diese: Input.mousePosition; Screen.width; Screen.height; Jetzt kannst du z.B. überprüfen ob die Mausposition X größer als Screen.width - 50 ist , dann soll sich die Kamera nach rechts bewegen.
  9. Ohne On Click Event

    Dann würde ich das So lösen: Du hast ein Parent Object mit der Größe vom Butto und weist das Script zu. Nun änderst du aber nicht die Größe von dem Object, das das Scrip trägt, sondern verweist auf den Button bzw. das Image (das Child Object), da du die Unity Button Komponente ja im Prinzip nicht mehr brauchst (das regelt ja das Script). Edit: Das Parent Object benötigt noch eine Image Komponente, da es sonst nicht funktioniert.
  10. Nutzt ihr getters and setters?

    Auch ich bin kein gelernter Informatiker nutze aber Getter und Setter sehr gerne. Ich finde es einfach schöner etwas mit einem = zuzuweisen als mit einer Funktion, allein von der Lesbarkeit. Wie schon @malzbie gesagt hat kann man damit Variablen vor falschem bedienen schützen. Ein weiter Punkt ist, dass Getter und Setter nichts anderes als Methoden sind und dies nutze ich gerne, wenn z.B eine Zahl nicht kleiner als 0 seien darf oder wenn ich einen wert zuweise etwas anderes angepasst werden soll. Ein beispiel bei mir momentan ist, wenn die anzahl von meinen Items in einem Stack auf 0 sinkt so wird auch der Item verweis auf null gesetzt, mein Stack ist leer und hat platzt für jedes neue Item. partial hab ich bis jetzt noch nie benutzt, wahrscheinlich weil ich von denen bis heute noch nie gehört habe, aber nach kurzem informieren sehe ich deren nutzen nur für eine bessere Lesbarkeit des Codes. Da ich meinen Code aber immer nach dem selben muster aufbaue sehe ich nicht so einen großen nutzen darin.
  11. Ohne On Click Event

    using System.Collections; using UnityEngine; using UnityEngine.EventSystems; public class ButtonScale : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler, IPointerEnterHandler { public bool isClick = false; public void OnPointerDown(PointerEventData eventData) { isClick = true; StopAllCoroutines(); StartCoroutine(Scale(new Vector3(0.95f, 0.95f, 0.95f))); } public void OnPointerEnter(PointerEventData eventData) { if (isClick) { StopAllCoroutines(); StartCoroutine(Scale(new Vector3(0.95f, 0.95f, 0.95f))); } } public void OnPointerExit(PointerEventData eventData) { if (isClick) { StopAllCoroutines(); StartCoroutine(Scale(Vector3.one)); } } public void OnPointerUp(PointerEventData eventData) { isClick = false; StopAllCoroutines(); StartCoroutine(Scale(Vector3.one)); } IEnumerator Scale(Vector3 scale) { while (transform.localScale != scale) { transform.localScale = Vector3.Lerp(transform.localScale, scale, Time.deltaTime * 10f); yield return new WaitForEndOfFrame(); } } }
  12. Ohne On Click Event

    einfach Scale durch Position austauschen, oder wenn du beides gleichzeitig ändern möchtest kannst du der Funktion noch ein weitern Vector3 mit der Position als Argument hinzufügen also z.B: IEnumerator Change(Vector3 scale, Vector3 position) //Diese Funktion wird jeden Frame aufgerufen, bis der Button die gewünste größe hat { while (transform.localScale != scale && transform.localPosition = position) { transform.localScale = Vector3.Lerp(transform.localScale, scale, Time.deltaTime * 10f); transform.localPosition = Vector3.Lerp(transform.localPosition, position, Time.deltaTime * 10f); yield return new WaitForEndOfFrame(); } } Dann würde ich aber auch den Namen der Funktion ändern o.O
  13. Ohne On Click Event

    using System.Collections; using UnityEngine; using UnityEngine.EventSystems; public class ButtonScale : MonoBehaviour, IPointerDownHandler, IPointerUpHandler // Die Handler sind nötig, damit ihre Functionen aufgerufen werden { public void OnPointerDown(PointerEventData eventData) { StopAllCoroutines(); StartCoroutine(Scale(new Vector3(0.95f, 0.95f, 0.95f))); } public void OnPointerUp(PointerEventData eventData) { StopAllCoroutines(); StartCoroutine(Scale(Vector3.one)); } IEnumerator Scale(Vector3 scale) //Diese Funktion wird jeden Frame aufgerufen, bis der Button die gewünste größe hat { while (transform.localScale != scale) { transform.localScale = Vector3.Lerp(transform.localScale, scale, Time.deltaTime * 10f); yield return new WaitForEndOfFrame(); } } }
  14. Kamera Bewegung

    Das Kleine Script, welches ich zuvor geschrieben hab einfach dem Button zuweisen, dann sollte es auch funktionieren. in dem anderen Script, also das was für die Drehung sorgt braucht einen verweis auf die Scripte, um zu prüfen ob jetzt der Knopf gedrückt wird. Das könnte dann so aussehen: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Kamerasteuerung : MonoBehaviour { public float kameraSpeed = 250; public GameObject kamera; public SomeButton up; //... void Update { if(up.isPresed) { //nach oben bewegen } //... } public void Center() { //zurück setzen } } Das selbe dann auch für die andren knöpfe
  15. Kamera Bewegung

    Zu punkt 2: using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class SomeButton : MonoBehaviour ,IPointerDownHandler,IPointerUpHandler { public bool isPresed = false; public void OnPointerDown(PointerEventData eventData) { isPresed = true; } public void OnPointerUp(PointerEventData eventData) { isPresed = false; } } nun musst du nur noch abfragen, ob der Button gedrückt ist und dann die Kamera bewegen. Zu punkt 3: Da weiß ich jetzt nicht genau wie dein Code aufgebaut ist, oder wie du das meinst. Wird bei nach Oben/Unten die Kamera rotiert oder bewegt? wenn du sie Rotieren lässt nutzt du dann Quaternion oder EulerAngles?
×