WTF wieso zeichnet der nich???
Übersicht

![]() |
ReLeNtLeSSBetreff: WTF wieso zeichnet der nich??? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wieso zeichnet der mir die Bilder net?
Code: [AUSKLAPPEN] ;CrazyRace by Dominik van Megchelen AppTitle "CrazyRace" Graphics 1280,1024,32 SetBuffer BackBuffer() ;LoadImage;Loadsound Global lade1=LoadImage("data/lade/1 (1).png") DrawImage lade1,400,400 Delay 1000 Global lade2=LoadImage("data/lade/1 (2).png") Global lade3=LoadImage("data/lade/1 (3).png") DrawImage lade2,400,400 Delay 1000 Global lade4=LoadImage("data/lade/1 (4).png") Global lade5=LoadImage("data/lade/1 (5).png") DrawImage lade3,400,400 Delay 1000 Global lade6=LoadImage("data/lade/1 (6).png") Global lade7=LoadImage("data/lade/1 (7).png") Global lade8=LoadImage("data/lade/1 (8).png") DrawImage lade4,400,400 Delay 1000 Global lade9=LoadImage("data/lade/1 (9).png") Global lade10=LoadImage("data/lade/1 (10).png") Global lade11=LoadImage("data/lade/1.png") Global auto=LoadImage("data/auto.bmp") DrawImage lade5,400,400 Delay 1000 Global autoruck=LoadImage("data/autoruck1.bmp") Global crash=LoadImage("data/crash.bmp") Global baum=LoadImage("data/baum.bmp") DrawImage lade6,400,400 Delay 1000 Global crash2=LoadImage("data/crash2.bmp") Global bg=LoadImage("data/bg.bmp") Global maus=LoadImage("data/maus.bmp") DrawImage lade7,400,400 Delay 1000 Global camel=LoadImage("data/camel.bmp") Global cameltot=LoadImage("data/cameltot.bmp") DrawImage lade8,400,400 Delay 1000 Global button1=LoadImage("data/buttons/buttonstart1.png") Global button1_a=LoadImage("data/buttons/buttonstart2.png") DrawImage lade9,400,400 Delay 1000 Global button2=LoadImage("data/buttons/buttonsettings1.png") Global button2_a=LoadImage("data/buttons/buttonsettings2.png") DrawImage lade10,400,400 Delay 1000 Global button3=LoadImage("data/buttons/buttonquit1.png") Global button3_a=LoadImage("data/buttons/buttonquit2.png") Global font=LoadFont("Comic Sans MS",40,True) DrawImage lade11,400,400 Delay 1000 End ;ENDE Ich bin ratlos...[/code] |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich finde ja, dass dein code totaler schwachsinn ist, aber wenn du ihn unbedingt verwenden willst:
Wie wärs mit flip?? mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Code ist komplett unbrauchbar.
Da fehlt jegliche Struktur (LadePhase, MainLoop, CleanUpPhase) Wenn du das gemacht hast, dann einfach noch ein Flip rein wie oben beschrieben. Das Flip ist in der MainLoop |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn ich dir ein Tipp geben darf mach kein unnötigen ladebalken, sonder schreib dir eine Function die vvor dem Laden ein Bildanzeigt, und wärend des Ladens wird es dann auc wirklich angezeigt.
Hiem la so ein grobes bspl: Load("Bilder") Jetzt lade ich alle Bilder............. Load("Map") Jetzt Lade Ich die Map Load("Player") Jetzt noch den Player Function Load(txt$) t = loadimage("blababsad") drawimage t,0,0 text 50,50,txt$ flip freeimage t end function war nur mal so ein grobes Beispiel, klappt aber Prima!!! lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Güte,
wieso sagt ihr mir das der Code unbrauchbar ist? Das weis ich selber... ich wollte nur wissen warum er mir nicht zeichnet weil ich diesen CODEAUSSCHNITT(!!!) nämlihc in einem Hauptprogramm verwende, wo er auch net funktioniert... |
||
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
!!!!!!!!!!! weil FLIP fehlt !!!!!!!!!!!!!!
FLIP FEHLT lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
in meinem hauptprogramm nich... | ||
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Weil du vorher bestimmt einmal Cls verwendet hast, und somit alles wieder gelöscht...
lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Global lade1=LoadImage("data/lade/1 (1).png")
DrawImage lade1,400,400 Delay 1000 Global lade2=LoadImage("data/lade/1 (2).png") Global lade3=LoadImage("data/lade/1 (3).png") DrawImage lade2,400,400 Delay 1000 Global lade4=LoadImage("data/lade/1 (4).png") Global lade5=LoadImage("data/lade/1 (5).png") DrawImage lade3,400,400 Delay 1000 Global lade6=LoadImage("data/lade/1 (6).png") Global lade7=LoadImage("data/lade/1 (7).png") Global lade8=LoadImage("data/lade/1 (8).png") DrawImage lade4,400,400 Delay 1000 Global lade9=LoadImage("data/lade/1 (9).png") Global lade10=LoadImage("data/lade/1 (10).png") Global lade11=LoadImage("data/lade/1.png") Global auto=LoadImage("data/auto.bmp") DrawImage lade5,400,400 Delay 1000 Global autoruck=LoadImage("data/autoruck1.bmp") Global crash=LoadImage("data/crash.bmp") Global baum=LoadImage("data/baum.bmp") DrawImage lade6,400,400 Delay 1000 Global crash2=LoadImage("data/crash2.bmp") Global bg=LoadImage("data/bg.bmp") Global maus=LoadImage("data/maus.bmp") DrawImage lade7,400,400 Delay 1000 Global camel=LoadImage("data/camel.bmp") Global cameltot=LoadImage("data/cameltot.bmp") DrawImage lade8,400,400 Delay 1000 Global button1=LoadImage("data/buttons/buttonstart1.png") Global button1_a=LoadImage("data/buttons/buttonstart2.png") DrawImage lade9,400,400 Delay 1000 Global button2=LoadImage("data/buttons/buttonsettings1.png") Global button2_a=LoadImage("data/buttons/buttonsettings2.png") DrawImage lade10,400,400 Delay 1000 Global button3=LoadImage("data/buttons/buttonquit1.png") Global button3_a=LoadImage("data/buttons/buttonquit2.png") Global font=LoadFont("Comic Sans MS",40,True) DrawImage lade11,400,400 Delay 1000 Flip Er zeichnet GAR nichts /EDIT: Ich habs.... ich muss das SetBuffer Backbuffer() vor dem Zeichnen wegnehmen, fragt mich nicht wieso. |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Immer wenn du ein Bild zeichnest, geht das auf den Backbuffer -->
Code: [AUSKLAPPEN] Global lade1=LoadImage("data/lade/1 (1).png")
DrawImage lade1,400,400 flip Delay 1000 [...usw...] |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mach mal:
Code: [AUSKLAPPEN] Graphics 1024,768,32,2 setbuffer Backbuffer() davor. Weil du zeichnest ja bei 400x400 und das ist auserhalb des Fensters. lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
Goaly |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst 11 Sekunden warten. Dann siehst du etwas.
Warum? Zunächst einmal ein paar Informationen zum Flip(<-link) Befehl: Code: [AUSKLAPPEN] Dieser Befehl wird bei Doublebuffering angewendet. Dabei muss man zuerst den Hintergrundbuffer mit SETBUFFER BACKBUFFER() auswählen. Nun kann man alle Grafikbefehle wie z.B. LINE ausführen. Zuletzt wird der Befehl FLIP benutzt, um die Grafik sichtbar zu machen. Dabei werden BACKBUFFER und FRONTBUFFER miteinander vertauscht. Nur so können flimmerfreie Spiele entwickelt werden.
So.. Nochmals.. warum musst du 11 Sekunden warten bis Du etwas siehst? Ganz einfach... Du tust erst am Schluss deines Quellcodes einmal Flip verwenden. Somit wird also erst am Schluss etwas dargestellt. Du solltest demnach Flip(<-link) immer vor einer delay Anweisung verwenden. bye |
||
Marek |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
durch die ganzen delays darfst du erstmal 10 Sekunden warten, bis was gezeichnet wird.
Zudem fehlt noch ein Waitkey am Ende des Codes, damit das Programm nicht gleich beendet wird. So wie es jetzt ist, macht das Programm folgendes: Laden Zeichnen Warten . . . Flip(auf den FrontBuffer zeichnen) Beenden Code: [AUSKLAPPEN] Global lade1=LoadImage("data/lade/1 (1).png") Global lade2=LoadImage("data/lade/1 (2).png") Global lade3=LoadImage("data/lade/1 (3).png") Global lade4=LoadImage("data/lade/1 (4).png") Global lade5=LoadImage("data/lade/1 (5).png") Global lade6=LoadImage("data/lade/1 (6).png") Global lade7=LoadImage("data/lade/1 (7).png") Global lade8=LoadImage("data/lade/1 (8).png") Global lade9=LoadImage("data/lade/1 (9).png") Global lade10=LoadImage("data/lade/1 (10).png") Global lade11=LoadImage("data/lade/1.png") Global auto=LoadImage("data/auto.bmp") Global autoruck=LoadImage("data/autoruck1.bmp") Global crash=LoadImage("data/crash.bmp") Global baum=LoadImage("data/baum.bmp") Global crash2=LoadImage("data/crash2.bmp") Global bg=LoadImage("data/bg.bmp") Global maus=LoadImage("data/maus.bmp") Global camel=LoadImage("data/camel.bmp") Global cameltot=LoadImage("data/cameltot.bmp") Global button1=LoadImage("data/buttons/buttonstart1.png") Global button1_a=LoadImage("data/buttons/buttonstart2.png") Global button2=LoadImage("data/buttons/buttonsettings1.png") Global button2_a=LoadImage("data/buttons/buttonsettings2.png") Global button3=LoadImage("data/buttons/buttonquit1.png") Global button3_a=LoadImage("data/buttons/buttonquit2.png") Global font=LoadFont("Comic Sans MS",40,True) DrawImage lade1,400,400 Flip Delay 1000 DrawImage lade2,400,400 Flip Delay 1000 DrawImage lade3,400,400 Flip Delay 1000 DrawImage lade4,400,400 Flip Delay 1000 DrawImage lade5,400,400 Flip Delay 1000 DrawImage lade6,400,400 Flip Delay 1000 DrawImage lade7,400,400 Flip Delay 1000 DrawImage lade8,400,400 Flip Delay 1000 DrawImage lade9,400,400 Flip Delay 1000 DrawImage lade10,400,400 Flip Delay 1000 DrawImage lade11,400,400 Flip Delay 1000 Waitkey() End Jetzt macht es das hier: Alles Laden Bild malen Backbuffer anzeigen warten(eine Sekunde) . . . Auf Eingabe warten Beenden Was du jetzt noch machen musst: -Für jedes Bild ein Freeimage-Befehl vor dem End einfügenBefehl (wichtig!!!) -Ungenutzte Bilder entfernen |
||
Wer lesen kann ist klar im Vorteil... |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein nein nein
ihr versteht alle mein schon längst gelöstes problem nich! was jetz aber auch egal ist, ich musste den setbuffer backbuffer() davor wegnehmen dann gings. |
||
Marek |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Meins würde auch gehen. Ich habe dein Problem schon verstanden...
Pass auf: Jedes Programm startet automatisch im "Front-Buffer-Modus". Der FrontBuffer ist das, was du auf dem Bildschirm siehst. Zeichnest du also auf den FronBuffer, siehst du das sofort. Benutzt du aber SetBuffer BackBuffer(), so gehst du in den "Back-Buffer-Modus", das heißt, du zeichnest alles auf einen "virtuellen Bildschirm". Um diesen "virtuellen Bildschirm" anzuzeigen brauchst du den Befehl Flip. Der zeichnet den Backbuffer(also alles auf dem "virtuellem Bildschirm; in diesem Fall deine Bilder) auf den FrontBuffer. Du musst also immer, wenn du was angezeigt haben möchtest, Flip benutzen. MfG Marek |
||
Wer lesen kann ist klar im Vorteil... |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Global lade1=LoadImage("data/lade/1 (1).png")
DrawImage lade1,400,400 Delay 1000 Da musst du vor das Delay ein Flip schreiben. Anstatt die, die hier Ihre Kostbare Zeit für dein (sorry) Billig-Problem nehmen, anzuschreihen und im Übertragenen Sinne für Blöd darzustellen, solltest du, lieber Relentless, lieber mal besser lesen. Vielleicht auch einfach mal das machen, was man dir sagt... es wäre so einfach ![]() |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie wärs mit "Waitimer" ? | ||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Marek |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ozzi das hätte das Problem hier auch nicht gelöst ![]() |
||
Wer lesen kann ist klar im Vorteil... |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ReLeNtLeSS, wenn du wirklich die User warten lassen willst, dann doch bitte nicht mit einem langweiligen Ladebalken der in der gesamten Anzeigedauer garnichts lädt. Mach dann doch besser eine kurze Animation wo ein Schriftzug durch den Bildschirm fliegt oder der gleichen. Diese sollte aber auch nicht 10 Sekunden dauern, denn ab 4 Sekunden haben die meisten schon garkeine Lust mehr zu warten. Dass Spiele mit Ladedauer vom Gefül her aber 'hochwertiger' erscheinen, leutet mir auch ein. Ich neige auch gerne dazu ein Delay von 1500 zu machen, mehr aber nicht.
Um dein Problem nochmal anzukurbeln wurde obwohl bereits alles gesagt wurde. Du siehst nichts, weil du eben alles in dem Hintergrund gemalt hast. Der Hintergrund ist dein Backbuffer (ein zweiter 'Bildschirm' der nicht auf dem Monitor erscheint, sondern nur im Grafikspeicher deiner Grafikkarte). Bei Flip werden beide Bildschirme vertauscht (bei Vollbild) oder umkopiert (beim Fenstermodus). Speziell in deinem Fall hätte ich SetBuffer FrontBuffer() gemacht, deine Ladebalken gezeichnet und anschliessend dann auf SetBuffer BackBuffer() gestellt, welches für die meisten Spiele notwendig ist. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
hey leute
sorry falls ich aggressiv gewirkt habe; war net so gemeint. ich habe das jetz schon verstanden und ihr müsst es auch nich noch mal wiederhohlen - dank der vernünftigen erklärung von marek. Allerdings kann ich einfach die leute die sich über den code kaputtlachen, obwohl sie gar net wissen wozu er gehört. manche codeauschnitte mögen so einsam dahingstellt nuttzlos aussehen, was sie in einem hauptprogramm allerdings nicht sind. und die delays waren nur zur kontrolle... was mir ja im endeffekt nix gebracht hat.. naja.. mfg |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group