Seite 1 von 1

Intelligentere Lösung für Scrolling

Verfasst: 06.05.2005 18:01
von Gamer
Wenn die Maus am linken Screen ist, soll die Variable "r"
einen höheren Wert erhalten als wenn die X-Position 50 ist.

Code: Alles auswählen

If MouseX()=0
r+20
ElseIf MouseX()<30
r+10
ElseIf MouseX()<50
r+5
EndIf
Ich bräuchte eine stufenlose Version, sowas in der Art:

Code: Alles auswählen

If MouseX()<50
x = MouseX()
; Wert der Variable "r" entsprechend anhand von "x" zuweisen
EndIf
Also bei x=0 soll r=20 sein und bei x=50 eben r=5,
alles dazwischen soll stufenlos berechnet werden,
dürfte bei x=25 also r=12 oder sowas sein..

Bei der rechten Seite würde dies ja ungefähr einfach gehen:

Code: Alles auswählen

If MouseX()>750
x = MouseX()
r = x/10
EndIf

Verfasst: 06.05.2005 19:46
von PMV
und bei der anderen Seite isses auch nicht viel schwerer :wink:

nur halt alles umgedreht, das heißt es muss vorm berechnen "richtigrum" gedreht werden :D

Du möchstes 50 Pixel spielraum haben, um also den Wert "umzudrehen" musst du 50 - den Wert rechnen

Code: Alles auswählen

50 - MouseX()
Jetzt nur noch die If-Abfrage für beide seiten und dort berechne.
Das ganze is nen bischen Dreisatz ... und weil du mindestens 5 haben willst ... musst das ganze dazu anpassen.

Code: Alles auswählen

If MouseX() <= 50 
  r = (50 - MouseX()) * 15 / 50 + 5
EndIf
So, damits nicht zu einfach ist, kannst das ganze ja jetzt mal versuchen auch für die andere Seite zu erstellen :D sollst ja schließlich bei was lernen :wink:

MFG PMV