MouseOver?
Übersicht

![]() |
BlackFireBetreff: MouseOver? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leutz
Ich versuche gerade sowas wie ein MouseOver zu immitieren, also so ein Text der leuchtet wenn man mit dem Cursor drüber ist, doch leider wills mir nicht ganz gelingen. Der Code funktioniert, aber der Code reagiert zu langsam. Es dauert immer ne Sekunde bis der Text die Farbe verändert. Wie kann ich das optimieren? und Danke im Vorhaus ![]() Code: [AUSKLAPPEN] Graphics 640,480,32 SetBuffer BackBuffer() String1$="Hello World (ist nur ein Testcode)" ;Text in die Mitte setzen xpos=320-(StringWidth(String1$)/2) ypos=240-(StringHeight(String1$)/2) ;Standartfarbe Color 255,255,255 While Not KeyHit(1) Cls ;MouseOver Abfrage If MouseX() > xpos And MouseX() < (xpos+StringWidth(String1$)) If MouseY() > ypos And MouseY() < (ypos+StringHeight(String1$)) Color 255,0,0 Else Color 255,255,255 EndIf EndIf Text xpos, ypos, String1$ Flip Wend End |
||
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Rechner ist lahm! Bei mir wechselt der Text sofort die Farbe, ohne Verzögerung. Der Code ist auch korrekt. Also kein Fehler fest zu stellen. Vielleicht hast du was im Hintergrund laufen das Systemressourcen frisst? | ||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
![]() |
BlackFire |
![]() Antworten mit Zitat ![]() |
---|---|---|
AMD Athlon 64 3500, 512 MB DDR RAM, GeForce 6600, 250 GB S-ATA HD
Im Hintergrund laufen lediglich Firefox und Blitz3D Möglich das ich es mir nur einbilde das es etwas langsam reagiert, ich weiss es nicht. Mir kommt es etwas zu langsam vor |
||
![]() |
Crono |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich mach das immer so:
Code: [AUSKLAPPEN] Graphics 640, 480, 16, 2 Setbuffer Backbuffer() Repeat Color 255, 255, 255 Text 162, 455, "Beenden" If RectsOverlap (x, y, 1, 1, 162, 455, 80, 10) mausklick = (Maus=1) If mausklick = 1 Then end Color 200, 0, 0 Text 162, 455, "Beenden" End If Until Keyhit(1) Läuft auch auf meinm alten Rechner problemlos Cu Crono[/syntax] |
||
User posted image |
![]() |
BlackFire |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja danke mal | ||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@BlackFire,
dein Code scheint nicht ganz in Ordnung zu sein, denn wenn ich mit der Maus rüber gehe dann seitlich weg und dann die Maus Y-Position aus dem Bereich bewege, dann leuchtet der Text immer noch rot. Soll das so sein? Wenn nicht, dann setze Standardcolor vor den If-Abfragen oder verzichte auf doppelte IF-Verschachtelung und frage viermal hintereinander mit And ab... Also:Code: [AUSKLAPPEN] If MouseX() > xpos And MouseX() < (xpos+StringWidth(String1$)) And MouseY() > ypos And MouseY() < (ypos+StringHeight(String1$))
Vielleicht ist das die Trägheit die du meinst... |
||
![]() |
Bionical |
![]() Antworten mit Zitat ![]() |
---|---|---|
@BlackFire
Shalte mal den Debugger ab. Bei mir hats manchmal geholfen... |
||
Das Leben ist zum Proggen da!
www.livingsoftware.at.tc Mit selbstgehosteten Forum! Das Forum ist leider gerade down.... Dank Funpic.de -.- |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: und Blitz3D
heisst das die IDE oder eine Blitz3D anwendung? Im Fall von letzterem liegt es daran, dass Blitz3D anwendungen 100% Systemressourcen schlucken und deswegen alles sehr langsam wird. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
BlackFire |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK das Problem ist von hectic gelöst worden. DANKE
Dein Code ist perfekt, er weist nicht die geringste Verzögerung auf ![]() |
||
![]() |
soli |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn man mit der Maus vom Text zur Seite, und dann nach oben geht bleibt der Text rot, das liegt daran das nur die inner Schleife ein "else" hat.
Ich würde das so machen Code: [AUSKLAPPEN] Graphics 640,480,16,2 SetBuffer BackBuffer() String1$="Hello World (ist nur ein Testcode)" ;Text in die Mitte setzen xpos=320-(StringWidth(String1$)/2) ypos=240-(StringHeight(String1$)/2) ;Standartfarbe Color 255,255,255 While Not KeyHit(1) Cls ;MouseOver Abfrage a= MouseX() > xpos And MouseX() < (xpos+StringWidth(String1$)) b= MouseY() > ypos And MouseY() < (ypos+StringHeight(String1$)) If a And b Color 255,0,0 Else Color 255,255,255 EndIf Text xpos, ypos, String1$ Flip Wend End .....und dein Code ist bei mir schnell genug, mit und ohne Debugger. |
||
solitaire |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group