Grundsätzlich, was ich versuche zu tun ist, wenn Sie Z drücken - es führt Funktion zu drehen, und X - es führt Funktion aus, um zu stoppen. Zuvor hatte ich UI-Tasten, die einwandfrei funktionierten, jetzt versuche ich es per Knopfdruck, aber nichts passiert.Execute Funktion auf Knopfdruck (unity3d/C#)
Auch, wenn Sie vorschlagen können, wie es anfangen zu drehen und aufhören zu drehen, nur durch Drücken der "Leertaste", das wäre toll.
Heres mein Code so weit:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class spin : MonoBehaviour
{
public float speed = 500f;
public Button starter;
public Button stopper;
bool isSpinning = false;
IEnumerator spinnerCoroutine;
void Start()
{
//The spin function
spinnerCoroutine = spinCOR();
//Button btn = starter.GetComponent<Button>();
//Button butn = stopper.GetComponent<Button>();
//butn.onClick.AddListener(FidgetSpinnerStop);
//btn.onClick.AddListener(FidgetSpinnerStart);
if (Input.GetKey(KeyCode.Z)) {
FidgetSpinnerStart();
}
if (Input.GetKey(KeyCode.X)) {
FidgetSpinnerStop();
}
}
IEnumerator spinCOR()
{
//Spin forever untill FidgetSpinnerStop is called
while (true)
{
transform.Rotate(Vector3.up, speed * Time.deltaTime);
//Wait for the next frame
yield return null;
}
}
void FidgetSpinnerStart()
{
//Spin only if it is not spinning
if (!isSpinning)
{
isSpinning = true;
StartCoroutine(spinnerCoroutine);
}
}
void FidgetSpinnerStop()
{
//Stop Spinning only if it is already spinning
if (isSpinning)
{
StopCoroutine(spinnerCoroutine);
isSpinning = false;
}
}
}
Dank.
Der Fidget Spinner Trend ...... – Hellium