Screen - Mausgeschwindigkeit verringern

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Shadow-Gamer
Beiträge: 152
Registriert: 06.09.2009 13:31
Computerausstattung: NB: Intel P8700, Mobility ATI HD4650, 4GB, Win 7

Screen - Mausgeschwindigkeit verringern

Beitrag von Shadow-Gamer »

Ich suche eine Möglichkeit die Mausgeschwindigkeit in meinem Spiel zu verringern, weil man in meinem Spiel anvisieren kann.
Sry das ich jetzt nichts näheres sage, ich will pennen^^ bis morgen

Greeeeeetttts
Ich versuche ja nicht faul zu sein. :)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Screen - Mausgeschwindigkeit verringern

Beitrag von Kiffi »

Shadow-Gamer hat geschrieben:Sry das ich jetzt nichts näheres sage, ich will pennen^^
gut, dann warten wir bis morgen :-)

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Screen - Mausgeschwindigkeit verringern

Beitrag von STARGÅTE »

Du verwendest bestimmt MouseX() und MouseY() ...

Das ist meiner Meinung nach ungeeignet!

Nutze lieber eigenen Koordinaten (x,y) welche du mit MouseDeltaX() und MouseDeltaY() änderst ...

dabei kannst du diese Koordinaten gleich in Float machen und den "Geschwindigkeitsfaktor" direkt an das MouseDelta multiplizieren.

Oder die Koordinaten zum anzeigen der Mauszeigers dann "zoomen"

Ich würds halt so machen:

Code: Alles auswählen

Structure MousePosition
  x.f
  y.f
EndStructure
Global Mouse.MousePosition
Global MouseSpeed.f = 0.8 ; (langsammer als 1.0 (normal))
; ...

Mouse\x + MouseDeltaX() * MouseSpeed
Mouse\y + MouseDeltaY() * MouseSpeed
Mouse\x und Mouse\y wären dann die echten Koordinaten der Maus
Abfragen zu Rändern müsstest du auch noch einbauen...

Code: Alles auswählen

If Mouse\x < 0 : Mouse\x = 0 : EndIf
Andere analog...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Shadow-Gamer
Beiträge: 152
Registriert: 06.09.2009 13:31
Computerausstattung: NB: Intel P8700, Mobility ATI HD4650, 4GB, Win 7

Re: Screen - Mausgeschwindigkeit verringern

Beitrag von Shadow-Gamer »

Ich hatte es ähnlich wie Stargate probiert, aber ich habe wahrscheinlich vergessen die MausKoordinaten als Floats zu deklarieren. Nja danke Stargate funzt einwandfrei.

Allerdings frage ich mich ob es besser ist die Koordinaten als eine variable abzuspeichern, ob es mit einer Struktur besser ist oder ob es da keine (Performance-) Unterschiede gibt
Ich versuche ja nicht faul zu sein. :)
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

Re: Screen - Mausgeschwindigkeit verringern

Beitrag von Josef Sniatecki »

Mit einer Struktur gibt es zur Ausführung keinen Unterschied. Der Code sieht einfach übersichtlicher aus (also für mich auf jeden Fall ^^).
Man kann natürlich auch "Mouse_X.f" und "Mouse_Y.f" verwenden.

Und noch was:
Seit einer neuen PB-Version kann man auch einer strukturierten Variable einen strukturierten Wert zuweisen:

Code: Alles auswählen

Structure Pos
  X.i
  Y.i
EndStructure

Global A.Pos, B.Pos

B\X = 1
B\Y = 2

A = B ;<--

Debug A\X
Debug B\Y
Gruß Josef
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Antworten