Image frame out of range

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Lord AdZ

Betreff: Image frame out of range

BeitragSo, Apr 15, 2007 12:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab ein Problem mit meinem animierten Hintergrund: Der Debugger zeigt an "Image frame out of range". Was mach ich falsch?

Code: [AUSKLAPPEN]

If MilliSecs() > tmrhintergrund + 200 Then
      tmrhintergrund=MilliSecs()
      frmhintergrund=(frmhintergrund + 1) Mod 29
End If
DrawImage hintergrund,0,0,frmhintergrund ;hintergrund
DrawImage kugel,xkugel,ykugel;Kugel
DrawImage spieler1,xsp1,ysp1 ;Spieler1
DrawImage spieler2,xsp2,10   ;Spieler2
   

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Apr 15, 2007 12:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieviele Bilder sind es denn? 29?
Zeig mal die Zeile in der das Bild geladen wird.
Welchen Wert hat die Variable wenn der Fehler kommt?
[BB2D | BB3D | BB+]

Lord AdZ

BeitragSo, Apr 15, 2007 13:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Rallimen hat Folgendes geschrieben:
Wieviele Bilder sind es denn? 29?

Es sind 30 (0-29)

Rallimen hat Folgendes geschrieben:
Zeig mal die Zeile in der das Bild geladen wird.

Code: [AUSKLAPPEN]

Global hintergrund=LoadAnimImage("Background_5.png",1024,768,0,29)
MaskImage hintergrund,0,0,0


Rallimen hat Folgendes geschrieben:
Welchen Wert hat die Variable wenn der Fehler kommt?

Wie stell ich das fest?

aMul

Sieger des Minimalist Compo 01/13

BeitragSo, Apr 15, 2007 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst beim Laden 30 Frames angeben, nicht 29 Wink
Allerdings dürfte es so, wie du es jetzt hat nicht zu Fehlern kommen, da die Variable durch das 'Mod 29' nicht größer als 28 wird... mysteriös.
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

Lord AdZ

BeitragSo, Apr 15, 2007 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
aMul hat Folgendes geschrieben:

Allerdings dürfte es so, wie du es jetzt hat nicht zu Fehlern kommen, da die Variable durch das 'Mod 29' nicht größer als 28 wird... mysteriös.

Ist es auch. Bevor ich den Hintergrund in mein Spiel eingebaut hab, hab ichs mit dem Beispielprogramm von blitzbase getestet. Da gings, erst als der Hintergrund im eigendlichen Spiel war, kam der Error.
 

Dreamora

BeitragSo, Apr 15, 2007 14:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Vermutlich hast du einfach net genug RAM um 30MB für ein hintergrundbild zu verheizen

Sorry aber der Ansatz von 30x 1024x768 is net ein klein wenig "hohl" oder? (davon abgesehen das das richtig schön langsam wird)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Apr 15, 2007 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Rallimen hat Folgendes geschrieben:
Welchen Wert hat die Variable wenn der Fehler kommt?

Wie stell ich das fest?
Debugger an
Wenn Fehler kommt im Debugger die Variable suchen unter Global Reiter (rechts)
ich denke aber auch das es am VRam liegt, das Bild ist einfach zu groß
[BB2D | BB3D | BB+]

Lord AdZ

BeitragSo, Apr 15, 2007 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
Vermutlich hast du einfach net genug RAM um 30MB für ein hintergrundbild zu verheizen

512mb RAM sollten doch genug sein, oder?

Dreamora hat Folgendes geschrieben:
Sorry aber der Ansatz von 30x 1024x768 is net ein klein wenig "hohl" oder? (davon abgesehen das das richtig schön langsam wird)
Wie soll ich dann den Hintergrund machen?

@Rallimen: Nochmal: Lord AdZ hat Folgendes geschrieben:
Bevor ich den Hintergrund in mein Spiel eingebaut hab, hab ichs mit dem Beispielprogramm von blitzbase getestet. Da gings, erst als der Hintergrund im eigendlichen Spiel war, kam der Error.
 

