Jump to content
Unity Insider Forum

Brauche Hilfe beim Glücksrad


Mopsi

Recommended Posts

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

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

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...