Problem mit Menü
Übersicht

![]() |
CronoBetreff: Problem mit Menü |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, bin neu hier 8) Seit gut 5 Wochen hab ich BB und ich komm nichtmehr davon los ![]() Nun aber zu meinem Problem: Ich arbeite gerade an einem Spiel. Das Menü war vorher mit Bilder und vielen IF´s. Ich dachte mir, das eine Maussteuerung angebracht währe und habe mal zum Testen und einarbeiten dieses kleine Programm geschrieben: BlitzBasic: [AUSKLAPPEN]
Nun aber zum eigentlichen Problem: 1. Ich kann schonmal nicht beurteilen, ob das in ordung ist, oder ob es da in Sachen Geschwindigkeit noch etwas zu verbessern gibt. 2. Der Button Beenden: Wenn man ihn anklickt, passiert manchmal garnix, manchmal funzt er und manchmal nur nach einem schnellen doppelklick (daher meine ich auch, das das etwas langsam ist - obwohl es bei mir 50 fps hat) Cu Crono |
||
User posted image |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1. Benutz Print, Write und Locate niemals bei Doublebuffering. Nimm Text dafür.
2. Speicher den Rückgabewert von Getmouse in eine Variable, und ruf GetMouse auf diese Weise nur einmal auf pro Schleifendurchgang auf. Ist das selbe Problem, dass auch bei MouseHit auftritt. Aber wieso nimmst du nichtBlitzBasic: [AUSKLAPPEN] mausklick=MouseHit(1)oderBlitzBasic: [AUSKLAPPEN] mausklick=MouseDown(1)? |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
Crono |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke! ![]() Rect ist auch schneller als Line, das werde ich auch noch ausbessern "Aber wieso nimmst du nicht..." Der Befehl stand so in der Hilfe ![]() nachtrag: Aber der Beenden Button geht immer noch nicht... Cu Crono |
||
User posted image |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Geht doch:BlitzBasic: [AUSKLAPPEN]
|
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich habe nur bei folgender Zeile das letzte (=1) weggenommen und schon gings:
Code: [AUSKLAPPEN] mausklick = GetMouse() = 1 in der nachfolgenden Zeile prüfst du ja schon auf mausklick=1, deshalb ist es auch überflüssig bzw. falsche Syntax, wenn du in es so machst wi in meinem gerade geschribenen code-tag |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das verändert nichts. Zwar geht es manchmal, wie Crono es erwähnte, manchmal aber auch nicht. Das liegt an dem zweimaligen Aufruf von GetMouse (s.o.). | ||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
Crono |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen vielen dank ![]() ![]() Cu Crono |
||
User posted image |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
sorry, wenn ich diesen Thread für meine Zwecke missbrauche, aber jetzt habe ich noch eine Frage: Wozu Code: [AUSKLAPPEN] mausklick = MouseDown(1)
und nicht einfach nur Code: [AUSKLAPPEN] MouseDown(1) ???
[/syntax] |
||
- Zuletzt bearbeitet von Hagbard am Sa, Apr 17, 2010 16:05, insgesamt einmal bearbeitet
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
weil du mit erstem in einer variable speicherst, ob die mouse "down" ist!!
dann kannst du es überall mit der variable abfragen!! bei letzterem fragst du es direkt über die function ab, und das geht nur einmal, da die werte nicht gespeichert werden!! |
||
![]() |
Crono |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber das bräuchte ich ja hier eigentlich garnicht, oder? Ich kann doch hier die kürzere Form benutzen, da ich das ja nicht speichern muss, oder?
Cu Crono |
||
User posted image |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. ausführlich
BlitzBasic: [AUSKLAPPEN] down = MouseDown(1) 2. Kürzer BlitzBasic: [AUSKLAPPEN] If MouseDown(1)[=True] Then ;=True kann hin, muss es aber nicht Erklärung: Eine Funktion wie mousedown liefert einen Wert zurück. Bei Mousedown kann dieser Wert entweder 1 (true) oder 0 (false) sein. 1 wird zurückgeliefert, wenn die maustaste gedrückt wird, 0 wenn sie nicht gedrückt wird. eine If abfrage prüft ob die bedingung (hinter dem if) Wahr ist. wenn ja, werden die befehle bis zum endif asgeführt. also setze ich als bedingung "down = True" bzw. mousedown(1) = True. Fertig Spike ![]() |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok, jetzt erkenne ich auch denn Sinn. | ||
- Zuletzt bearbeitet von Hagbard am Sa, Apr 17, 2010 16:05, insgesamt einmal bearbeitet
![]() |
Crono |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke ![]() Cu Crono |
||
User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group