Dreamora

BeitragSo, Apr 15, 2007 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du mir einen sinnvollen Grund warum du 30 Hintergründe in Echtzeit wechseln können müssen solltest?
Sinnvoller: Tiles eigentlich
Weiss aber aktuell nicht worauf du hinaus willst mit 30 Hintergrundbildern die auf aktuellen Systemen alle mies aussehen werden (da 1280x1024 oder 1680x1050 Auflösung und so)


Und 512MB stehen deinem gesamten System zur Verfügung. Wenn du ne Billiggrafikkarte hast heisst das noch 384 fürs gesamte System und davon gehen nochmal 200 MB an XP, damit bleiben noch 180
Wenn du dann noch Firefox laufen hast während dem Programmieren kann ich dir nur noch raten, dass dein restlicher Code effizienter mit RAM umgeht als diese Hintergrundbild Idee.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Lord AdZ

BeitragSo, Apr 15, 2007 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Tiles bringen mir nichts, denn mein animierter Hintergrund funktioniert so: zuerst ist der Hintergrund dunkelblau und ändert sich dann langsam (30 Bilder in 6sek) in dunkelgrün. Ich hab keinen Plan wie ich das ohne "LoadAnimImage" machen sollte, aber wenn jemand einen Tipp hätte, würde ich ihn gern lesen.

aMul

Sieger des Minimalist Compo 01/13

BeitragSo, Apr 15, 2007 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
ClsColor ? Rect ?

Wenn du es damit gar nicht hinbekommst, mach die Frames deines Hintergrundbildes 1*1 Pixel groß und benutz TileImage zum zeichnen...

Ober lass den entsprechenden Pixel des Bildes auslesen(GetColor, ReadPixel, ReadPixelFast) und die Farbwerte übergibst du dann ClsColor/Color+Rect
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

Lord AdZ

BeitragSo, Apr 15, 2007 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habs jetzt mit Frames, die 10X8 Pixel groß sind versucht, aber "Image frame out of range" ist immer noch da. Was jetzt?
 

Dreamora

BeitragSo, Apr 15, 2007 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann liegts nicht an obigem Code den du gezeigt hast.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Lord AdZ

BeitragSo, Apr 15, 2007 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
An was dann?
 

bb_fan

BeitragSo, Apr 15, 2007 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
da kriegst du sicher einige performance probleme. warum verwendest du eigentlich das png format? Die transparenz machst du ja im code (wobei die transparenz das format png erst notwendig macht??).
welche blitz version verwendest du?

Lord AdZ

BeitragSo, Apr 15, 2007 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitz3d.

aMul

Sieger des Minimalist Compo 01/13

BeitragSo, Apr 15, 2007 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
bb_fan hat Folgendes geschrieben:
warum verwendest du eigentlich das png format?

Vielleicht weil: Png < Bmp ?

@Lord AdZ:
Ich denke, das das Problem sich irgendwo zwischen Tastatur und Stuhllehne befindet. Wink
Wahrscheinlich hast du einfach irgendwas übersehen. Vielleicht ist das Bild nicht groß genug, vielleicht hast du irgendwo falsche Parameter... kann an ettlichen Sachen liegen
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
 

Dreamora

BeitragSo, Apr 15, 2007 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du änderst die Variable sonst wo noch und net nur in dem IF, was höchst "Codestruktur Illegal" wäre aber potentiell während 199 von 200ms zu problemen führen würde.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Apr 15, 2007 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
damit wären wir wieder hierZitat:
Welchen Wert hat die Variable wenn der Fehler kommt?

Könnte sein das diese im negativen Bereich ist
[BB2D | BB3D | BB+]

Lord AdZ

BeitragMo, Apr 16, 2007 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Variable hat einen Wert von 22060448. Das ist doch ziehmlich viel, oder?

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group