Einem Array ein Bild zuweisen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Baret

Betreff: Einem Array ein Bild zuweisen

BeitragMo, Dez 06, 2004 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Ich versuche ein einfaches Rennspiel zu programmieren.

Damit das auto in der Kurve auch "geneigt ist" habe ich mir gedacht ich mache es in etwa gleich wie bei der GTA-Steuerung und weise einem Array die Bilder zu.
Aber wenn ich folgenden Code (nur Versuch) verwende haben alle Bilder die selbe Rotation.(z.b.: 20°)

Code: [AUSKLAPPEN]

;.......

Setbuffer backbuffer()
Global car = LoadImage("Bilder\car.bmp")
MaskImage car,255,0,0

;.......

Dim auto(2)
auto(0) = car
RotateImage car,20
auto(1) = car
RotateImage car,180
auto(2) = car
DrawImage auto(1),100,100
DrawImage auto(2),200,200
Flip
WaitKey ()



Was mache ich falsch?
Oder ist es nicht möglich einem Array ein Bild zuzuweisen?

Vielen Dank im Voraus

Mfg
Baret

Dante

BeitragMo, Dez 06, 2004 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm...

versuchs mal so:

BlitzBasic: [AUSKLAPPEN]
Graphics 800,600

Dim auto(2)

SetBuffer BackBuffer()
For i=1 To 2
auto(i) = LoadImage(\"car.bmp\")
Next

RotateImage auto(1),20
RotateImage auto(2),180

DrawImage auto(1),100,100
DrawImage auto(2),200,200
Flip
WaitKey ()


Allerdings nicht getestet Wink

cya

Baret

BeitragMo, Dez 06, 2004 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke!

Hat funktioniert! Very Happy

Mfg
Baret
 

BIG BUG

BeitragMo, Dez 06, 2004 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
In deiner Variable CAR wird ja nicht das Bild selbst, sondern ein Zeiger auf dieses Bild gespeichert(Bild liegt irgendwo im VRam). D.h. bei normalen Zuweisungen wird nur dieser Zeiger kopiert, weshalb natürlich alle deine Variablen trotzdem noch auf das gleiche Bild zeigen.

Anstatt das Bild jedesmal neu zu laden, solltest du besser CopyImage einsetzen.

Außerdem solltest du den Rotationsbefehl immer nur auf das Originalbild anwenden, da mit jeder Anwendung Bildinformationen verloren gehen.
-> Nach ein paar Anwendungen nur noch Pixelbrei.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Hummelpups

BeitragMo, Dez 06, 2004 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Bzw. nach ein paar Drehungen isset schwarz. Wink
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

stfighter01

BeitragDi, Dez 07, 2004 23:38
Antworten mit Zitat
Benutzer-Profile anzeigen
um es einfach auszudrücken:

die variable z.b.: auto(1) od. auto(0) ist NICHT das bild.
diese variable ist lediglich der identifikationswert für das bild.
so wie deine postadresse lediglich angibt WO du wohnst.
um dein haus zu sehen muss man schon dort hinfahren.


wenn du rotateimage verwendest so änderst du das bild, aber nicht deren "standort".
also weisst du deinen feld-einträgen immer die gleiche adresse zu.
-> alle bilder gleich, und durch mehrfaches verdrehen dieses auch noch grauenhaft verzerrt


mfg stfighter
Denken hilft!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group