Bild DREHEN
Übersicht

![]() |
TomBetreff: Bild DREHEN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe eine Frage:
Ich möchte ein Bild drehen, aber wenn ich rotateimage benutze, dann dreht sich das Bild... aber es dreht sich immer langsamer! Hier mein Code: Code: [AUSKLAPPEN] Graphics 800,600,16,1
pic=loadimage ("Bild.bmp") .start cls if keydown(1)=1 then end drawimage pic,300,300 rotateimage pic,1 flip goto start Danke im voraus für Hilfe! |
||
AthlonXP 2800+ ~ 2.0Ghz ; Radeon9800pro ATLANTIS (Sapphire) ; 512mb DDR RAM (333mhz) ; Creative Soundblaster Audigy2 ZS ;
BlitzPlus (B+) Mein Allgemein-FORUM : http://www.tom-forum.de.tc Meine Mini-Page : www.tom.kohop.de |
![]() |
rambo256 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Speichere die Bilder alle vorher ab.
Du drehst das Bild um ein grad (oder mehrere) weiter und speicherst es dann wieder in einem array ab.Das wird in meinem Codebeispiel gezeigt Code-beispiel: Code: [AUSKLAPPEN] Function Autosdrehen(car_1,col_1)
TFormFilter 0 For i = 0 To 359 Cars_gfx(i,0) = CopyImage(car_1) RotateImage Cars_gfx(i,0),i Kollisionsbilder(i,0)= CopyImage(col_1) RotateImage Kollisionsbilder(i,0),i Flip Cls Next End Function |
||
Asus F53z
Das Leben ist eine reine Konkatenation... |
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schalt mal den TFormfilter aus, dann müsste es schneller gehen. Im allgemeinem solltest das aber lieber vorberechnen.
Ganz davon abgesehen solltest du Schleifen lieber mit Repeat/Until oder While/Wend machen. Code: [AUSKLAPPEN] Graphics 800,600,16,1 pic=loadimage ("Bild.bmp") TFormFilter 0 setbuffer Backbuffer() Repeat cls drawimage pic,300,300 rotateimage pic,1 flip until keyhit(1) |
||
aquamonit.de|BlitzMax|MaxGUI |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
[code]Dim bild(359)
TFormFilter False MidHandle originalbild AutoMidHandle True For i=0 To 359 bild(i)=CopyImage(originalbild) RotateImage bild(i),i Next Repeat ; Hauptschleife Cls DrawImage bild(winkel),x,y If KeyDown(drehen_rechts) winkel=winkel+1 If winkel>359 Then winkel=0 EndIf If KeyDown(drehen_links) winkel=winkel-1 If winkel<0 Then winkel=359 EndIf Until KeyHit(1) End[code]Mein Senf dazu. Zur Laufzeit drehen ist Mist ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Bms |
![]() Antworten mit Zitat ![]() |
---|---|---|
vorberechnen ist gut. ![]() mal doch mal alle frames auf den bildschirm und mach nen scrinshot. dann den screenshot mit loadanimimage() laden. das ist wahrscheinlich schneller, allerdings braucht das Bild miit den versch. Drehungen einige Kb´s. ![]() |
||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
es wird langsamer, weil das bild immer größer wird!
Darum immer 1 originalbild nehmen und kopieren und drehen |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
BlitzBoris |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn meine Figur in 8 Richtungen gehen kann, ist es also sinnvoller nur ein Bild der Figur zu machen und den Rest einfach berechnen zu lassen?
Würde zumindest die .exe wesentlich verkleinern. |
||
Meine Freundin hat mich wegen BlitzBasic verlassen. Und das ist gut so. |
![]() |
rambo256 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein,ich würde es nicht machen.Bei 8 Richtungen lohnt es sich nicht!
Würde ich jetzt sagen ![]() Da kann man einfach die Bilder mit Paint spiegeln bzw. drehen und dann nochmal abspeichern. |
||
Asus F53z
Das Leben ist eine reine Konkatenation... |
BlitzBoris |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es wäre dann ja lediglich das zu ladende Bild kleiner, im Speicher wären dann ja trotzdem wieder 8 Bilder. | ||
Meine Freundin hat mich wegen BlitzBasic verlassen. Und das ist gut so. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group