Screenshots in BB3d

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

sven123

Betreff: Screenshots in BB3d

BeitragSo, Nov 28, 2004 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun ja ich habe einfach die Methode zur Screenshot erstellung aus BB2d übernommen(mit savebuffer),doch leider musste ich feststellen das auf diese Art zwar ein Screenshot erstellt wird,allerdings hat sich dabei mein Pc aufgehängt-ich konnte nicht mehr weiter Spielen!Wie mache ich das richtig?
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Timo

BeitragSo, Nov 28, 2004 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, eigentlich war das die richtige methode Wink

wenn dein pc dabei immer abstürzt, kannst du mal versuchen, ein image zu erstellen, da deinen backbuffer draufzukopieren und den abspeichern mittels saveimage(), allerdings währs mit savebuffer einfacher Smile
 

sven123

BeitragSo, Nov 28, 2004 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry,wie meinst du ds ein "Image" erstellen,welcher Befehle.
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken

Hubsi

BeitragSo, Nov 28, 2004 23:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
img=createimage(graphicswidth(),graphicsheight())
grabimage img,0,0
Die ganze Szene muss davor fertig gemalt sein, also am besten das ganze direkt vor Flip in ein If...EndIf-Konstrukt einpacken.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

sven123

BeitragMo, Nov 29, 2004 8:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm komisch mein Pc hängt sich immer noch auf.Vieleicht findet ihr einen Fehler wenn ich einen Teil des Codes poste!
Code: [AUSKLAPPEN]
While Not KeyHit(1)
;Mausabfrage   
RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 
If Not KeyDown(200)=1 Then MoveEntity cam,0,-15,0 
If KeyDown(200)=1 Then MoveEntity cam,0,0,20   
If KeyDown(203)=1 Then MoveEntity cam,-20,0,0
If KeyDown(205)=1 Then MoveEntity cam,20,0,0
Cls
If MouseHit(1) Then add_bullet(sprite,150,40,cam)
move_bullets()       
If KeyDown(1) Then End
UpdateWorld
RenderWorld
MaskImage cockpit,128,128,255
DrawImage Fadenkreutz,370,250
DrawImage cockpit,0,380
If KeyDown(35)=1 Then
img=CreateImage(GraphicsWidth(),GraphicsHeight())
GrabImage img,0,0
ok=SaveImage(img,"F:\Screenshot.bmp")
EndIf
Flip
If KeyHit(35)=1 Then 
SaveBuffer BackBuffer(),"screenshots.bmp"
EndIf
Wend
ClearWorld
End
;Funktionen
Function add_bullet(sprite,max_life,speed#,cam) ;erstellt ein sprite
   b.bullets=New bullets
   b\sprite=CopyEntity (sprite)
   EntityFX sprite,16
   b\max_life=max_life
   b\speed#=speed#
   PositionEntity b\sprite,EntityX(cam),EntityY(cam),EntityZ(cam)
   RotateEntity b\sprite,EntityPitch(cam),EntityYaw(cam),EntityRoll(cam) 
   ShowEntity b\sprite
End Function

Function move_bullets() ;bewegt die sprites
   For b.bullets=Each bullets
      MoveEntity b\sprite,0,0,b\speed#
      b\life=b\life+1
      If b\life>b\max_life Then FreeEntity b\sprite : Delete b
   Next
End Function
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

sven123

BeitragMo, Nov 29, 2004 8:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hätte da noch eine Frage hat zwar nichts mit den Screenhots zu tun aber es lohnt sich nicht wenn ich einen neuen Thread dafür aufmache.Ich möchte in meiem Prog das ein Flieger(die cam) wenn er dem Boden kollidiert das die Steuerung ausetzt(man hat verloren) dazu habe ich mir mit hilfe der BB3d samples Volgendes überlegt.
Code: [AUSKLAPPEN]
;Kollisionsabfrage
EntityType terrain,2
EntityType cam,1
EntityType Burg,3
EntityType metallpyramide,4
;Bäume
 
;
EntityType sky,5
Collisions 1,2,2,1 
Collisions 1,3,2,1
Collisions 1,4,2,1
Collisions 1,5,2,1
Collisions 1,6,2,1
If EntityCollided(terrain,1) Then
tasten=1
EndIf
if tasten=0 then
Mausabfrage ;Damit es kürtzer wird Pseudocode
endif

Warum geht das so nicht?
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken

Jan_

Ehemaliger Admin

BeitragMo, Nov 29, 2004 9:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Thema Screenshot:

Ausm Code Archiev:

Code: [AUSKLAPPEN]
;Graphics 320,240,24,2
;SetBuffer BackBuffer()
;Repeat
;   m=m+1
;   Cls
;   Text 0,0,m
;   Flip
;   Print Screenshot()
;Until KeyHit(1)

Function Screenshot()
   Local Verzeichnis%
   Local Datei$
   Local Anzahl%
   Verzeichnis=ReadDir ("Screenshots\")
   If Verzeichnis =0 Then
      CreateDir "Screenshots\"
      Verzeichnis=ReadDir ("Screenshots\")
      If Verzeichnis =0 Then RuntimeError "Fehler beim Versuch verzeichniss zu erstellen."
   EndIf
   Repeat
   Datei$=NextFile$(Verzeichnis)
   If FileType(CurrentDir$+"Screenshots\"+Datei$) = 1 Then
      If Int(Mid(Datei$,11,Len(Datei$)-13)) > Anzahl Then Anzahl = Int(Mid(Datei$,11,Len(Datei$)-13))
   End If
   Until Datei$=""
   CloseDir Verzeichnis
   Return SaveBuffer(FrontBuffer(),"Screenshots\"+"Screenshot"+(Anzahl+1)+".bmp")
End Function
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group