Probleme mit der Funktion

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

bruce185

Betreff: Probleme mit der Funktion

BeitragDo, Nov 24, 2005 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,
also ich habe folgendes Problem, und zwar bin ich ja gerade dabei ein Spiel zu schreiben, und möchte das beim Starten des Spiels ein Hinweis kommt, also in der Repeat schleife habe ich mein Spiel Code drinn, und habe noch eine Function geschrieben, wo der Hinweis kommt, ohne das der Bildschirm gelöscht wird, aber wenn der Hinweis kommt, kann man trotzdem im Hintergrund Spielen, und das möchte ich nicht, man sollte erst auf Enter drücken, um Spielen zu können, könnt ihr mir vieleicht sagen wie das geht, ich wäre euch sehr dankbar dafür Smile

gruss Andreas

d-bug

BeitragDo, Nov 24, 2005 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
zeig mal den Code der Funktion und den der Schleife bitte, oder versuchs mal mit ql:WaitKey ()

bruce185

BeitragDo, Nov 24, 2005 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
also, erst mal danke dir für deine antwort, hier mal der code:

BlitzBasic: [AUSKLAPPEN]

Graphics 1024,768,16,2
SetBuffer BackBuffer()

;Die Maus verstecken
HidePointer

;Eine Schriftart laden
Global schrift = LoadFont(\"Arial\",20,1,0,0)
SetFont schrift

;Bilder in den Speicher laden
;################################################################
Global backround = LoadImage(\"Image\backround.bmp\") ;#
MaskImage backround,255,0,255 ;#
;#
Global levels = LoadAnimImage(\"Image\levels.bmp\",600,469,0,33) ;#
MaskImage levels,255,0,255 ;#
;#
Global maus = LoadImage(\"Image\maus.bmp\") ;#
MaskImage maus,255,0,255 ;#
;#
Global maus2 = LoadImage(\"Image\maus2.bmp\") ;#
MaskImage maus2,255,0,255 ;#
;#
Global ball = LoadImage(\"Image\ball.bmp\") ;#
MaskImage ball,255,0,255 ;#
;#
Global Ziel = LoadImage(\"Image\Ziel.bmp\") ;#
MaskImage Ziel,255,0,255 ;#
;#
Global Hinweis = LoadImage(\"Image\Hinweis.bmp\") ;#
MaskImage Hinweis,255,0,255 ;#
;################################################################

;Sound Laden
Global BallSound = LoadSound(\"Sound\BallSound.wav\")
Global BackroundSound = LoadSound(\"Sound\BackroundSound.mp3\")
LoopSound (BackroundSound)
PlaySound (BackroundSound)

;Start wert für Ball Aktiv = 0
Global Ball_Aktiv = 0

;Startwerte für den Ball festlegen
Global Ball_X = 277
Global Ball_Y = 243

;Level BMP Positionieren
Global a = 204
Global b = 120

Global Ziel_X = 723
Global Ziel_Y = 231

;Anfangswert für Leben auf 5
Global Leben% = 5

;Level auf 1
Global LevelNr = 0
Global LevelP% = 1

;hier wird die Function aufgerufen
Spiel_Hinweis()

;Die Hauptschleife
Repeat
;Den Bildschirm eine Farbe zuweisen
ClsColor 145,200,255
;Den Bildschirm löschen
Cls

;Die Bilder auf den Bildschirm anzeigen
DrawImage backround,200,130
DrawImage levels,a,b,LevelNr
DrawImage ball,Ball_X,Ball_Y
DrawImage Ziel,Ziel_X,Ziel_Y
DrawImage maus2,MouseX(),MouseY()

;wenn Ball Aktiv = 1, dann den Ball mit bewegen
If Ball_Aktiv = 1 Then
Ball_X = MouseX()
Ball_Y = MouseY()
EndIf

;Überprüfen ob die Maus mit dem Ball kollidiert
If ImagesCollide(maus,MouseX(),MouseY(),0,ball,Ball_X,Ball_Y,0) Then
;wenn die linke maustaste gedrückt wird, erhält
;Ball Aktiv den wert 1, und der Ball bewegt sich
;dementsprechend mit
If MouseHit(1) Then
PlaySound (BallSound)
EndIf
If MouseDown(1) Then
Ball_Aktiv = 1
Else Ball_Aktiv = 0
EndIf
EndIf

;Überprüfen ob der Ball das Draht berührt, da die
;Transparente Farbe nicht beachtet wird
If ImagesCollide(ball,Ball_X,Ball_Y,0,levels,a,b,LevelNr) Then
Ball_X = 277
Ball_Y = 243
Ball_Aktiv = 0
Leben% = Leben% - 1
EndIf

;Leben anzeigen
Color 0,0,128
Text 20,20, \"Leben: \" + Leben%

;Bei 0 Leben, wieder level auf 1
If Leben% < 1 Then
LevelNr = 0
EndIf

;Wenn der Ball das Ziel erreicht hat, 1 level weiter
If ImagesCollide(ball,Ball_X,Ball_Y,0,Ziel,Ziel_X,Ziel_Y,0) Then
Ball_X = 277
Ball_Y = 243
Ball_Aktiv = 0
LevelNr = LevelNr + 1
LevelP% = LevelP% + 1
EndIf


;Den aktuellen Level anzeigen
Text 214,140, \"Level: \" + LevelP%

;Die Bilder flipen
Flip
Until KeyHit(1) ;ESC dann Ende

;Hier kommt das Spiel Hinweis
Function Spiel_Hinweis()
Repeat

DrawImage Hinweis,210,210

Flip
Until KeyHit(1)
End Function

End


es ist doch besser, wenn ich das Spiel auch in einer Function packe, oder?
  • Zuletzt bearbeitet von bruce185 am Do, Nov 24, 2005 15:04, insgesamt einmal bearbeitet

skey-z

BeitragDo, Nov 24, 2005 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
nja, besser ist so eine sache, es macht die Hauptschleife nur übersichtlicher
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

d-bug

BeitragDo, Nov 24, 2005 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
wo rufst du denn die Funktion eigentlich auf ?

bruce185

BeitragDo, Nov 24, 2005 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
noch garnicht, eigentlich wollte ich am anfang die Function aufrufen, ok, habe es oben eingefügt, danke schonmal Laughing
 

suberror

BeitragDo, Nov 24, 2005 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
gelöscht
  • Zuletzt bearbeitet von suberror am Sa, Mai 06, 2017 16:25, insgesamt einmal bearbeitet

bruce185

BeitragDo, Nov 24, 2005 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, aber ich möchte das ich das level schon sehen kann, und vorne dran der Hinweis erscheint, net das man schon spielen kann ohne enter zu drücken Smile
danke schonmal
 

suberror

BeitragDo, Nov 24, 2005 15:25
Antworten mit Zitat
Benutzer-Profile anzeigen
gelöscht
  • Zuletzt bearbeitet von suberror am Sa, Mai 06, 2017 16:26, insgesamt einmal bearbeitet

bruce185

BeitragDo, Nov 24, 2005 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
das wollte ich erst machen, aber hätte gedachte das es noch ein andere weg gibt, naja, werde es halt so machen, aber trotzdem thx @all Laughing
andreas
 

Ava

Gast

BeitragDo, Nov 24, 2005 17:09
Antworten mit Zitat
Hallöchen,

hier nochmal eine etwas elegantere Lösung:

Code: [AUSKLAPPEN]
// PSEUDO CODE !!

Repeat

   Function [Hinweis]
   Function [Spielen]

Until [Spiel beendet]



Function [Hinweis]

   Repeat

      Function [Grafik zeichnen]
     
      >> Hinweis anzeigen ect. pp.

   Until [Taste gedrückt wird]

EndFunction



Function [Spielen]

   Repeat

      Function [Grafik zeichnen]
      Function [Spielsteuerung]

   Until [Spiel / Level beendet ist]

EndFunction



Function [Grafik zeichnen]

   >> Spielgrafiken (Hintergrund, Figuren ect. pp.) zeichnen

EndFunction



Function [Spielsteuerung]

   >> Tasten abfragen, Figuren bewegen, Ereignisse auswerten ect. pp.

EndFunction



8)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group