*Oh nein* noch eine Konsole
Übersicht

![]() |
skey-zBetreff: *Oh nein* noch eine Konsole |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weiss, das es hier auf diesem Board schon zig Konsolen gibt, aber ich habe heute eine für mich gebastelt und möchte sie euch nicht vorenthalten, ist auch hauptsächlich für die Newbies hier gedacht, also bitte nicht schimpfen, ist auch das erste mal, dass ich was mit types hinbekommen habe.
hier erst mal der Code: Code: [AUSKLAPPEN] AppTitle "Konsole"
Graphics 800,600,16,1 SetBuffer BackBuffer() ;Globale Variablen für die Konsole Global eingabe$, a.anzeige, arial01, arial02, kons ; Globale Variablen für FPS-Copunter Global frames, FramesJeSekunde,frame, zaehlstart ;Type Anzeige für die Konsole erstellen Type anzeige ; Field anz$, i End Type kons=LoadImage("kons03.png") MaskImage kons,0,0,255 ;Schriften Laden arial01=LoadFont("Arial",25,0,0,0) ;Konsole arial02=LoadFont("Arial",20,0,0,0) ;Text in der Hauptschleife ;============================= ; HAUPTSCHLEIFE ;============================= Repeat ClsColor 0,0,0 Cls ;Konsole durch ^ Taste aufrufen/schliessen If KeyHit(41) Then konsole=Not konsole FlushKeys() EndIf If konsole=True Then GameKonsole() ;FPS-Counter anzeigen/ausschalten If frames=True Then Framecounter() SetFont arial01 Text 200,550,FramesJeSekunde+" fps" EndIf ;informationen anzeigen SetFont arial02 Text 450,20,"Konsole öffnen/schliessen mit: ^" Text 450,50,"FPS an/aus mit: >fps1< u. >fps0<" Text 450,80,"Screenshot mit: >screen<" Flip Until KeyHit(1) End ; Functionen ;============================= ;Konsole Function GameKonsole() ;Rahmen zeichnen DrawImage kons,10,0 ;Schriftfarbe Color 255,0,0 ;Eingabe+schreiben keyget=GetKey() If keyget>31 Then eingabe$=eingabe$+Chr$(keyget) If (keyget=8) And Len(eingabe$)>0 Then eingabe$=Left$(eingabe$, Len(eingabe$)-1) If StringWidth(eingabe$)>295 Then eingabe$=Left$(eingabe$, Len(eingabe$)-1) SetFont arial01 Text 22,460, Lower(eingabe$)+"|" ;Bei enter neuen eintrag ins fenster platzieren, andere weiter hoch schieben ;und die Eingabezeile löschen If KeyHit(28) Then For a.anzeige = Each anzeige a\i=a\i+1 Next ;alle Einträge die nicht in das Fenster Passen, werden gelöscht If First anzeige<>Null Then a=First anzeige If a\i>15 Then a=First anzeige Delete First anzeige EndIf EndIf ;neuen Eintrag anheften a.anzeige= New anzeige a\anz$=eingabe$ a\i=a\i+1 eingabe$="" EndIf For a.anzeige=Each anzeige SetFont arial02 Color 255,255,0 Text 22,460-(a\i*30), "[ "+a\anz$+" ]" Next ;auf bestimmte Eingaben prüfen If First anzeige<>Null Then a=Last anzeige If a\anz$="fps1" Then frames=True For a.anzeige = Each anzeige a\i=a\i+1 Next Color 128,255,255 a.anzeige= New anzeige a\anz$="fps on" a\i=a\i+1 EndIf If a\anz$="fps0" Then frames=False For a.anzeige = Each anzeige a\i=a\i+1 Next Color 128,255,255 a.anzeige= New anzeige a\anz$="fps off" a\i=a\i+1 EndIf If a\anz$="screen" Then screenshot() For a.anzeige = Each anzeige a\i=a\i+1 Next Color 128,255,255 a.anzeige= New anzeige a\anz$="screenshot taken" a\i=a\i+1 EndIf If a\anz$="quit" Then End EndIf ;Anzeigen__________________ ;Schriftfarbe wieder auf weiß setzen Color 255,255,255 End Function ;FPS-Counter Function Framecounter() frame=frame+1 If zaehlstart + 1001 < MilliSecs() Then FramesJeSekunde=frame frame=0 zaehlstart = MilliSecs() EndIf End Function ;Screenshot Function screenshot() SaveBuffer(FrontBuffer(),"screen.bmp") End Function dann hier ein Screen: ![]() wer das ganze mit Bitmaprahmen ansehen möchte, kann es sich hier: http://home.arcor.de/skey-z/konsole.rar runterladen, es sind insgesamt 5 enthalten(kons00.png-kons04.png) Wer sich den Code nur kopieren will, sollte Code: [AUSKLAPPEN] Drawimage kons,10,0 durch folgendes ersetzen Code: [AUSKLAPPEN] ;Rahmen zeichnen Color 0,0,0 Rect 10,0,410,490 Color 255,255,0 Rect 10,0,410,490,0 Rect 10,455,410,35,0 ;Schriftfarbe Color 255,0,0 PS: ich weiss, das es noch besser geht, vor allem vom Code her, aber ich habe heute keine Nerven mehr fürs Proggen, dieselbigen habe ich dabei schon verloren*fg* Also viel spass damit, wenn ihr es verwenden wollt. |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bau am besten noch die Standartfunktionen (mit den Pfeiltasten den Cursor verschieben, Shift macht groß, etc...) ein, dann isses besser | ||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
wir auf jedenfall noch erweitert, nur wie gesagt hatte ich gestern keine nerven mehr dazu weiterzu machen und huete muss ich arbeiten und bin auf nem Geburtstag, also vor morgne wird es nichts mehr | ||
![]() |
nX^ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier noch was:
Code: [AUSKLAPPEN] ;Screenshot
Function screenshot() SaveBuffer(FrontBuffer(),"screen" + i + ".bmp") End Function For i = 0 To 1000 Next Da werden die screens nciht mehr überschrieben ![]() |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
nex hat Folgendes geschrieben: Hier noch was:
Code: [AUSKLAPPEN] ;Screenshot
Function screenshot() SaveBuffer(FrontBuffer(),"screen" + i + ".bmp") End Function For i = 0 To 1000 Next Da werden die screens nciht mehr überschrieben ![]() Hä? wie soll das funktionieren? In der Funktion wird i immer wieder 0 sein, ausserdem wird die For-Next-Schleife gar nie ausgeführt... |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Sir Dan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ;Screenshot
Function screenshot() SaveBuffer(FrontBuffer(),"screen" + i + ".bmp") i = i + 1 End Function So geht es aber |
||
(\_/)
(O.o) (> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination. |
Ensign Joe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und beim neustart werden die alten wieder überschrieben... | ||
Ich habe jetzt eine Pommesbude aufgemacht am Münchner Hauptbahnhof.
Und da ich Herbert Görgens heiße, heißt diese Pommesbude Herbert's Pommesbude ![]() |
![]() |
rambo256 |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBasic: [AUSKLAPPEN] ;Screenshot und so auch nicht nach einem neustart... |
||
Asus F53z
Das Leben ist eine reine Konkatenation... |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
rambo256 hat Folgendes geschrieben: BlitzBasic: [AUSKLAPPEN]
;Screenshot und so auch nicht nach einem neustart... SO BESSER:BlitzBasic: [AUSKLAPPEN] Function screenshot() |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die Verbesserung, hatte ich auch schon so in der art eingbaut, aber der hat direkt 100 Screens auf einmal gemacht, deswegen hatte ich es erst wieder rausgenommen. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group