Stop

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

nimroad1

Betreff: Stop

BeitragMo, Jul 09, 2007 13:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Ich bräuchte eine Idee wie ich eine zeile mache mit der ich es verhindere dass meine Hauptschleife gemacht wird bis ich (zb. Eingabe) drücke..
wenn jemand den code braucht :
Code: [AUSKLAPPEN]
Global PosY, PosX
Global Ende
Global PosY1,PosX1
Graphics 640, 480, 16, 1
SetBuffer BackBuffer()
;Spieler1
Red=LoadImage("Rot.bmp")
;Spieler2
Blue=LoadImage("blau.bmp")

Head=LoadImage("Head.png")
;Richtungsvariablen von Spieler1
up    =0
down  =0
Leftt =0
Rightt=0

;Richtungsvariablen von Spieler2
up1   =0
down1 =0
Left1 =0
right1=0

;Positionen der Spieler am Start
PosX=20
PosY=20

PosX1=500
PosY1=440

ScaleImage Head,0.7,0.7

While Ende = 0
DrawImage Red,posX,Posy
DrawImage Blue,posx1,posy1
DrawImage Head,510,0

If KeyDown(1) Then Ende = 1
;-*-Wenn Taste .... dann ...=1 ..=0 ..=0 ..=0
If KeyHit(200) Then PosY = PosY - 1   :down  =1 :Rightt =0 :Leftt =0  :Up     =0
If KeyHit(208) Then PosY = PosY + 1   :up    =1 :down   =0 : Leftt=0  : Rightt=0
If KeyHit(203) Then PosX = PosX - 1   :Leftt =1 :Rightt =0 :  up  =0  : down  =0
If KeyHit(205) Then PosX = PosX + 1   :Rightt=1 :Leftt  =0 :Up    =0  :down   =0

If KeyHit(17) Then PosY1 = PosY1 - 1  :Up1   =1 :Right1 =0 :Left1 =0  :down1  =0
If KeyHit(31) Then PosY1 = PosY1 + 1  :down1 =1 :Up1    =0 :Left1 =0  :Right1 =0
If KeyHit(30) Then PosX1 = PosX1 - 1  :left1 =1 :Right1 =0 :Up1   =0  :down1  =0
If KeyHit(32) Then PosX1 = PosX1 + 1  :right1=1 :left1  =0 :Up1   =0  :down1  =0
;Feld Begrenzen
If PosY > 440 Then PosY = 440
If PosY < 20 Then PosY  = 20
If PosX > 500 Then PosX = 500
If PosX < 20 Then PosX  = 20

If PosY1 > 440 Then PosY1 = 440
If PosY1 < 20 Then PosY1  = 20
If PosX1 > 500 Then PosX1 = 500
If PosX1 < 20 Then PosX1  = 20

;Wichtige Engine für -*-
If down=1 Then  posy= posy-1
If up=1 Then  posy= posy+1
If Leftt=1 Then posx=posx-1
If Rightt=1 Then posx=posx+1

If Up1=1 Then posY1=PosY1-1
If Down1=1 Then posY1=PosY1+1
If Left1=1 Then PosX1=PosX1-1
If right1=1 Then posX1=PosX1+1

Text 550,150, "Palyer1"
Color 0,0,255
Text 550,250, "Player2"
Color 255,0,0
Text 300,460, "Programmed by Mayr Alexander"

Flip
Wend
----------------------------------
Rechtschreibfehler vorbehalten...
 

Dreamora

BeitragMo, Jul 09, 2007 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Input oder eine WaitKey Schleife
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

ZaP

BeitragMo, Jul 09, 2007 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder Stop... wenn der Debugger an ist.
Starfare: Worklog, Website (download)

nimroad1

BeitragMo, Jul 09, 2007 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh danke... Ich hätt's wieder mal umständlich mit Variablen und so gemacht.

