Como convertir un videojuego para Dodocase (3 / 4 steg)
Steg 3: Código para detección del iman
En esta in el imán de nuestros dodocase nos servirá como botón de acción para que nuestro personaje pueda disparar, les dejamos el código usado
* "Globals" skriften *
statiska var initialrv: int = 0; RAW kompass vektor att testa magneten mot statiska var prevrv: int = 0; RAW kompass vektor att verifiera att initialrv är giltig statiska var initialrot: ScreenOrientation;
funktion (Start)
{initialrot = Screen.orientation; Input.Compass.Enabled = sant; }
funktion Update () {
Fånga om initialrv är helt fel
(ibland omfattningen kan hoppa från / / 15 till 400, beroende på hur spelaren / / roterar enheten). om (prevrv > initialrv * 23) {initialrv = Mathf.RoundToInt(Input.compass.rawVector.magnitude);}
Fånga om användaren vänder på skärmen för att ändra orientering
om (initialrot! = Screen.orientation || initialrv == 0) {initialrot = Screen.orientation; initialrv = Mathf.RoundToInt(Input.compass.rawVector.magnitude);}
Fånga om omfattningen har minskat med en
enormt mycket sedan den senaste uppdateringen / / var vectest = Mathf.RoundToInt(Input.compass.rawVector.magnitude); om (initialrv > vectest * 23) {initialrv = Mathf.RoundToInt(Input.compass.rawVector.magnitude);}
Uppdatera prevrv testa mot i början av nästa uppdatering
prevrv = Mathf.RoundToInt(Input.compass.rawVector.magnitude); }
* "GameLogic" skriften *
förutsatt att initialrv från global skriptet är ungefär
överensstämmer med den aktuella omfattningen innan en knapp / / är pressad, kan vi testa mot den. Om omfattningen höjer / / två gånger, det visar att knappen magnetiska har / / tryckte. Om omfattningen höjer av 23 gånger eller mer, det / / indikerar en falsk-positiv, då initialrv återställs. var vectest = Mathf.RoundToInt(Input.compass.rawVector.magnitude); om (vectest > Globals.initialrv * 2)
{/ / Magnet-knappen ner
Fire();
}
Este código esta tomado de http://www.sc0ttgames.com/?p=293