Include funzt mal und funzt mal ned!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

HartlMax

Betreff: Include funzt mal und funzt mal ned!

BeitragMi, Nov 26, 2008 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie im Titel schon steht funzt bei mir der Include befehl und dan mal nicht!
kapiert einer das?

einmal der Code! bin mir eigentlich ganz sicher das er funktioniert! vorher hat er auch immer geklappt!
Code: [AUSKLAPPEN]
Graphics 640, 480, 32, 2
SetBuffer BackBuffer ()

AppTitle "Funky Town"

titelbild = LoadImage ("game/gfx/titelschrift.png")
MaskImage titelbild, 0, 255, 0

titelmusic = PlayMusic ("game/media/funkytown.mid")

While Not KeyHit(2) Or KeyHit(3)

   Cls   
   DrawImage titelbild, 80, 0
   
   Locate 130, 240
   Print "press 1 for 1 player, 2 for 2 player or esc to EXIT"

   If KeyHit(2) Then
      StopChannel titelmusic   
      Include "game.bb"
   ElseIf KeyHit(3) Then
      StopChannel titelmusic   
      Include "2pgame.bb"
   ElseIf KeyHit(1) Then
      End
   EndIf

   Flip

Wend
      
End


Kann mir einer helfen?

mfg Max
www.hartl-bros.de

The_Nici

BeitragMi, Nov 26, 2008 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ohne die Include zu sehen können wir dir nicht helfen. Ach ja, "While not Keyhit(2) or Keyhit(3)" ist Schwachsinn, wennschon "While not KeyHit(2) And Not KeyHit(3)"

MfG
 

DjDETE

BeitragMi, Nov 26, 2008 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
@The_Nici:Du meinst
Code: [AUSKLAPPEN]
While Not Keyhit(2) OR Not KeyHit(3)


Zum eigentl. Problem:
Wenn du 1/2 am Beginnder Schleife drückst, wird die Include ausgeführt, drückst du die Taste aber am Ende der Schleife drückst, wird die Schleife verlassen, weil du ja hier *siehe @The_Nici* schon überprüfst, ob die Tasten gedrückt wurden und der Befehl KeyHit dir ja die Tastendrücke seit der letzten Abfrage übermittelt. Wenn du anstatt KeyHit KeyDown benutzt, sollte es funktionieren.
MfG DeTe
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.
 

chi

BeitragFr, Nov 28, 2008 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
oder du verwendest...

Code: [AUSKLAPPEN]

Repeat
 k1=keyhit(2)
 k2=keyhit(3)
 ...
 if k1=true then ... do stuff
 if k2=true then ... do other stuff
 ...
Until k1 or k2
End



... so wird erst am loopende überprüft ob keyhit 2/3 gedrückt wurde und gegebenenfalls beenden. der
code davor wird vorher aber noch durchlaufen... bei while/wend wird der loop sofort abgebrochen!

weiters solltest du es vermeiden befehle doppelt oder 3fach abzufragen. einfach am anfang vom loop
deine keyboard/maus - tasten 1x abfangen und in einer variable speichern... im restlichen loop dann mit
dieser variable arbeiten Wink



cheers, chi

DaysShadow

BeitragFr, Nov 28, 2008 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
So wie das aussieht, willst du doch den Spieler entscheiden lassen, ob er einzeln oder zu zweit spielen möchte, demnach ist meines Wissens nach Include nicht der Weg dazu!
Include dient dir doch nur beim kompilieren etwas, da er da ja die angegeben Includes mitkompiliert!
Include dient der Codeaufteilung zur besseren Übersicht, aber nicht um zu entscheiden welcher Code kompiliert werden soll oder nicht!( jedenfalls nicht wenn das Programm läuft, mit Compilerflags wie ?Win32 oder ?Mac und solchen Dingen kannst du je nach Plattform entscheiden ob es mitkompiliert werden soll oder nicht)

Berichtigt mich wenn ich falsch liege und ich hoffe ich konnte helfen!

MfG DaysShadow
Blessed is the mind too small for doubt

The_Nici

BeitragFr, Nov 28, 2008 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
DjDete: Nein, mein ich nicht, ansonsten wird ja die eine Bedingung nicht mehr erfüllt, aber es ist der Schleife furzpiepegal, weil die andere noch erfüllt ist.

BladeRunner

Moderator

BeitragFr, Nov 28, 2008 18:39
Antworten mit Zitat
Benutzer-Profile anzeigen
daysshadow, bitte bedenke wenn du im BLITZBASIC-beginners antwortest, dass es dort keine Compilerdirektiven gibt - die sind BMax only.
Verwirr uns die Anfänger nicht so. Danke.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

DaysShadow

BeitragFr, Nov 28, 2008 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, entschuldigt bitte, das habe ich ganz vergessen, ich will natürlich niemanden verwirrren!
Blessed is the mind too small for doubt

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group