Mopsi Geschrieben 1. Oktober 2016 Melden Share Geschrieben 1. Oktober 2016 Hallo Community. Erstmal Sorry für den vorherigen Post, ich wusste nicht wie man den wieder löscht. Ich habe ein Tutorial gefunden, wie ich das Glücksrad drehen lassen kann usw. Der Code kam bei raus: using UnityEngine;using System.Collections; using System.Collections.Generic; public class SpinWheel : MonoBehaviour { public List<int> prize; public List<AnimationCurve> animationCurves; private bool spinning; private float anglePerItem; private int randomTime; private int itemNumber; void Start(){ spinning = false; anglePerItem = 360/prize.Count; } void Update () { if (Input.GetKeyDown (KeyCode.Space) && !spinning) { randomTime = Random.Range (1, 4); itemNumber = Random.Range (0, prize.Count); float maxAngle = 360 * randomTime + (itemNumber * anglePerItem); StartCoroutine (SpinTheWheel (5 * randomTime, maxAngle)); } } IEnumerator SpinTheWheel (float time, float maxAngle) { spinning = true; float timer = 0.0f; float startAngle = transform.eulerAngles.z; maxAngle = maxAngle - startAngle; int animationCurveNumber = Random.Range (0, animationCurves.Count); Debug.Log ("Animation Curve No. : " + animationCurveNumber); while (timer < time) { //to calculate rotation float angle = maxAngle * animationCurves [animationCurveNumber].Evaluate (timer / time) ; transform.eulerAngles = new Vector3 (0.0f, 0.0f, angle + startAngle); timer += Time.deltaTime; yield return 0; } transform.eulerAngles = new Vector3 (0.0f, 0.0f, maxAngle + startAngle); spinning = false; Debug.Log ("Prize: " + prize [itemNumber]);//use prize[itemNumnber] as per requirement } } Ich habe jetzt nur folgende Probleme, das Rad stoppt einfach mittendrin ohne langsamer zu werden und ich würde gerne für jedes einzelne Feld die Wahrscheinlichkeiten in Prozent festlegen. Der Code hat Animationen, warum auch immer. Hier ein Video, wie das ganze ausschaut: https://www.youtube.com/watch?v=oTSK7NbveaU&feature=youtu.be Würde mich sehr über eure Hilfe freuen . Mfg Kevin Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Felix K. Geschrieben 1. Oktober 2016 Melden Share Geschrieben 1. Oktober 2016 Hi. Das kann man auf mehrere Arten realisieren. Leider ist das Video privat, somit lässt sich das Problem nicht erkennen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mopsi Geschrieben 1. Oktober 2016 Autor Melden Share Geschrieben 1. Oktober 2016 Oh, Entschuldigung. Ich stelle es mal auf Öffentlich. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Felix K. Geschrieben 1. Oktober 2016 Melden Share Geschrieben 1. Oktober 2016 Ahh okay. Ich sag mal so. Wenn Du auf einzelne Felder Wahrscheinlichkeiten legst, ist es eigentlich kein Glücksrad mehr. Was nicht schlimm ist. Das schreibe ich nur so. Vielleicht kann man mit der Rotation auch anders rangehen als es das Skript macht. Ungefähr so: Du hast deine 6 Felder. Diese haben eine Wahrscheinlichkeit. Diese sechs Felder werden in einer Liste geführt. Die Liste in einem "Gamemanager". Der eigentliche Player drückt auf "drehen" und deine Funktion, welche die Wahrscheinlichkeit berücksichtigt, sucht sich ein Feld aus der Liste aus. Bedeutet: Das Ziel ist bekannt! Jetzt beginnt dein Zeiger zu drehen. Sagen wir er dreht sich 5 mal komplett. Nach den 5 Runden kannst Du ihn nach und nach langsamer werden lassen bis er beim Ziel stehen bleibt. Der Vorteil: - Du kannst die Wahrscheinlichkeiten variieren nach jeder Runde - Die Runden variieren die der Pfeil sinnlos dreht. Es wirkt dadurch eben ein wenig dynamischer - usw Sry für die nicht so detailreiche Beschreibung. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mopsi Geschrieben 1. Oktober 2016 Autor Melden Share Geschrieben 1. Oktober 2016 Danke . Das wird hoffe ich nicht das Problem, das das nicht so detailliert/detailreich Beschrieben ist. Ich werde mir das ganze mal nachher anschauen. Gute Nacht . 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.