Gerade angefangen und schon aufm Schlauch ;-)
Übersicht

micheleBetreff: Gerade angefangen und schon aufm Schlauch ;-) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
HI all,
Ich bin neu hier und möchte erst mal alle recht herzlich begrüssen. Ich habe heute zum erstenmal angefangen etwas mit Blitzbasic zu machen. Da mich insbesondere die 3dfunktionen faszinieren habe ich mich entschlossen ein paar sachen damit auszutesten. Leider fängt hier auch schon mein erstes problem an ![]() Das Problem ist das ich es nicht schaffe alles gleichzeitig auf dem bildschirm ausgegeben. die lösung des problems ist sicher recht simpel. ich vermute mal das ich etwas mit renderworld und flip nicht ganz richtig mache. anders kann ich mir nicht erklären das erst die inputs und dann die auswahl (text) am bildschirm ausgegeben wird. Der code : Graphics3D 800,600,32,1 SetBuffer BackBuffer() Cls Text 10,10,"Char und Fightsimulator" name$=input$("Wie soll der char heissen :") Text 10,20,"Bitte wählen Sie eine der verfügbaren Klassen" Text 10,40,"1.Krieger" Text 10,50,"2.Magier" Text 10,60,"3.Warlock" Text 10,70,"4.Nekromant" Text 10,80,"5.Druide" klasse$=Input$("Klasse: ") ;RenderWorld Flip WaitKey Danke für eure Hilfe Michele |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Meinst du so? BlitzBasic: [AUSKLAPPEN]
|
||
Deutscher Blitz Basic Chat |
micheleBetreff: fast :-) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
danke für die schnelle antwort. ich begreif nicht warum er zb am anfang der text char und fightsimulator weglässt, und zum input übergeht. der text steht doch zuerst? warum erscheint der nicht? muss ich vor jedem text jetz ein renderworld und flip einbauen??? |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wieso renderworld?
Das ist doch kein 3D meines wissen nach. Du brauchst nur Flip! Weil als erstes schreibt er alles in den Backbuffer. Und wen du jetzt kein flip rein machst, dann bleibt es ja da. Und du kannst es nicht sehen, weil wie der Name schon sagt im backbuffer sitzt. Immer wen du was schreibst in den backbuffer und dz möchtest es angezeigt kriegen, dann must du flip benutzen. Ich hoffe du hast es verstanden. Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
micheleBetreff: flipflop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
ok das heisst jedesmal wenn ich den bildschirm aktualisieren will ->flip GRAPHICS3D 800,600,32,1 SETBUFFER BACKBUFFER() Cls Text 10,10,"Char und Fightsimulator" Flip name$=Input$("Wie soll der char heissen :") Text 10,30,"Bitte wählen Sie eine der verfügbaren Klassen" TEXT 10,40,"1.Krieger" TEXT 10,50,"2.Magier" TEXT 10,60,"3.Warlock" TEXT 10,70,"4.Nekromant" TEXT 10,80,"5.Druide" FLIP klasse$=INPUT$("Klasse: ") ;RenderWorld WaitKey gibts ne möglichkeit input zu positionieren dases nicht vor dem titel des programms steht? Michele |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Genau. Ja, gib mal in der online hilfe "locate" ein. Da wirst du bestimmt was schönes finden. ![]() Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
erstens: mit dem BB-Code Knopf oben kannst du solche Boxen wie DarkAngel für deinen Quellcode erstellen. zweitens: ich weiß nicht genau wie das jetzt aussieht. aber eventuell musst du dir dafür eine eigene input routine schreiben, was allerdings für den Anfang reinhaut. Leb' am besten erstmal damit. In ein paar wochen kriegst du so ne routine in 3 minuten hin. wenn es dich jetzt schon brennt, im Code-Archiv findet man einige. na hoppla: stimmt. mit B3D kann man Locate benutzen. sorry MfG D2006 |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
@ D2006 Warum eine eigene eingabe routine? Es gibt doch locate. ![]() Oder meinst du was anderes? Wen ja dann entschuldigung. Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Input und Locate sind nicht wirklich empfehlenswert. Sie nutzen nur den FrontBuffer, Input unterbricht das Programm (keine Animationen etc. möglich) und sind daher nur bedingt "spielegeeignet". Eine eigene Routine bietet also massig Vorteile. Und man lernt was dabei. | ||
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 |
michele |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
thx,
hab locator hilfe schon vorher offen gehat. nun die benutzung hat mich abgeschreckt weil da sowas stand von wegen wird entfernt. eigentlich hab ich früher mit dem c64 basic programmiert und auch qbasic ist mir ein begriff. da musste man nicht mittels locate den genauen ort für den input ermitteln. komisch das der nicht nach dem text kommt. dünkt mi scho umständlich ![]() ich arbeite erstmal eine maske für werteingabe etc aus. wie würdet ihr die char verwaltung angehen? würdet ihr sämtliche chars in arrays speichern? aus einem textfile rauslesen? Michele |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Das bleibt dir überlassen, aber wen man mich schon so fragt, ich glaube ich würde alles in eine Datei schreiben. Weil ich mit array's nicht so gut auskenne ^^. Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
micheleBetreff: tja |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nun, da ich es nicht mal schaff einen einfachen chargenerator in ascii zu schreiben, muss ich mich doch fragen ob ich nicht fähig bin oder blitz keine anständig programmierten befehle hat.
Ich mein ich will jetz nicht motzen oder so aber wenn ich nicht mal ein einfaches textadventure hinbekomm, was soll ich dann mit 3d? dabei frag ich mich ob ich jetz unfähig bin oder wie ihr so eine eingabe machen würdet. ist doch ziemlich dämlich wenn man den text den man vor einem input haben will nicht erscheint. MIchele |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Du bist nicht dämlich, sondern nur faul ![]() Probier doch mal aus, such nach anderen Codes denk dir was aus etc. Ich denke du wirst das wohl schon hinbekommen (irgend wann zumindest) ![]() Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
das liegt alles am DoubbleBuffering.
Vielleicht kennst du aus QBasic das Phenomen der flackernden Grafikausgabe. Um dies zu umgehen, gibt es zwei Grafikbuffer. Einen Front- und Backbuffer. In BB zeichnet man für gewöhnlich auf den Backbuffer. Mit Flip vertauscht man beide Buffer, so dass mit einem mal das gezeichnete auch sichtbar wird. wenn du also willst, das der Text vor dem Input sichtbar ist, musst du genau davor flippen. das verursacht wieder andere probleme, wie du beim testen herausfinden wirst. MfG |
||
micheleBetreff: fast :-) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
hier hab ich ein locate drin dennoch kommt erst die input abfrage.. in der online hilfe hab ich auch nichts gefunden wie man das umgehen könnte. Graphics3D 800,600,32,1 For n=5 To 10 Print "Chargenerator" Next Flip Locate 0,600 name$=Input$("Name: ") Flip WaitKey Michele |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Na, guck mal wo du das hinzeichnest, dort kan ndas auch keiner lesen.
Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
micheleBetreff: mit functions gehts |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das locate bezieht sich auf den input, bei 600 bildschirmauflösung zeichnet ers ganz unten. das klappt schon.
ich habs mittels funktionen geschafft erst einen text ![]() Graphics3D 800,600,32,1 designmask() Flip name$=Input$("hello: ") Function designmask() For n=5 To 10 Print "Chargenerator" Next Flip End Function WaitKey also irgendwie sollte es mit funktionen gehen danke euch superschnelle hilfe ![]() Ciaoooo Michele |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn es wirklich nur rein Text sein soll, Zeile für Zeile, dann würd ich das Cls und Flip einfach ganz weglassen. Dann Print und Input verwenden. Text funktioniert nur im Grafikmodus (mit Cls + Flip) anständig. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group