 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 13.03.2010, 21:36 Titel: Maus, Rechteck zeichnen[gelöst],neues Problem mit Beenden |
|
|
Hi, gleich das nächste Problem. Ich möchte, dass man mit der Maus bei gedrückter linker Maustaste, ein Rechteck zeichnen kann(wie man es auf dem Desktop auch machen kann). Dazu habe ich folgendes gemacht:
Code: | if buttons and 1 then
tx=mousex
ty=mousey
line(tx,ty)-(mousex-tx,mousey-ty),&hFFFFFF,B
end if
Put (mousex,mousey),mousep,Trans |
mousex und mousey sind die Koordinaten der Maus, mousep ist das Mausbild.
Mein Problem ist folgendes: Immer wenn ich versuche ein Rechteck zu zeichnen, fängt es in der linken oberen Ecke an, und nicht an der Mausposition, Was habe ich also falsch gemacht?
Zuletzt bearbeitet von Westbeam am 20.03.2010, 16:30, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 13.03.2010, 21:45 Titel: |
|
|
du verwechselst line und line step _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 13.03.2010, 21:54 Titel: |
|
|
Meinst du das Gummiband (falls das noch so heißt)?
Code: | dim as integer tx, ty, mousex, mousey, buttons
getmouse mousex, mousey,, buttons
if buttons = 1 then
' Startposition festlegen
tx = mousex
ty = mousey
' Gummiband ziehen
do while buttons and 1
getmouse mousex, mousey,, buttons
line(tx,ty)-(mousex,mousey),&hFFFFFF,B
sleep 1
line(tx,ty)-(mousex,mousey),0,B
loop
end if |
Ich habe mal buttons = 1 statt buttons AND 1 genommen, weil ich mich sonst auch außerhalb des Fensters (buttons == -1) "die Maustaste drücke". _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 13.03.2010, 22:02 Titel: |
|
|
@nemored
Ja, so ungefähr. Allerdings hängt sich dein Beispiel bei mir kurz auf. Danach erscheint kurz ein schwarzer Kasten und dann läuft das Programm weiter ...
@MisterD
Wie wende ich Line Step an? |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 13.03.2010, 22:35 Titel: |
|
|
Code: | LINE(startX,startY)-step(laenge,breite) |
(genaueres siehe Referenz) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 13.03.2010, 23:03 Titel: |
|
|
Ich habe das jetzt so gemacht:
Code: | LINE (tx,ty)-step(mousex,mousey),&hFFFFFF,B |
Das entspricht schon etwas mehr meinen Vorstellungen. Aber die Maus soll unten rechts in der ecke des zeichnende Dreiecks sein, während es gezeichnet wird, und nicht links oben. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 14.03.2010, 00:14 Titel: |
|
|
Das wundert mich nicht ...
Hast du den Referenzeintrag gelesen? _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 14.03.2010, 12:25 Titel: |
|
|
Ja
Da steht(bei Step), dass die Ausgabe sich relativ zur aktuellen Mausposition verhält. Das bedeutend unhilfreich. Das Problem ist, dass sich die Variablen tx und ty sich verändern, also sie haben den selben Wert wie mousex und mousey und sie verändern sich so auch. Das sollen sie aber nicht, deswegen habe ich versucht, sie als Konstanten(mit Const) zu benutzen, das funktioniert aber leider auch nicht:
Code: | const as integer tx=mousex
const as integer ty=mousey
if buttons and 1 and mousex>20 then
LINE (tx,ty)-step(mousex,mousey),&hFFFFFF,B
end if
Put (mousex,mousey),mousep,Trans |
Gibt bei mir den Error: unbenannt.bas(114) error 11: Expected constant, tx in 'const as integer tx=mousex'. Ich bin aber sicher, dass es auch ohne Konstanten gehen muss. Ich habe mir einen alten BltizBasic-Code angeschaut, da wird das so gelöst, wie ich es am Anfang hatte(nur das das ja in FreeBasic nicht funktioniert): Code: | Local mx, my, tx, ty
While Not KeyHit( 1 )
Cls
DrawImage mouse,MouseX(),MouseY()
mx = MouseX( )
my = MouseY( )
If MouseHit( 1 )
tx = mx
ty = my
EndIf
If MouseDown( 1 )
Rect tx, ty, mx-tx, my-ty,0
EndIf
Flip
Wend
End |
|
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 14.03.2010, 13:52 Titel: |
|
|
Mit Const geht es nicht, weil einer Konstante nur ein fester Wert zugeordnet werden kann, deswegen auch Const = Konstante.
Der Code von nemored funktioniert doch prima, hab ihn etwas ausgebaut, damit ein fertiges Programm entsteht:
Code: | ScreenRes 200, 200, 32
Dim As Integer tx, ty, mousex, mousey, buttons
Do
GetMouse mousex, mousey,, buttons
If buttons = 1 Then
' Startposition festlegen
tx = mousex
ty = mousey
' Gummiband ziehen
Do While buttons And 1
GetMouse mousex, mousey,, buttons
Line(tx, ty)-(mousex, mousey), &hFFFFFF, B
Sleep 1
Line(tx, ty)-(mousex, mousey), &h000000, B
Loop
End If
Sleep 1
Loop Until InKey = "a"
|
|
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 14.03.2010, 14:20 Titel: |
|
|
Ich habe aber die Maus ausgestellt und eine eigene Maus wird geladen(Put (mousex,mousey),mousep,Trans), wenn ich also ein Rechteck zeichnen will, bleibt die Maus trotzdem in der linken oberen Ecke.
Dein Lösungsversuch ist ja ganz gut, aber ich schreibe eine (DOS)GUI. Da bei DOS standardmäßig kein Mauszeiger vorhanden ist, muss ich einen eigenen zeigen. So, das ist der ganze Code:
Code: | Screen 18,24,2
dim shared as string taste,dateiname,dateiname2,mouse,dateiname22
dim as integer breit,hoch,breit2,hoch2,mouseb,mouseh,breit22,hoch22
dim shared as integer mousex,mousey,buttons,menu,tx,ty
Dim As Integer ff = Freefile 'Anfrage welcher Übertragungsweg ist frei?
dateiname="Gfx/PANEL.bmp"
Open dateiname For Input As #ff 'öffne die Datei zum lesen
Get #ff, 19, breit 'Breite aus der BMP-Datei auslesen
Get #ff, 23, hoch 'Höhe aus der BMP-Datei auslesen
Close #ff 'schließe die Datei
Dim As Integer fm = Freefile 'Anfrage welcher Übertragungsweg ist frei?
mouse="Gfx/MOUSE.bmp"
Open mouse For Input As #fm 'öffne die Datei zum lesen
Get #fm, 19, mouseb 'Breite aus der BMP-Datei auslesen
Get #fm, 23, mouseh 'Höhe aus der BMP-Datei auslesen
Close #fm 'schließe die Datei
Dim As Integer ff2 = Freefile 'Anfrage welcher Übertragungsweg ist frei?
dateiname2="Gfx/B1.bmp"
Open dateiname2 For Input As #ff2 'öffne die Datei zum lesen
Get #ff2, 19, breit2 'Breite aus der BMP-Datei auslesen
Get #ff2, 23, hoch2 'Höhe aus der BMP-Datei auslesen
Close #ff2 'schließe die Datei
Dim As Integer ff3 = Freefile 'Anfrage welcher Übertragungsweg ist frei?
dateiname22="Gfx/B2.bmp"
Open dateiname22 For Input As #ff3 'öffne die Datei zum lesen
Get #ff3, 19, breit22 'Breite aus der BMP-Datei auslesen
Get #ff3, 23, hoch22 'Höhe aus der BMP-Datei auslesen
Close #ff3 'schließe die Datei
Dim shared bild As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
bild = ImageCreate(breit,hoch) 'reserviert und berechnet den erforderlichen Speicher
'und gibt an den Zeiger die Adresse des reservierten Speichers. 'lade das Bild in den Speicher, der Zeiger 'bild' hat die Adresse.
Dim shared bild2 As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
bild2 = ImageCreate(breit2,hoch2)
Dim shared bild22 As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
bild22 = ImageCreate(breit22,hoch22)
Dim shared mousep As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
mousep = ImageCreate(mouseb,mouseh)
Type sysinfo
uptime As Long
loads(2) As ULong
totalram As ULong
freeram As ulong
sharedram As ULong
bufferram As ULong
totalswap As ULong
freeswap As ULong
procs As UShort
f(22) As UByte
End Type
Declare Function Info CDecl Alias "sysinfo" (ByRef Return As sysinfo) As Integer
Dim MySysInfo As sysinfo
info mysysinfo
Function set_fbfont (ByVal x As Integer) As Integer
Dim As Integer breit2, hoch2
ScreenInfo breit2, hoch2
Select Case x
Case 8, 14, 16 'nur 8, 14 oder 16 funktioniert richtig
Width breit2\8, hoch2\x ' hier wird auto. Cls ausgeführt
Case Else
Return 0 'etwas lief schief
End Select
Return 1 'Font erfolgreich gesetzt
End Function
set_fbfont(8)
Bload dateiname, bild
bload dateiname2,bild2
bload dateiname22, bild22
bload mouse, mousep
setmouse 310,230,0
do
info mysysinfo
getmouse mousex,mousey,,buttons
taste=inkey()
IF buttons = 1 THEN
' Startposition festlegen
tx = mousex
ty = mousey
' Gummiband ziehen
DO WHILE mousex>20 and buttons AND 1
GETMOUSE mousex, mousey,, buttons
LINE(tx, ty)-(mousex, mousey), &hFFFFFF, B
SLEEP 1
LINE(tx, ty)-(mousex, mousey), &h0054A8, B
LOOP
end if
screenlock
cls
Put(0,460), bild
put (0,460), bild2,Trans
Line(0,0)-(640,459),&h0054A8,BF
Color &h000000
Draw String (460,466), Date
Draw String (570,466), Time
Draw string (46,466), "DESTOP GUI[V.0.0.2]"
with mysysinfo
Draw String (240,466),"Freier RAM: "&.freeram &" KB"
end with
if mousex<20 and mousey>460 and buttons and 1 and menu=0 then
menu=1
sleep 150
elseif mousex<20 and mousey>460 and buttons and 1 and menu=1 then
menu=0
sleep 150
end if
if menu=1 then
Put (0,460),bild22,Trans
elseif menu=0 then
Put (0,460),bild2,Trans
end if
'const as integer tx=mousex
'const as integer ty=mousey
'if buttons and 1 and mousex>20 then
' LINE (tx,ty)-step(mousex,mousey),&hFFFFFF,B
'end if
Put (mousex,mousey),mousep,Trans
screenunlock
sleep 1
loop until taste=chr(27)
imagedestroy mousep
imagedestroy bild
imagedestroy bild2
imagedestroy bild22
End |
|
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 14.03.2010, 14:25 Titel: |
|
|
Zur Erläuterung des Codes:
Wenn die Maustaste niedergedrückt wird, dann - und nur dann - werden tx und ty auf die aktuelle Mauskoordinaten gesetzt. Solange die Maustaste gedrückt ist (wir befinden uns innerhalb der zweiten Schleife) werden zwar weiterhin die Mauskoordinaten abgefragt, aber eben nicht tx und ty neugesetzt. Das heißt, der Startpunkt bleibt gleich, der Endpunkt liegt bei der aktuellen Mausposition.
edit: ist schon wieder nicht mehr aktuell ... Aber jetzt ist zumindest die Problemstellung klarer.
edit2
Dass die Maus nicht mitwandert, liegt daran, dass du sie im Bereich
Code: | ' Gummiband ziehen
DO WHILE mousex>20 AND buttons AND 1
GETMOUSE mousex, mousey,, buttons
LINE(tx, ty)-(mousex, mousey), &hFFFFFF, B
SLEEP 1
LINE(tx, ty)-(mousex, mousey), &h0054A8, B
LOOP |
ebenfalls (nach dem GETMOUSE) neu zeichnen musst. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 14.03.2010, 14:59 Titel: |
|
|
Hm, ja. Ich habs jetzt. So hab ichs gemacht(der ganze Code):
Code: | Screen 18,24,2
dim shared as string taste,dateiname,dateiname2,mouse,dateiname22
dim shared as integer breit,hoch,breit2,hoch2,mouseb,mouseh,breit22,hoch22
dim shared as integer mousex,mousey,buttons,menu,tx,ty
declare sub machbild()
Dim As Integer ff = Freefile 'Anfrage welcher Übertragungsweg ist frei?
dateiname="Gfx/PANEL.bmp"
Open dateiname For Input As #ff 'öffne die Datei zum lesen
Get #ff, 19, breit 'Breite aus der BMP-Datei auslesen
Get #ff, 23, hoch 'Höhe aus der BMP-Datei auslesen
Close #ff 'schließe die Datei
Dim As Integer fm = Freefile 'Anfrage welcher Übertragungsweg ist frei?
mouse="Gfx/MOUSE.bmp"
Open mouse For Input As #fm 'öffne die Datei zum lesen
Get #fm, 19, mouseb 'Breite aus der BMP-Datei auslesen
Get #fm, 23, mouseh 'Höhe aus der BMP-Datei auslesen
Close #fm 'schließe die Datei
Dim As Integer ff2 = Freefile 'Anfrage welcher Übertragungsweg ist frei?
dateiname2="Gfx/B1.bmp"
Open dateiname2 For Input As #ff2 'öffne die Datei zum lesen
Get #ff2, 19, breit2 'Breite aus der BMP-Datei auslesen
Get #ff2, 23, hoch2 'Höhe aus der BMP-Datei auslesen
Close #ff2 'schließe die Datei
Dim As Integer ff3 = Freefile 'Anfrage welcher Übertragungsweg ist frei?
dateiname22="Gfx/B2.bmp"
Open dateiname22 For Input As #ff3 'öffne die Datei zum lesen
Get #ff3, 19, breit22 'Breite aus der BMP-Datei auslesen
Get #ff3, 23, hoch22 'Höhe aus der BMP-Datei auslesen
Close #ff3 'schließe die Datei
Dim shared bild As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
bild = ImageCreate(breit,hoch) 'reserviert und berechnet den erforderlichen Speicher
'und gibt an den Zeiger die Adresse des reservierten Speichers. 'lade das Bild in den Speicher, der Zeiger 'bild' hat die Adresse.
Dim shared bild2 As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
bild2 = ImageCreate(breit2,hoch2)
Dim shared bild22 As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
bild22 = ImageCreate(breit22,hoch22)
Dim shared mousep As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
mousep = ImageCreate(mouseb,mouseh)
Type sysinfo
uptime As Long
loads(2) As ULong
totalram As ULong
freeram As ulong
sharedram As ULong
bufferram As ULong
totalswap As ULong
freeswap As ULong
procs As UShort
f(22) As UByte
End Type
Declare Function Info CDecl Alias "sysinfo" (ByRef Return As sysinfo) As Integer
Dim shared MySysInfo As sysinfo
info mysysinfo
Function set_fbfont (ByVal x As Integer) As Integer
Dim As Integer breit2, hoch2
ScreenInfo breit2, hoch2
Select Case x
Case 8, 14, 16 'nur 8, 14 oder 16 funktioniert richtig
Width breit2\8, hoch2\x ' hier wird auto. Cls ausgeführt
Case Else
Return 0 'etwas lief schief
End Select
Return 1 'Font erfolgreich gesetzt
End Function
set_fbfont(8)
Bload dateiname, bild
bload dateiname2,bild2
bload dateiname22, bild22
bload mouse, mousep
setmouse 310,230,0
do
info mysysinfo
getmouse mousex,mousey,,buttons
taste=inkey()
IF buttons = 1 THEN
' Startposition festlegen
tx = mousex
ty = mousey
' Gummiband ziehen
DO WHILE mousex>20 and buttons AND 1
GETMOUSE mousex, mousey,, buttons
screenlock
machbild()
screenunlock
LINE(tx, ty)-(mousex, mousey), &hFFFFFF, B
SLEEP 1
LINE(tx, ty)-(mousex, mousey), &h0054A8, B
LOOP
end if
screenlock
machbild()
screenunlock
sleep 1
loop until taste=chr(27)
imagedestroy mousep
imagedestroy bild
imagedestroy bild2
imagedestroy bild22
End
Sub machbild()
cls
Put(0,460), bild
put (0,460), bild2,Trans
Line(0,0)-(640,459),&h0054A8,BF
Color &h000000
Draw String (460,466), Date
Draw String (570,466), Time
Draw string (46,466), "DESTOP GUI[V.0.0.2]"
with mysysinfo
Draw String (240,466),"Freier RAM: "&.freeram &" KB"
end with
if mousex<20 and mousey>460 and buttons and 1 and menu=0 then
menu=1
sleep 150
elseif mousex<20 and mousey>460 and buttons and 1 and menu=1 then
menu=0
sleep 150
end if
if menu=1 then
Put (0,460),bild22,Trans
elseif menu=0 then
Put (0,460),bild2,Trans
end if
'const as integer tx=mousex
'const as integer ty=mousey
'if buttons and 1 and mousex>20 then
' LINE (tx,ty)-step(mousex,mousey),&hFFFFFF,B
'end if
Put (mousex,mousey),mousep,Trans
end sub
'until mousex<20 and mousey>460 and buttons and 1 |
Funktioniert besser als der BlitzBasic-Code
Danke, dass ihr euch die Zeit genommen habt, mir zu helfen. Ich weiß, ich kann schwierig sein.
EDIT: Gleich ein neues Problem. Ich möchte bei geöffneten Menü und einem Druck auf einen Menüeintrag, sich das Programm beendet. Dazu habe ich folgende Zeile als Schleifenende:
Code: | loop until (menu=1 and mousex>4 and mousex<94 and mousey>448 and mousey<456 and buttons=1) or (taste=chr(27)) |
Leider passiert garnichts, wenn ich auf den Menüeintrag klicke(der an der Position ist, die angegeben wurde). Ich kann das Programm lediglich über die Escape-Taste beenden.  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 14.03.2010, 22:46 Titel: |
|
|
menu = 1 tritt wohl nur ein, wenn mousex < 20, wenn ich das beim Überfliegen richtig gesehen habe:
Code: | if mousex<20 and mousey>460 and buttons and 1 and menu=0 then
menu=1
sleep 150
[...] |
Dann wäre der ganze Bereich 20<=mousex<94 nicht betroffen.
[edit: noch schlimmer - du bist ja gar nicht im richtigen mousey-Bereich! mousey<456 versus mousey>460]
Nebenbei was anderes: Ich würde das lieber als
Code: | if mousex<20 and mousey>460 and (buttons and 1) = 1 and menu=0 then |
schreiben, damit dir nicht irgendwann die bitweise Verknüpfung einen Strich durch die Rechnung macht. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 14.03.2010, 23:08 Titel: |
|
|
Zitat: | ...damit dir nicht irgendwann die bitweise Verknüpfung einen Strich durch die Rechnung macht. |
...Hab ich ihm in einem anderen Thread auch schon empfohlen, aber scheint ihm ja scheinbar nichts zu machen! _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 19.03.2010, 16:50 Titel: |
|
|
@nemored
Das klappt aber so, wie es da steht. Mein Problem liegt bei der Zeile wo die Schleife endet (loop until ...). Da passiert leider gar nichts  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 19.03.2010, 18:01 Titel: |
|
|
Genau auf diese LOOP beziehe ich mich. Der Fehler entsteht aber nun mal schon vorher. Bzw. im Zusammenspiel beider Zeilen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 19.03.2010, 19:29 Titel: |
|
|
Naja Westbeam, solange es läuft, sollte man nicht auf andere und erfahrenere Leute hören. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 20.03.2010, 10:22 Titel: |
|
|
Es soll sich aber nicht beenden, wenn man auf bild2 klickt, sondern wenn man auf den Schriftzug "Beenden" klickt. Und der ist nun einmal an der angegebenen Position  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 20.03.2010, 11:27 Titel: |
|
|
Das mag ja sein, aber du erwartest beim LOOP ein menu=1, und aufgrund deines Codes ist, wenn sich die Maus an der gewünschten Position befindet, eben menu<>1. Du prüfst auf eine Bedingung, die nie eintritt. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 20.03.2010, 14:18 Titel: |
|
|
Das menu ist aber 1. Sonst würde es nicht da sein.
Das ganze funktioniert auch ohne menu=1 nicht:
Code: | if (mousex>583 and mousex<615 and mousey>428 and mousey<460 and buttons=1) then quit()
sub quit()
imagedestroy progpic
imagedestroy quitpic
imagedestroy aboutpic
imagedestroy mousepic
end
end sub |
Ich habe ein Icon für das Beenden gemacht, welches an x=583 und y=428 angezeigt wird. Diesmal hängt sich das ganze Programm auf. Komisch ist nur das folgendes sich nicht aufhängt:
Code: | if (mousex>583 and mousex<615 and mousey>428 and mousey<460 and buttons=1) then draw string(100,100),"Test" |
|
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|