maus verlangsamen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

snörkl

Betreff: maus verlangsamen

BeitragSa, Nov 11, 2006 9:29
Antworten mit Zitat
Benutzer-Profile anzeigen
und meine fragerei geht in die nächste runde^^.
wie kann man es so einrichten, dass man die maus im spiel nur sehr langsam bewegen kann, d.h. z.B. bei pingpong dass man trotz maus steuerung alles nicht in lichtgeschwindigkeit machen kann. Wäre sehr dankbar für eine Hilfe in Form eines Beispielprogrammes oder eines hilfreichen Beitrags Wink

Cardonic

BeitragSa, Nov 11, 2006 9:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
MX = (MX+MouseX())/2
MY = (MY+MouseY())/2

MoveMouse MX,MY


mfg Cardonic
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Nov 11, 2006 9:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
indem du den Schläger zur Maus bewegst!
Beispiel:
Code: [AUSKLAPPEN]
if Mousex() > Schlaegerx then Schlaeger = schlaeger + Speed

das läßt sich aber noch verfeinern!
[BB2D | BB3D | BB+]

pixelshooter

BeitragSa, Nov 11, 2006 11:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du so was wie eine Geschwindigkeitsbegrenzung brauchst:
Code: [AUSKLAPPEN]
MoveMouse(0,0)
Repeat
Delay 100
speedx = MouseXSpeed()
speedy = MouseYSpeed()
begrenzung = 10
If speedx > begrenzung Then speedx = begrenzung
If speedy > begrenzung Then speedx = begrenzung
If speedx < -begrenzung Then speedx = -begrenzung
If speedy < -begrenzung Then speedx = -begrenzung
xpos = xpos + speedx
ypos = ypos + speedy
MoveMouse (xpos,ypos)
Print speedx + "/" + speedy
Forever

aber du solltest hidepointer() benutzten und deinen eigenen Cursor malen, sonst "springt" die Maus im Fenstermodus, wenn du zu schnell bist.
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc
 

c64

BeitragSa, Nov 11, 2006 11:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, snörkl also auf geschwindigkeitsbegrenzung wurde hier ja schon eingegangen. Hier nun eine möglichkeit die Sensibilietät der Mouse einzustellen. Das mit dem Wert /2 find ich nicht so praktisch wobei es dennoch zeigt wie mans machen kann besser ist aber WERT*Faktor finde ich, auch wenn man dann Float Variablen nutzen muss / sollte.

Code: [AUSKLAPPEN]


global mouse_sensitivy# = 0.1
global mxspeed#             
global myspeed#               


function updt_Mouse()

      mxspeed = mousexspeed () * mouse_sensitivy
      myspeed = mouseyspeed () * mouse_sensitivy

end function


[edit]
Eigentlich ersichtlich ! Aber der Vorteil ist man kann die Mouse schneller oder langsamer machen.
[/edit]
Betreten verboten! Kinder haften für ihre Eltern!
  • Zuletzt bearbeitet von c64 am Sa, Nov 11, 2006 14:32, insgesamt einmal bearbeitet
 

snörkl

BeitragSa, Nov 11, 2006 11:52
Antworten mit Zitat
Benutzer-Profile anzeigen
also bis auf die version von pixelshooter verlangsamt sich eigentlich meine maus nicht^^. Ich möcht aber halt leider auch nicht so gerne noch externe icons für ne andere maus einbinden

pixelshooter

BeitragSa, Nov 11, 2006 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
hab grad gesehen das in meinem code n fehler is(u d n peinlicher Embarassed )
neue fassung, neues glück:
Code: [AUSKLAPPEN]
MoveMouse(0,0)
Repeat
Delay 100
speedx = MouseXSpeed()
speedy = MouseYSpeed()
begrenzung = 10
If speedx > begrenzung Then speedx = begrenzung
If speedy > begrenzung Then speedy = begrenzung
If speedx < -begrenzung Then speedx = -begrenzung
If speedy < -begrenzung Then speedy = -begrenzung
xpos = xpos + speedx
ypos = ypos + speedy
MoveMouse (xpos,ypos)
If KeyHit(1) Then End
Flip
Forever

bei den anderen müsste es auch gehen, gib halt mal andere Faktoren/Divisoren ein. Wenn du Pingpong spielen willst, blendest du statt Maus doch eh Schläger ein, oder? Und im Vollbild haste eh keine Windows-Maus. Aber wenn du sie brauchst: Im Windows-Ordner ist die auch als gif gespeichert.
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc
 

c64

BeitragSa, Nov 11, 2006 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

also bis auf die version von pixelshooter verlangsamt sich eigentlich meine maus nicht^^


Tztztz...

Code: [AUSKLAPPEN]


global mouse_sensitivy# = 0.1
Global mxspeed             
Global myspeed               

   

Global mxpos  = MouseX()           
Global mypos  = MouseY()   
      

;////////////////////////////
;/

function updt_Mouse()

      mxspeed = mousexspeed () * mouse_sensitivy
      myspeed = MouseYSpeed () * mouse_sensitivy

     mxpos=mxpos+mxspeed
     mypos=mypos+myspeed
      
     Oval mxpos-3,mypos-3,6,6 

      MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
                

