Bekomme kein bild geladen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

kevinb

Betreff: Bekomme kein bild geladen

BeitragFr, Jul 17, 2009 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe bilder die ich in mein prog haben will oder auch brauche aber sie erscheinen im spiel einfach nicht
was mach ich falsch

Code: [AUSKLAPPEN]
Graphics 1024,798,32,2
SetBuffer BackBuffer()
Global frametimer = CreateTimer(60)
SeedRnd MilliSecs()

Global kugel=LoadImage("Kugel.png")
MidHandle kugel

Global spieler1=LoadImage("pongspieler1.bmp")
MidHandle spieler1
MaskImage spieler1,255,255,255

Global spieler2=LoadImage("pongspieler2.bmp")
MidHandle spieler2
MaskImage spieler2,255,255,255

Global begrenzung=LoadImage("Seitenwand.bmp")
MaskImage begrenzng,255,255,255

Der Eisvogel

BeitragFr, Jul 17, 2009 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja wenn du nix malst, dann kannst du auch nix sehen. Razz
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Nova

BeitragFr, Jul 17, 2009 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Öhm, du musst uns schon den gesamten Code zeigen. Wink
Nicht nur den Anfang. Also auch die Schleifen, in der du die Bilder zeichnest.
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit
 

kevinb

Betreff: ok zeige dann ma alles

BeitragFr, Jul 17, 2009 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
AppTitle "Ping-Pong"
Graphics 1024,798,32,2
SetBuffer BackBuffer()
Global frametimer = CreateTimer(60)
SeedRnd MilliSecs()

Global kugel=LoadImage("Kugel.png")
MidHandle kugel

Global spieler1=LoadImage("gfx\pongspieler1.bmp")
MidHandle spieler1
MaskImage spieler1,255,255,255

Global spieler2=LoadImage("gfx\pongspieler2.bmp")
MidHandle spieler2
MaskImage spieler2,255,255,255

Global begrenzung=LoadImage("gfx\Seitenwand.bmp")
MaskImage begrenzng,255,255,255

Global xsp1=xmax/2
Global xsp2=xmax/2
Global sp1st
Global sp2st
Global xkugel#
Global ykugel#
Global winkel
Global geschwindigkeit=5
Global fehlersp1
Global fehlersp2
Global beweglichkeit

ClsColor 255,0,0

Repeat
WaitTimer (frametimer)

beweglichkeit=geschwindigkeit

For z2=0 To 1
If z2=1 Then x=xmax-50 Else x=0
For z=0 To ymax/50
DrawImage begrenzung,x,y*50
Next
Next

If KeyHit(14) Then resetkugel

If KeyHit(2) Then sp1st=sp1st+1
If KeyHit(3) Then sp2st=sp2st+1

If sp1st>2 Then sp1st=0
If sp1st>2 Then sp1st=0

If xsp1>xkugel And sp1st=0 Then xsp1=xsp1-beweglichkeit
If xsp1<xkugel And sp1st=0 Then xsp1=xsp1+beweglichkeit

If xsp2>xkugel And sp2st=0 Then xsp2=xsp2-beweglichkeit
If xsp2<xkugel And sp2st=0 Then xsp2=xsp2+beweglichkeit

If KeyDown(203) And sp1st=1 Then xsp1=sp1-beweglichekeit
If KeyDown(205) And sp1st=1 Then xsp1=sp1+beweglichekeit

If KeyDown(44) And sp2st=1 Then xsp2=sp2-beweglichekeit
If KeyDown(45) And sp2st=1 Then xsp2=sp2+beweglichekeit

If sp1st=2 Then xsp1=xsp1+MouseXSpeed()
If sp2st=2 Then xsp2=xsp2+MouseXSpeed()

If xsp1<70 Then xsp1=70
If xsp1>xmax-70 Then xsp1=xmax-70
If xsp2<70 Then xsp2=70
If xsp2>xmax-70 Then xsp2=xmax-70

resetkugel

If ImagesCollide(spieler1,xsp1,ymax-10,0,kugel,xkugel,ykugel,0) Then
 winkel=360-winkel
 abweichung=2*(xsp1-xkugel)
 winkel=winkel+abweichung
EndIf

If ImagesCollide(spieler2,xsp2,10,0,kugel,xkugel,ykugel,0)Then
 Winkel=360-winkel
 abweichung=2*(xsp2-xkugel)
 winkel=winkel-abweichung
EndIf

If winkel>360 Then winkel=winkel-360
If winkel<0 Then winkel=winkel+360

If xkugel<60 Then
winkel=180-winkel
EndIf

If xkugel>xmax-60 Then
winkel=180-winkel
EndIf

If ykugel<-10 Then
fehlersp2=fehlersp2+1
resetkugel
EndIf

If ykugel>ymax+10 Then
fehlersp1=fehlersp1+1
resetkugel
EndIf

xkugel=xkugel+Cos(winkel)*geschwindigkeit
ykugel=ykugel-Sin(winkel)*geschwindigkeit

