• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Problema precisione e reattività su touchscreen Android
#1
Dunque il problema è questo.... sto sviluppando un giochino per Android, però sto riscontrando qualche problema nelle varie interazioni con gli oggetti: spesso fallisce il raycasting quindi bisogna provare e riprovare varie volte prima che l'interazione abbia successo, e questo può risultare un tantino scocciante per il giocatore, soprattutto se queste operazioni richiedono un certo tempismo; oppure ogni tanto lo script si perde una TouchPhase.Ended e quindi l'interazione rimane bloccata nella TouchPhase.Moved fino a quando non si tocca nuovamente lo schermo.
Anche questo può causare qualche fastidio.

Sono convinto che ci sia qualche problema a livello di codice/concettuale, anche perchè è la prima volta che sviluppo qualcosa per Mobile; diciamo che manca forse un qualche controllo in più per ottimizzare le operazioni e per assicurarsi che vadano a buon fine quando devono.

Metto qui parte dello script così magari da capirsi meglio...

Codice:
if (Input.touches.Length > 0) {
    if (Input.GetTouch(0).phase == TouchPhase.Began) {
    raggio = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
            if (Physics.Raycast(raggio,out hit)) {
             if (hit.transform.tag == "Pushable") {
                goodHit = true;
            myRB = hit.rigidbody;
             }
             startPos = Input.GetTouch(0).position;
        }
    }    
    if ((Input.GetTouch(0).phase == TouchPhase.Moved)&&(goodHit == true)) {
        dragging = true;
        intensity++;
        if (intensity > 75) intensity = 75;
    }
    if ((Input.GetTouch(0).phase == TouchPhase.Ended)&&(goodHit == true)) {
        dragging = false;
        goodHit = false;
        endPos = Input.GetTouch(0).position;
        if (endPos.x > startPos.x) {
            spinta.x = 1;
        } else {
            spinta.x = -1;        
        }
        if (myRB.CompareTag("Pushable")) {        
            myRB.AddForce(spinta*intensity, ForceMode.Impulse);
            intensity = 0;
        }
    }                
}

La stessa cosa nella versione per PC funzionava senza problemi, usavo solo le funzioni del mouse, senza raycasting, quindi era molto più semplice la cosa. Poi ho fatto il porting per Android e chiaramente ho incontrato qualche problema.
Any idea ?
 
Rispondi
  


Messaggi in questa discussione
Problema precisione e reattività su touchscreen Android - da cuge89 - 28-10-2013, 12:51 PM

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Collegare un'activity Android a Unity Giuseppe_12 0 239 15-07-2017, 04:01 PM
Ultimo messaggio: Giuseppe_12
  Problema su salvataggio e caricamento 93sunderland 2 668 08-07-2016, 06:07 PM
Ultimo messaggio: Thejuster
  Luci pesanti su gioco VR per Android con Unity Refref1990 1 747 13-08-2015, 11:20 PM
Ultimo messaggio: eoasier
  Compilare un gioco in android Master Gabriel 16 1,423 02-04-2015, 10:40 AM
Ultimo messaggio: Master Gabriel
  controllo su android (unity3d) nonsoil2 3 643 23-01-2015, 04:40 PM
Ultimo messaggio: Zettamax

Vai al forum:


Browsing: 1 Ospite(i)