End Function

;/
;////////////////////////////

;--------------------------------------------------------------

   Graphics 800,600,0,2

   SetBuffer BackBuffer ()

   HidePointer
   
Repeat

   Cls
   
   Text 10,10," +/- für Speed (bewegung kann auch Invertiert werden ! SPEED "+Mouse_sensitivy

   If KeyHit(53) Or  KeyHit (74) mouse_Sensitivy=mouse_Sensitivy - .1
   If KeyHit(27) Or  KeyHit (78) mouse_Sensitivy=mouse_Sensitivy + .1
            
   updt_mouse()
   
    Flip

   If KeyHit(1) End

Forever

;--------------------------------------------------------------

Betreten verboten! Kinder haften für ihre Eltern!
 

snörkl

BeitragSo, Nov 12, 2006 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
danke euch!
jetzt hab ich nur noch ein problem(chen). Ich möchte mein programm so schreiben, dass wenn ich an eine bestimmte stelle komme die maus sich nicht mehr bewegen kann. Soweit so gut. Aber trotz movemouse 150,150 vor der abfrage wo die maus sich befindet bleibt sie "eingerastet" von anfang an stehen. Hier ungefähr was ich meine:

Code: [AUSKLAPPEN]
Graphics 640,480,16,2
HidePointer
Repeat


Cls

  updt_mouse()
 Flip

If KeyHit(1)

End
EndIf 
 





If mxpos>-1 And mypos>-1 And Mxpos<642 And mypos<30
movemouseid=movemouseid+1
MoveMouse 150,150
EndIf

If Mxpos>-1 And Mypos>-1 And Mxpos<11 And Mypos<483
movemouseid=movemouseid+1
MoveMouse 150,150
EndIf

If movemouseid=>2
mouse_sensitivy# = 0.0
EndIf


Forever 


;--------------------------------------------------------------

   
     
;////////////////////////////
;/

Function updt_Mouse()

      mxspeed = MouseXSpeed () * mouse_sensitivy
      myspeed = MouseYSpeed () * mouse_sensitivy

     mxpos=mxpos+mxspeed
     mypos=mypos+myspeed
     
    Oval mxpos-3,mypos-3,6,6 

      MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
               

End Function


hoffe auf baldige antwort,
mfg
Snörkl

pixelshooter

BeitragSo, Nov 12, 2006 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Alsoo erstmal musst du seine sensivity-Variable auf einen Wert > 0 festlegen(global). Und was soll das "movemouse graphicswidth() / 2..."? Ich glaub auch die Maus ist von Anfang an ind dem Feld.
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc
 

snörkl

BeitragSo, Nov 12, 2006 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
also das langsamer bewegen, da hab ich ja den code net geschrieben. Das mit mousesensetivy hab ich jetzt vergessen mit ins forum zu posten, aber das is scho drinn^^

pixelshooter

BeitragSo, Nov 12, 2006 17:31
Antworten mit Zitat
Benutzer-Profile anzeigen
ich glaub du definierst zweimal ein Feld, in den die Maus stoppt, und die is direkt am Anfang darin.
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc
 

snörkl

BeitragSo, Nov 12, 2006 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ah, werd schaun ob du recht hast, danke schon mal

snörkl

Christoph

BeitragSo, Nov 12, 2006 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du willst kannst du die Maus auch über

Start->Systemsteuerung->Maus->Zeigeroptionen->Bewegung

verlangsamen Wink

pixelshooter

BeitragSo, Nov 12, 2006 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Das is doch viel zu einfach für nen Programmierer Very Happy
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc
 

c64

BeitragSo, Nov 12, 2006 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast vergsessen die Variablen zu definieren Wink

http://blitzbase.de/tutorials/rob_3.html

Code: [AUSKLAPPEN]

Graphics 640,480,16,2
HidePointer

Global Mxpos  , Mypos
Global Mouse_sensitivy# = .1
            

Repeat


    Cls

    updt_mouse()

    If KeyHit(1) End
 
    Flip 1

Forever


;--------------------------------------------------------------

   
     
;////////////////////////////
;/

Function updt_Mouse()

      mxspeed# = MouseXSpeed () * mouse_sensitivy
      myspeed# = MouseYSpeed () * mouse_sensitivy

      mxpos=mxpos+mxspeed
      mypos=mypos+myspeed



      If mxpos <  50  mxpos =  50
      If mxpos > 250  mxpos = 250
 
      If mypos <  50  mypos =  50
      If mypos > 250  mypos = 250
                            
      Oval mxpos-3,mypos-3,6,6

      MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
               

End Function
Betreten verboten! Kinder haften für ihre Eltern!
 

snörkl

BeitragMo, Nov 13, 2006 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
ah, thx. Ok, es geht jetzt wirklich gut, ihr habt mir sehr geholfen! Ich lern jetzt grade wie man pixelt o.O anstrengend ^^ und hab das bit dem maus verlangsamen gut hingekriegt. Thx euch allen

mfg
snörkl^^ Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group