Draw3D --> Animation?
Übersicht
BlitzBasic
Beginners-Corner|
|
M0rgensternBetreff: Draw3D --> Animation? |
Antworten mit Zitat |
|---|---|---|
|
Hey Leute.
Ich hab ein Problem mit Darw3D bei dem mich die Hilfe nicht weiter bringt. Ich hab ein Bild geladen, das 256 hoch und 256 breit ist. Dieses Bild enthält 4 einzelbilder mit 64*64. Jetzt hab ich versucht das ganze zu animieren, aber das einzige was er macht, ist das Bild in voller Länge flackernd darzustellen. Ich weiß, dass man es bei Blitz2D noch angeben musste wie hoch jeder Frame ist etc. Das scheints ja nicht zu geben bei Draw3D. Hier der Code fürs laden: Code: [AUSKLAPPEN] Global PFeuer = loadimage3d("gfx\FeuerAnim2.png", 2, 2, 1)
Hier für die Frames: Code: [AUSKLAPPEN] Partikel\Frame = Partikel\Frame + 1
If Partikel\Frame = 3 Then Partikel\Frame = 0 und hier für das zeichnen: Code: [AUSKLAPPEN] For Partikel.TPartikel = Each TPartikel
drawimage3d(Partikel\IMage, Partikel\XPos#, Partikel\YPos#, 0, Partikel\Winkel, Partikel\Groesse#, Partikel\Frame) Next Was fehlt mir, bzw was hab ich falsch gemacht? Lg, M0rgenstern. |
||
n-Halbleiter |
Antworten mit Zitat |
|
|---|---|---|
GrabImage3D ist dein Freund. Du musst zuerst das Bild laden und dann die Ausschnitte in der gewünschten Reihenfolge grabben. Das geladene Bild ist dann Frame 0, das erste gegrabbte Frame 1 und so weiter. |
||
|
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit Ploing! Blog "Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935) |
||
|
|
M0rgenstern |
Antworten mit Zitat |
|---|---|---|
|
Öhm, könntest du mir bitte ein Beispiel geben?
Ich hab das jetzt so gemacht: Code: [AUSKLAPPEN] Global P1, P2, P3, P4
P1 = GrabImage3D(PFeuer, 0, 0, 64, 256) P2 = GrabImage3D(PFeuer, 64, 0, 64, 256) P3 = GrabImage3D(PFeuer, 128, 0, 64, 256) P4 = GrabImage3D(PFeuer, 192, 0, 64, 256) Und dann einfach immer den Frame erhöht und angezeigt wie bereits geposted. Aber ich hab immernoch das gleiche Ergebnis. Mein bild ist 256*256 und hat 4 Frames. Lg, M0rgenstern |
||
|
|
hecticSieger des IS Talentwettbewerb 2006 |
Antworten mit Zitat |
|---|---|---|
Jede deiner Variable (P1, P2, P3, P4) trägt das Handle des eigenen gegrabten Bildes. Du kannst nun aber auch DrawImage3D (P1, x, y, 0, 0, 1, Frame) mit Frame von 0 bis 3 die einzelnen Frames abrufen. Ausgehend von P1. Von P2 aus ginge es auch, nur da wären es dann Frame -1 bis 2. In Anbetracht der Tatsache, kann mann auch auf die Handles P2, P3, P4 verzichten und nur graben. Da lässt man also nur das P2=, P3, P4= weg. Hat aber dann den Nachteil, das man die einzelnen gegrabten Bilder nicht mehr mit FreeImage3D frei geben kann. Das ist aber egal, wenn man das geladene Bild mit FreeImage3D frei gibt, dann werden die Teilbilder automatisch aus der Datenbank entfernt.
Falls du die Draw3D2 hast (das Weiß ich jetzt nicht genau) dann kannst du das ganze auch mit nur einem Befehl graben. Das ginge dann mit GrabAnimImage3D(PFeuer, 64, 256, 0, 4) Edit1: Wenn du auf das Handle PFeuer ein Bild geladen hast, dann weitere geladen und irgendwann mal die Handles P1, P2, P3 und P4 grabst, dann geht das Frame ausgehend von PFeuer nicht direkt zu P1... über, sondern der Reihe nach, wie sie geladen bzw. gegrabt wurden. Alles ein einzelner Framestrang. |
||
|
|
M0rgenstern |
Antworten mit Zitat |
|---|---|---|
|
Hey, danke hectic.
Jetzt klappts. Das Problem war, dass ich PFeuer als Handle übergeben habe und nicht P1. Ps: Draw3D2 nutze ich (noch) nicht. Vielen Dank noachmal. Lg, M0rgenstern |
||
Übersicht
BlitzBasic
Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group

