unity3d spin wheel
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 } }
Are there any code examples left?
New code examples in category Other
-
Other 2023-03-27 22:50:10 how to select the whole line in vscode with keyboard shortcut
-
Other 2022-03-27 22:45:24 income of a web developer
-
Other 2022-03-27 22:35:01 \pyrcc_main.py: File does not exist 'resources.qrc'
-
Other 2022-03-27 22:30:45 rick roll embed code
-
Other 2022-03-27 22:20:08 Circuit_04_Potentiometer
-
Other 2022-03-27 22:20:05 iterative power
-
Other 2022-03-27 22:15:11 flutter run all
-
Other 2022-03-27 22:10:05 when is karlson release
-
Other 2022-03-27 22:10:02 wp .htaccess example
-
Other 2022-03-27 22:00:08 bash pause in file read line by line