Wo liegt der Fehler?
Übersicht

BurnserBetreff: Wo liegt der Fehler? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi ich habe vor ein paar Tagen begonnen mit bb zu programmieren also die grundkenntisse ahabe ich schon durhc weil ich vorhher qbasic gelernt habe...
nur jetzt wollte ich mich an die Grafik setzen. Mein Ziel war es ein bild auszugeben. naja dem ist nicht so. ich weis aber nicht warum... hier mal der code ich hofe ihr koennt mir helfen: Code: [AUSKLAPPEN] Graphics 800,600,16,1
Graphics 800,600,16,1 SetBuffer BackBuffer() flamme = LoadImage"/flame2.bmp" DrawImage flamme 65,65 WaitKey End mfg burnser |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1. Du brauchst nur ein Graphics
2. Wenn du setbuffer backbuffer verwendest, musst du nach dem du alles gezeichnest hast / gerendert hast "flip" verwenden, damit der Backbuffer angezeigt wird und der jetzige Frontbuffer zum Backbuffer für neue Zeichenoperationen wird. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 800,600,16,1
SetBuffer BackBuffer() flamme = LoadImage("/flame2.bmp") ;< in Klammern setzten da sonst kein Rückgabewert übermittelt wird DrawImage flamme, 65,65 ;Hier fehlte ein Komma ; und da du den backbuffer aktiviert hast mußt du auch noch den Bildschirm Flipen Flip WaitKey End |
||
[BB2D | BB3D | BB+]
|
Burnser |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke für die schnellen antworten ich werde nun mal versuchen bewegung in das prog zu bringen.
mfg burnser |
||
Burnser |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
so da wäre schon die nächste hürde.
bild eingefügt klar, und jetzt will ich bei druck auf 205 also pfeiltaste nach rechts, dass sich die grafik anchrecht sbewegt also bewegung = 1 das dieser wert + die x koordinate die ja schon oben vorgegeben ist... aber irgend wie springt das prog an abei druck auf die taste geht es gleich zu statt in die richtung zu wandern... ;( Code: [AUSKLAPPEN] Graphics 800,600,16,1
SetBuffer BackBuffer() flamme = LoadImage("flame2.bmp") ;< in Klammern setzten da sonst kein Rückgabewert übermittelt wird x = 1 y = 1 bewegung = 1 DrawImage flamme, x,y ;Hier fehlte ein Komma Flip If KeyDown(205) Then x= x + bewegung;rechte feiltaste WaitKey End mfg burnser |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 800 ,600,16,1
SetBuffer BackBuffer () flamme = LoadImage ("flame2.bmp") ;< in Klammern setzten da sonst kein Rückgabewert übermittelt wird x = 1 y = 1 bewegung = 1 Repeat DrawImage flamme, x,y ;Hier fehlte ein Komma Flip If KeyDown (205) Then x = x + bewegung;rechte feiltaste Until x > 800 Or KeyHit (1) ;WaitKey End nachdem der x Wert geändert wurde hält das Programm an! Du mußt das innerhalb eine Schleife laufen lassen um es immer wieder anzuzeigen! Schau dir mal einige tuts auf der Robsite an, da ist das ziemlich gut beschrieben! |
||
[BB2D | BB3D | BB+]
|
Burnser |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi also klappt super kann mitlerweile die sonne also flame2.bmp in alle richtungen bewegen. nur wird sie ständig dargestellt immer 1 pixel weiter das bild also zieht sie sich sozusagen das ganz viele sonnen auf eiandaer überlappt folgen.
wie ändere ich das?? hier mal der aktuelle code: Code: Graphics 1024,768,32,1 SetBuffer BackBuffer() flamme = LoadImage ("flame2.bmp") ;< in Klammern setzten da sonst kein Rückgabewert übermittelt wird x = 1 y = 1 bewegung = 5 For zaehler = 1 To 1000 x = Rnd(0, 1024) y = Rnd(0, 768) Plot x, y Next Repeat DrawImage flamme, x,y ;Hier fehlte ein Komma If KeyDown (205) Then x = x + bewegung If KeyDown (208) Then y = y + bewegung If KeyDown (203) Then x = x - bewegung If KeyDown (200) Then y = y - bewegung Flip Until y > 702 Or x > 958 Or y < 1 Or x < 1 Or KeyHit (1) WaitKey End PS: habe noch nen sternen himmel hinzugefügt Smile) mfg burnser |
||
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
du schreibst
if keydown(205) ... waitkey das if keydown(205) ... beachtet er nicht weil keine taste gedrückt wurde dann kommt er zu waitkey. wenn du dann die taste drückst läuft das programm weiter und das end kommt drann worauf es beendet wird. du musst also wie einen eintrag drüber eine schleife benutzen in der dann aber auch dass bild immer wieder gelöscht und an die neue position gezeichnet werden muss |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. MfG D2006 |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Repeat
CLS ;<--- DrawImage flamme ... |
||
Burnser |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also jetzt klappt allles einwansfrein aber nur die sonne kann über den rand hinaus und das is ja blöd wie mache ich es das sie beim bild schrimrand stoppt? also ich hatte es vorhin wenn sie den bild schrimrand berüht das das progg dann beendet aber wenn man nen shooter schrei9bt isst das ja saehr unvorteilhaft... als die saonne soll nur nicht über den rand kommen sollen nur wie?
Code: Code: [AUSKLAPPEN] Graphics 1024,768,32,1
SetBuffer BackBuffer() flamme = LoadImage ("flame2.bmp") ;< in Klammern setzten da sonst kein Rückgabewert übermittelt wird x = 1 y = 1 bewegung = 5 Repeat Cls DrawImage flamme, x,y ;Hier fehlte ein Komma If KeyDown (205) Then x = x + bewegung If KeyDown (208) Then y = y + bewegung If KeyDown (203) Then x = x - bewegung If KeyDown (200) Then y = y - bewegung Flip Until KeyHit (1) WaitKey End mfg burnser |
||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nichts gegen dich, aber du lernst wenig, wenn du dir alle Lösungen von anderen geben lässt.
Probiers mal allein ![]() Ein Denkanstoß: Du musst x und y kontrolieren... ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
Burnser |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aMul hat Folgendes geschrieben: Nichts gegen dich, aber du lernst wenig, wenn du dir alle Lösungen von anderen geben lässt.
Probiers mal allein ![]() Ein Denkanstoß: Du musst x und y kontrolieren... ![]() naja stimmt schonich frage gerne und lasse es gerne andere machen^^ naja habe dann mal überlegt aber die antowrt war mehr als simpel. ich wollte noch ne schlieffe machen also 4 schleifen in einer und deswegen war ich völlig aus der spur... naja ne einfache if abfrage wenn der wert überschritten ist das es zurück zu dem und dem wert geht is sehr sehr simpel naja wers sehen möchte hier der code: Code: [AUSKLAPPEN] Graphics 1024,768,32,1 SetBuffer BackBuffer() flamme = LoadImage ("flame2.bmp") x = 1 y = 1 xmax = 65 ymax = 65 bewegung = 5 Repeat Cls DrawImage flamme, x,y If KeyDown (205) Then x = x + bewegung If KeyDown (208) Then y = y + bewegung If KeyDown (203) Then x = x - bewegung If KeyDown (200) Then y = y - bewegung If x > 1024 - xmax Then x = 1024 - xmax If x < 1 Then x = 1 If y > 768 - ymax Then y = 768 - ymax If y < 1 Then y = 1 Flip Until KeyHit (1) WaitKey End PS: Wenn ich das prog im compiller also im ide starte funzt es super aber wenn ich eine exe erstelle dann will das programm nie und es steht dort: Memory acces violation was bedeutet das und wie bringe ich es zum laufen als exe?? mfg burnser |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
erstellst du die exe da wo auch das Bild ist ? | ||
Burnser |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jo hattes schon bemerkt... ich dachte die exe enthält auch das bild weil 1,25 mb für ein paar zeilen text...
naja geht alles super danke... mfg burnser |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group