Italian HUD

Luciano Veneziano

Active Member
Licensed User
Longtime User
Buongiorno.

Chiedo alle vostre enciclopediche menti se esiste un'app che inverta lo schermo, in modo che io possa usare il tablet sulla macchina riflesso sul parabrezza.

Grazie tante (anche per la comprensione).
 

Star-Dust

Expert
Licensed User
Longtime User
È possibile invertire un pannello a specchio.
Inserisci i view in un pannello principale è poi lo ruoti.
Cmq non sono enciclopedico:p
 

Star-Dust

Expert
Licensed User
Longtime User
Per maggiori dettagli su come ruotare le viste vedi questo thread
Imposta il pivot al centro del pannello e ruota sull'asse Y di 180 gradi.

Cos'è HUD?
 

Luciano Veneziano

Active Member
Licensed User
Longtime User
Head Up Display è questo:
navdy2.png


Proietta sul parabrezza l'immagine del display... che ovviamente deve essere invertita, altrimenti si vedrebbe al contrario.

Perdonatemi ancora (per l'ultima volta) non è che avete del codice?

Grazie ancora.
 

Star-Dust

Expert
Licensed User
Longtime User
Sono fuori sede, nel pomeriggio se posso ti scrivo il codice, ma sono si è no 4 righe.
 

Luciano Veneziano

Active Member
Licensed User
Longtime User
Ti ringrazio tanto, Star-Dust sei gentilissimo! è come se il display si vedesse da uno specchio.
61pbqAZHVYL._SX425_.jpg
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
Il codice è questo:
B4X:
Mirror(MainPanel)

Sub Mirror(v AsView)
Dim jo = v AsJavaObject
jo.RunMethod("setPivotX", ArrayAs Object(V.Width/2)
jo.RunMethod("setPivotY", ArrayAs Object(V.Height/2)
jo.RunMethod("setRotationY", ArrayAs Object(180))
End Sub

PS ma l'HUD ha s.o. Android? O stai usando un dispositivo Android come fosse un dispositivo HUD?
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Il codice è questo:
B4X:
Mirror(MainPanel)

Sub Mirror(v AsView)
Dim jo = v AsJavaObject
jo.RunMethod("setPivotX", ArrayAs Object(V.Width/2)
jo.RunMethod("setPivotY", ArrayAs Object(V.Height/2)
jo.RunMethod("setRotationY", ArrayAs Object(180))
End Sub
E' sufficiente:
B4X:
Dim jo = Activity As JavaObject
jo.RunMethod("setRotationY", Array As Object(180))
 

Star-Dust

Expert
Licensed User
Longtime User
A
E' sufficiente:
B4X:
Dim jo = Activity As JavaObject
jo.RunMethod("setRotationY", Array As Object(180))
il pivot di default è 0,0 (x,y) quindi ruotando di 180° il view te li ritrovi spostato indietro di width pixel. Ruotando con pivot al centro ruota su se stesso e non intorno al bordo e lo trovi allo stesso posto.
 

LucaMs

Expert
Licensed User
Longtime User
il pivot di default è 0,0 (x,y) quindi ruotando di 180° il view te li ritrovi spostato indietro di width pixel. Ruotando con pivot al centro non si muove e lo trovi allo stesso posto.
Questo perché tu ruoti un panel!
Se devi ruotare l'activity, che è ciò che Luciano vuole ottenere, il codice del mio post precedente è sufficiente.

Altrimenti avrei avuto un'altra routine pronta ;) (ovviamente sviluppata da quello straordinario programmatore noto col bizzarro nome di LucaMs :D):
B4X:
Private Const PIVOT_X_CENTER As Int = 1
Private Const PIVOT_X_LEFT As Int = 2
Private Const PIVOT_X_RIGHT As Int = 3
Private Const PIVOT_X_CENTER As Int = 4
Private Const PIVOT_Y_CENTER As Int = 5
Private Const PIVOT_Y_TOP As Int = 6
Private Const PIVOT_Y_BOTTOM As Int = 7


Private Sub SetPivot(Vw As View, PivX As Int, PivY As Int) 'ignore
    Dim Jo As JavaObject = Vw
    Dim pos As Float

    Select Case PivX
        Case PIVOT_X_CENTER
            pos = Vw.Width/2
        Case PIVOT_X_LEFT
            pos = 0
        Case PIVOT_X_RIGHT
            pos = Vw.Width
    End Select
    Jo.RunMethod("setPivotX",Array(pos))

    Select Case PivY
        Case PIVOT_Y_CENTER
            pos = Vw.Height/2
        Case PIVOT_Y_TOP
            pos = 0
        Case PIVOT_Y_BOTTOM
            pos = Vw.Height
    End Select
    Jo.RunMethod("setPivotY",Array(pos))
End Sub

 

LucaMs

Expert
Licensed User
Longtime User
Filippo, noterai che l'immagine riflessa è sbagliata.
Non mi sembra sbagliata (e d'altronde non vedo come potrebbe, visto che fa esattamente la funzione di specchio).

Per me è solo un esercizio, muovendomi unicamente in moto (in qualsiasi condizione).
Uhm... c'è la soluzione anche per questo: smartphone fissato sulla fronte e riflesso sulla visiera del casco :D
 
Top