Text 200,300,"Geschwindigkeit:" +geschwindigkeit
Text 500,300,"Spielstand: "+fehlersp2 +"   :  " + fehlersp1
Text 55,ymax-25,"Spieler1"
If sp1st>0 Then
         If sp1st=2 Then Text 120,ymax-25,"Maussteuerung" Else Text 120,ymax-25,"Tastartursteuerung"
         Else Text 120,ymax-25,"Computer
EndIf
:If spieler1man>0 Then Text 250,ymax-25,scorep1

Text 55,5,"Spieler2"
If sp2st=0 Then
 If sp2st=2Then
  Text 120,5,"Maussteuerung"
Else
  Text 120,5,"Tastatursteuerung"
 EndIf
Else
  Text 120,5,"Computer"
EndIf


DrawImage kugel,xkugel,ykugel
DrawImage spieler1,xsp1,ymax-10
DrawImage spieler2,xsp2,10

Flip
Cls
Until KeyHit(1)
End

Function resetkugel()
xkugel=xmax/2:ykugel=ymax/2
If Rand(0,1)=1 Then winkel=Rand(105,45) Else winkel=Rand(315,225)
End Function

ozzi789

BeitragFr, Jul 17, 2009 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit flip zeichnest du alles
und ne halbe millisekunde löscht du alles mit cls

klar siehst du nicht, setze cls gleich nach dem repeat Smile
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Duempel

BeitragFr, Jul 17, 2009 22:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Es liegt daran, dass du "Cls" ganz am Ende der Schleife stehen hast.
Dadurch wird der ganze Bildschirm wieder "gecleaned" und es ist am Ende nichts mehr zu sehen.
Setze Cls mal nach ganz vorne in die Schleife.

Edit:
ozzi war wohl schneller *grins*
 

kevinb

Betreff: ääh

BeitragFr, Jul 17, 2009 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
wie
kopier mal die stelle und verschiebe des cls ma dahin wo es hin gehört und schreib es mal hier rein bitte

DaysShadow

BeitragFr, Jul 17, 2009 22:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ob Cls direkt hinter Flip steht oder oben nach Repeat ist egal, Flip bringt das gezeichnete vom Backbuffer so oder so in den Frontbuffer.
Der Fehler ist irgendwo anders.

MfG DaysShadow
Blessed is the mind too small for doubt
 

kevinb

Betreff: ?

BeitragFr, Jul 17, 2009 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
aber wo soll der fehler den sonst sein?
ich finde nichts und ausersem hab ich den text nur abgeschreiben und so ein bischen eingefügt!
liegt es darad das ich eine demon hab oder sind die pfade ganz oben vllt falsch?
da hatte ich auch schon probleme

The_Nici

BeitragFr, Jul 17, 2009 23:04
Antworten mit Zitat
Benutzer-Profile anzeigen
ozzi789 hat Folgendes geschrieben:
Mit flip zeichnest du alles
und ne halbe millisekunde löscht du alles mit cls

klar siehst du nicht, setze cls gleich nach dem repeat Smile

Entschuldigung, das ist der grösste Käse den ich jeh hörte.
CLS löscht den HINTEREN Buffer, den, den man eh nicht sieht. Ob CLS nun 10 ms nach Flip oder 10 Jahre vor der Apokalypse ausgeführt wird, ändert nichts am vorderen Buffer.

Tipp: Geb dir mal per DebugLog die Werte kugelx und kugely aus, und kuck auch dass die Bilder richtig gemasked sind. (255,255,255 = weiss, 0,0,0 = schwarz)

Achja, copy paste ist böse. LERNEN, nicht abschreiben. Mach Tutorials.
 

kevinb

Betreff: aso

BeitragFr, Jul 17, 2009 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
aber wo soll der fehler den sonst sein?
ich finde nichts und ausersem hab ich den text nur abgeschreiben und so ein bischen eingefügt!
liegt es darad das ich eine demon hab oder sind die pfade ganz oben vllt falsch?
da hatte ich auch schon probleme

The_Nici

BeitragFr, Jul 17, 2009 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
kopier nichts, arbeite Tutorials durch.
So verwirrst du dich nur selbst.

Duempel

BeitragFr, Jul 17, 2009 23:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Fehler steckt hier:
Code: [AUSKLAPPEN]
Global begrenzung=LoadImage("gfx\Seitenwand.bmp")
MaskImage begrenzng,255,255,255

bei MaskImage hast du begrenzung ohne "u" geschrieben.

Edit:
Und hier stimmt auch irgendwas nicht:
Code: [AUSKLAPPEN]
Global xsp1=xmax/2
Global xsp2=xmax/2

Du teilst xmax/2 obwohl du diese Variable vorher noch nicht definiert hast.
Also könntest du genau so gut xsp1=0 und xsp2 = 0 schreiben.

Edit2:
Hab gerade gesehn, dass du noch ein paar mehr undefinierte Variablen verwendest.
Da musst du ein bisschen mehr drauf aufpassen...

Achso, und wenn deine Spielfiguren rot sind kannst du sie natürlich auch nicht sehen weil dein ClsColor auch auf rot gesetzt wurde. Wink

BladeRunner

Moderator

BeitragSa, Jul 18, 2009 9:11
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.


Du solltest vielleicht besser im Beginners Corner posten, da Du ja noch ganz am Anfang stehst.
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

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group