Aber ich hab's mit waitmouse gemacht und vorher einen Print gesetzt -> das mit dem Print und waitmouse funktioniert aber wenn ich dann "weiter komme" also zur hauptschleife dan macht es den Print immer wieder Question


da sollte er dann weg sein... mfg Nimroad
----------------------------------
Rechtschreibfehler vorbehalten...

nimroad1

BeitragMo, Jul 09, 2007 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry hab den code vergessen(bitte nicht böse sein Admin's):
Code: [AUSKLAPPEN]
Global PosY, PosX
Global Ende
Global PosY1,PosX1
Graphics 640, 480, 16, 1
SetBuffer BackBuffer()
;Spieler1
Red=LoadImage("Rot.bmp")
;Spieler2
Blue=LoadImage("blau.bmp")
;"MENÜ"
Head=LoadImage("Head.png")
;Linie(oben,unten,rechts,links)
Linie=LoadImage("Linie.png")
Linie2=LoadImage("Linie.png")
;Richtungsvariablen von Spieler1
up    =0
down  =0
Leftt =0
Rightt=0

;Richtungsvariablen von Spieler2
up1   =0
down1 =0
Left1 =0
right1=0

;Positionen der Spieler am Start
PosX=20
PosY=20

PosX1=500
PosY1=440

ScaleImage Head,0.7,0.7
ScaleImage Linie,0.6,0.6
ScaleImage linie2,0.6,0.6
RotateImage Linie ,90
Print "Steuerung:"
Print "Spieler1=Rot->Pfeiltasten"
Print "Spieler2=Blau->W,A,S,D"
Print ""
Print ""
Print ""
Print "Zum Starten linke Maustaste drücken"

WaitMouse

While Ende = 0

DrawImage Red,posX,Posy
DrawImage Blue,posx1,posy1
DrawImage Head,510,0
DrawImage Linie,20,0
DrawImage Linie,512,0
DrawImage Linie2,0,11
DrawImage Linie2,0,443

If KeyDown(1) Then Ende = 1
;-*-Wenn Taste .... dann ...=1 ..=0 ..=0 ..=0
If KeyHit(200) Then PosY = PosY - 1   :down  =1 :Rightt =0 :Leftt =0  :Up     =0
If KeyHit(208) Then PosY = PosY + 1   :up    =1 :down   =0 : Leftt=0  : Rightt=0
If KeyHit(203) Then PosX = PosX - 1   :Leftt =1 :Rightt =0 :  up  =0  : down  =0
If KeyHit(205) Then PosX = PosX + 1   :Rightt=1 :Leftt  =0 :Up    =0  :down   =0

If KeyHit(17) Then PosY1 = PosY1 - 1  :Up1   =1 :Right1 =0 :Left1 =0  :down1  =0
If KeyHit(31) Then PosY1 = PosY1 + 1  :down1 =1 :Up1    =0 :Left1 =0  :Right1 =0
If KeyHit(30) Then PosX1 = PosX1 - 1  :left1 =1 :Right1 =0 :Up1   =0  :down1  =0
If KeyHit(32) Then PosX1 = PosX1 + 1  :right1=1 :left1  =0 :Up1   =0  :down1  =0
;Feld Begrenzen
If PosY > 440 Then PosY = 440
If PosY < 20 Then PosY  = 20
If PosX > 500 Then PosX = 500
If PosX < 20 Then PosX  = 20

If PosY1 > 440 Then PosY1 = 440
If PosY1 < 20 Then PosY1  = 20
If PosX1 > 500 Then PosX1 = 500
If PosX1 < 20 Then PosX1  = 20

;Wichtige Engine für -*-
If down=1 Then  posy= posy-1
If up=1 Then  posy= posy+1
If Leftt=1 Then posx=posx-1
If Rightt=1 Then posx=posx+1

If Up1=1 Then posY1=PosY1-1
If Down1=1 Then posY1=PosY1+1
If Left1=1 Then PosX1=PosX1-1
If right1=1 Then posX1=PosX1+1

Text 550,150, "Spieler1"
Color 0,0,255
Text 550,250, "Spieler2":Text 280,460, "{Rot=Pfeile][Blau=W,A,S,D}
Color 255,0,0
Text 20,460, "Programmed by Mayr Alexander"

Flip
Wend
----------------------------------
Rechtschreibfehler vorbehalten...

Puccini

BeitragMo, Jul 09, 2007 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
weil du kein cls nach dem waitmouse hast! und auch in deiner schleife keins hast!

daher steht das immer noch da!

warum haste jetzt mit maustaste gemacht??

geht dohc uach mit key!

erst flushkeys ->damit keine alten tastendrücke auswirkungen haben
dann waitkey()
Wink
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

nimroad1

BeitragMo, Jul 09, 2007 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ich in meiner Hauptschleife kein cls hab wollt ich so -> meine Punkte ziehen linien und so brauch ich dass.. es funktioniert ja sonst alles ausser das die schrift wieder weggeht ..Code: [AUSKLAPPEN]
flushmouse
waitmouse:cls


is genau so wie vorher
----------------------------------
Rechtschreibfehler vorbehalten...
 

Dreamora

BeitragMo, Jul 09, 2007 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
bis zum flip verschwindet prinzipiell nix.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

nimroad1

BeitragMo, Jul 09, 2007 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
wie meinst du das jezt?
----------------------------------
Rechtschreibfehler vorbehalten...

Xeres

Moderator

BeitragMo, Jul 09, 2007 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne, die frage ist, wie du das meinst... welcher text wird wann nicht angezeigt?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Dreamora

BeitragMo, Jul 09, 2007 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
mein fehler, aber denke hinter das Problem hier solltest du kommen.

Print geht nämlich net auf den grafischen Bildschirm sondern Konsole. Wenn du etwas auf dem grafischen Bildschirm willst nimm Text
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

nimroad1

BeitragMo, Jul 09, 2007 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
mit text:Code: [AUSKLAPPEN]
Global PosY, PosX
Global Ende
Global PosY1,PosX1
Graphics 640, 480, 16, 1
SetBuffer BackBuffer()
;Spieler1
Red=LoadImage("Rot.bmp")
;Spieler2
Blue=LoadImage("blau.bmp")
;"MENÜ"
Head=LoadImage("Head.png")
;Linie(oben,unten,rechts,links)
Linie=LoadImage("Linie.png")
Linie2=LoadImage("Linie.png")
;Richtungsvariablen von Spieler1
up    =0
down  =0
Leftt =0
Rightt=0

;Richtungsvariablen von Spieler2
up1   =0
down1 =0
Left1 =0
right1=0

;Positionen der Spieler am Start
PosX=20
PosY=20

PosX1=500
PosY1=440

ScaleImage Head,0.7,0.7
ScaleImage Linie,0.6,0.6
ScaleImage linie2,0.6,0.6
RotateImage Linie ,90

Text 40,40, "Steuerung:"
;Print "Spieler1=Rot->Pfeiltasten"
;Print "Spieler2=Blau->W,A,S,D"
;Print ""
;Print ""
;Print ""
;Print "Zum Starten linke Maustaste drücken"
Flip
FlushMouse 
WaitMouse :Cls

While Ende = 0

DrawImage Red,posX,Posy
DrawImage Blue,posx1,posy1
DrawImage Head,510,0
DrawImage Linie,20,0
DrawImage Linie,512,0
DrawImage Linie2,0,11
DrawImage Linie2,0,443

If KeyDown(1) Then Ende = 1
;-*-Wenn Taste .... dann ...=1 ..=0 ..=0 ..=0
If KeyHit(200) Then PosY = PosY - 1   :down  =1 :Rightt =0 :Leftt =0  :Up     =0
If KeyHit(208) Then PosY = PosY + 1   :up    =1 :down   =0 : Leftt=0  : Rightt=0
If KeyHit(203) Then PosX = PosX - 1   :Leftt =1 :Rightt =0 :  up  =0  : down  =0
If KeyHit(205) Then PosX = PosX + 1   :Rightt=1 :Leftt  =0 :Up    =0  :down   =0

If KeyHit(17) Then PosY1 = PosY1 - 1  :Up1   =1 :Right1 =0 :Left1 =0  :down1  =0
If KeyHit(31) Then PosY1 = PosY1 + 1  :down1 =1 :Up1    =0 :Left1 =0  :Right1 =0
If KeyHit(30) Then PosX1 = PosX1 - 1  :left1 =1 :Right1 =0 :Up1   =0  :down1  =0
If KeyHit(32) Then PosX1 = PosX1 + 1  :right1=1 :left1  =0 :Up1   =0  :down1  =0
;Feld Begrenzen
If PosY > 440 Then PosY = 440
If PosY < 20 Then PosY  = 20
If PosX > 500 Then PosX = 500
If PosX < 20 Then PosX  = 20

If PosY1 > 440 Then PosY1 = 440
If PosY1 < 20 Then PosY1  = 20
If PosX1 > 500 Then PosX1 = 500
If PosX1 < 20 Then PosX1  = 20

;Wichtige Engine für -*-
If down=1 Then  posy= posy-1
If up=1 Then  posy= posy+1
If Leftt=1 Then posx=posx-1
If Rightt=1 Then posx=posx+1

If Up1=1 Then posY1=PosY1-1
If Down1=1 Then posY1=PosY1+1
If Left1=1 Then PosX1=PosX1-1
If right1=1 Then posX1=PosX1+1

Text 550,150, "Spieler1"
Color 0,0,255
Text 550,250, "Spieler2":Text 280,460, "{Rot=Pfeile][Blau=W,A,S,D}
Color 255,0,0
Text 20,460, "Programmed by Mayr Alexander"
Flip
Wend

das problem es wird wieder nach dem mousehit angezeigt...
wenn ich das flip vor FlushMouse wegmach dann wird es am anfang nicht angezeigt und am ende auch ned(am ende is dan also ok)
----------------------------------
Rechtschreibfehler vorbehalten...
 

Dreamora

BeitragMo, Jul 09, 2007 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
mach nach dem CLS Mal ein flip, damit der leere screen reingeflippt wird. Solange der alte Screen da ist, interessiert es ihn wenig was du aufm Backbuffer machst.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

nimroad1

BeitragDi, Jul 10, 2007 8:13
Antworten mit Zitat
Benutzer-Profile anzeigen
jep sry war mein Denkfehler... geht tz´rozdem nicht
Code: [AUSKLAPPEN]
Text 40,40, "Steuerung:"
;Print "Spieler1=Rot->Pfeiltasten"
;Print "Spieler2=Blau->W,A,S,D"
;Print ""
;Print ""
;Print ""
;Print "Zum Starten linke Maustaste drücken"
FlushMouse 
WaitMouse :Cls:Flip
Confused
----------------------------------
Rechtschreibfehler vorbehalten...
 

Dreamora

BeitragDi, Jul 10, 2007 9:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Mir fällt da gerade was andres auf: Wo ist in deiner Hauptschleife das CLS? Da du, so wie das aussieht zumindest, nicht den ganzen Bildschirm zuzeichnest, müsstest du nach dem Flip da drin ebenfalls irgendwo ein CLS haben ...
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

nimroad1

BeitragDi, Jul 10, 2007 10:00
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das hab ich absichtlich weggelassen weil dann meine bilder streifen ziehen und das sollen sie auch Smile
----------------------------------
Rechtschreibfehler vorbehalten...

robotx

BeitragMi, Jul 11, 2007 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Also so gehts bei mir:

Code: [AUSKLAPPEN]

Global PosY, PosX
Global Ende
Global PosY1,PosX1

Graphics 640, 480, 16, 1
SetBuffer BackBuffer()


;Spieler1
Red=LoadImage("Rot.bmp")
;Spieler2
Blue=LoadImage("blau.bmp")
;"MENÜ"
Head=LoadImage("Head.png")
;Linie(oben,unten,rechts,links)
Linie=LoadImage("Linie.png")
Linie2=LoadImage("Linie.png")

;Richtungsvariablen von Spieler1
up    =0
down  =0
Leftt =0
Rightt=0

;Richtungsvariablen von Spieler2
up1   =0
down1 =0
Left1 =0
right1=0

;Positionen der Spieler am Start
PosX=20
PosY=20

PosX1=500
PosY1=440

ScaleImage Head,0.7,0.7
ScaleImage Linie,0.6,0.6
ScaleImage linie2,0.6,0.6
RotateImage Linie ,90




While status = 0
Cls

If MouseHit(1) Then Cls:Flip:status=1:Exit

Text 40,40, "Steuerung:"
Text 40,70, "Spieler1=Rot->Pfeiltasten"
Text 40,100, "Spieler2=Blau->W,A,S,D"

Text 40,130, "Zum Starten linke Maustaste drücken "
 
Flip
Wend 




While Ende = 0

;Beim ersten mal ausführen der Schleife wird EINMAL CLS aufgerufen um den Bildschirm zu löschen
If n = 0 Then Cls:n = 1


DrawImage Red,posX,Posy
DrawImage Blue,posx1,posy1
DrawImage Head,510,0
DrawImage Linie,20,0
DrawImage Linie,512,0
DrawImage Linie2,0,11
DrawImage Linie2,0,443

If KeyDown(1) Then Ende = 1
;-*-Wenn Taste .... dann ...=1 ..=0 ..=0 ..=0
If KeyHit(200) Then PosY = PosY - 1   :down  =1 :Rightt =0 :Leftt =0  :Up     =0
If KeyHit(208) Then PosY = PosY + 1   :up    =1 :down   =0 : Leftt=0  : Rightt=0
If KeyHit(203) Then PosX = PosX - 1   :Leftt =1 :Rightt =0 :  up  =0  : down  =0
If KeyHit(205) Then PosX = PosX + 1   :Rightt=1 :Leftt  =0 :Up    =0  :down   =0

If KeyHit(17) Then PosY1 = PosY1 - 1  :Up1   =1 :Right1 =0 :Left1 =0  :down1  =0
If KeyHit(31) Then PosY1 = PosY1 + 1  :down1 =1 :Up1    =0 :Left1 =0  :Right1 =0
If KeyHit(30) Then PosX1 = PosX1 - 1  :left1 =1 :Right1 =0 :Up1   =0  :down1  =0
If KeyHit(32) Then PosX1 = PosX1 + 1  :right1=1 :left1  =0 :Up1   =0  :down1  =0
;Feld Begrenzen
If PosY > 440 Then PosY = 440
If PosY < 20 Then PosY  = 20
If PosX > 500 Then PosX = 500
If PosX < 20 Then PosX  = 20

If PosY1 > 440 Then PosY1 = 440
If PosY1 < 20 Then PosY1  = 20
If PosX1 > 500 Then PosX1 = 500
If PosX1 < 20 Then PosX1  = 20

;Wichtige Engine für -*-
If down=1 Then  posy= posy-1
If up=1 Then  posy= posy+1
If Leftt=1 Then posx=posx-1
If Rightt=1 Then posx=posx+1

If Up1=1 Then posY1=PosY1-1
If Down1=1 Then posY1=PosY1+1
If Left1=1 Then PosX1=PosX1-1
If right1=1 Then posX1=PosX1+1

Text 550,150, "Spieler1"
Color 0,0,255
Text 550,250, "Spieler2":Text 280,460, "{Rot=Pfeile][Blau=W,A,S,D}
Color 255,0,0
Text 20,460, "Programmed by Mayr Alexander"
Flip
Wend
End
www.botbomb.robotzgames.de
www.robotzgames.de

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group