Italia
Beispiele

Richtungen per Gesten

 

HofK
Update auf neue Syntax am 10.04.2016:

Gesten Auswerten/ Richtungen erkennen

// Richtungen per Gesten
p=0 // Index Position Trennzeichen in xg, yg
tg = -1 // Nr. Teilgeste
xg="" yg="" xge=[] yge=[] // Teil-Geste: Strings, Gestenfelder
xp=[0] yp=[0] // Positionen p Trennz ; in Strings xg, yg
ix=0 iy=0 dx=0 dy=0 // Koordinaten, Differenzen
var rtg =[ // z
["\u21d8" "\u21d7" "\u21d2"] // 0 nach rechts
["\u21d9" "\u21d6" "\u21d0"] // 1 nach links
["\u21d3" "\u21d1" "\u2299"] // 2 vertikal, Stillstand
] // Matrix der Richtungssymbole
//s 0 1 2
// runter hoch horizontal
print "Richtung von Gesten"

proc event id data
global p tg xg xge yg yge xp yp
case id==event.touchdown : gekoord data.x data.y // Koord. aufnehmen
case id==event.touchmove : gekoord data.x data.y // Koord. aufnehmen
if id==event.touchend
tg++ // Nr. der Teilgeste erhöhen
xge[tg] = xg // Teilgeste in x Gestenfeld
yge[tg] = yg // Teilgeste in y Gestenfeld
// Teilgeste auswerten:
// Regionen und Anstieg/Krümmung ermitteln / "Wende"punkte - teils offen
kruemmung // ... ist noch UNVOLLSTÄNDIG
// Abschluss-Teilgeste komplexer Gesten erkennen - ist noch offen
case tg==7 : tg=0 // 7 Teilgesten
// je Teilgeste neu initialisieren
xg="" // x Koordinaten-String (; separiert)
yg="" // x Koordinaten-String (; separiert)
p=0 // Index Position Trennzeichen (;)
xp=[0] // Datenfeld mit Positionen der Trennzeichen in xg
yp=[0] // Datenfeld mit Positionen der Trennzeichen in xg
endif
endproc

proc gekoord x y // Geste: x y Koordinaten aufnehmen
global p ix xp iy yp xg yg
case y<0 : y=0 // wegen Infoleiste (.y negativ)
p++ // Index Position Trennzeichen ;
ix = round(x 0 true) + ";" // integer x mit Semikolon
xp[p]=xp[p-1] + str.len ix // x Trennzeichenposition ablegen
iy = round(y 0 true) + ";" // integer y mit Semikolon
yp[p]=yp[p-1] + str.len iy // y Trennzeichenposition ablegen
xg=xg+ix // ix an String anfügen
yg=yg+iy // iy an String anfügen
endproc

proc kruemmung
global tg xp yp xg yg dx dy rtg
i=0
verlauf = ""
case tg==7 : cls
print "x " + (str.len(xp)-1) +": " + xg
print "y " + (str.len(yp)-1) +": " + yg
while i < (len(xp)-2)
// long per Vergleiche wichtig: unterschiedliche Stellenzahl!
x1 = long str.mid xg xp[i]+1 xp[i+1]-xp[i]-1 // Koordinaten auslesen
x2 = long str.mid xg xp[i+1]+1 xp[i+2]-xp[i+1]-1
y1 = long str.mid yg yp[i]+1 yp[i+1]-yp[i]-1
y2 = long str.mid yg yp[i+1]+1 yp[i+2]-yp[i+1]-1
dx = x2-x1 // per Krümmungsverhalten VORBEREITET
dy = y2-y1
z=2 // x1==x2 Zeile rtg Richtungssymbole
s=2 // y1==y2 Spalte rtg Richtungssymbole
case x1!=x2 : z = 0+(x1>x2) // Zeilenwahl z
case y1!=y2 : s = 0+(y1>y2) // Spaltenwahl s
verlauf = verlauf + rtg[z][s] // Richtungssymbol anhängen
// print " dx "+ dx + " dy "+ dy + " " + verlauf
i++
wend
print verlauf
endproc
 
30.12.2015  
 



Hab das Thema mal auf "Ständig" gesetzt, freue mich darauf endlich mal bei ein bisl Zeit diese ganzen Dinge auch selbst einmal zu probieren.
 
30.12.2015  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

3.743 Views

Untitledvor 0 min.
Sven Bader11.08.2021
Rschnett17.07.2017
OliverJung19.05.2016
Micha1233430.04.2016
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

iF (1x)
HofK (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie