Probleme mit Pixmap?
Übersicht

bruce85Betreff: Probleme mit Pixmap? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo nochmal,
ich hab noch ein kleines Problem mit meinem Spiel und zwar, habe ich in meinem Spiel mehrere Arrays für die Blöcke und wenn man auf einen der Blöcke klickt, dann habe ich dieser Block in PixMap geschrieben, das funktioniert alles, aber es wird alles in Graustufen angezeigt, also ohne Farbe. Hier mal der Code: BlitzMax: [AUSKLAPPEN] Function NewPixMapBlock(BlockNr:Int) Und noch eine Frage, wie kann ich das Bild in PixMap um 90 Grad flüssig drehen lassen? Gibt es Vielleicht in BM eine Funktion die das Bild um 90 Grad drehen kann? Danke schonmal. MfG |
||
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250 |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist unglaublich viel langsamer alles in eine Pixmap zu zeichnen, als einfach Bilder (oder Rect/Plot) zu benutzen.
Dann klappt das Drehen auch schnell & Problemlos mit SetRotation. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, aber wie soll ich sonst die Blöcke in ein TImage schreiben?
Die Blöcke sind ja in Array gespeichert und von dort aus zeichne ich den momentaner Block in Pixmap um von dort aus eine saubere Drehung hinzubekommen. Kann man das Bild in Pixmap nicht irgendwie um 90 Grad Drehen, also so wie eine Animation? MfG |
||
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250 |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du sollst nich die Blöcke in einem TImage speichern, sondern nur die Bilder für die Blöcke.
Wie sind deine Blöcke denn aufgebaut? Soll jeder BLock gleich aussehen? Wenn nein, wie werden sie unterschieden? Denk mal über diese Fragen nach, vielleicht weißt du dann schon, wie du es mit TIMages lösen kannst. Pixmaps sind hier wirklich keine Lösung, die sind höchstens gut um Bilder einmalig zu verändern und das veränderte Bild dann als TImage zu benutzen. Lg, M0rgenstern |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Dir.
Ein Block ist z.B. so bei mir im Array gespeichert: 00000 02200 00220 00000 Des sind einfach einzelne Frames die ich über LoadAnimImage geladen habe. Hier mal ein Bild wie ich es über PixMap gemacht habe: http://s1.directupload.net/fil...xb_png.htm MfG |
||
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
es wäre einfacher ein array zu machen und das zu rotieren. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe ja ein Array indem der Block komplett gespeichert is, hier z.B:
BlitzMax: [AUSKLAPPEN] Block[nr]... Ich möchte aber eine Animierte Rotation, also nicht eine Rotation indem der Block von 0 auf 100 gedreht wird. Ist das eigentlich möglich in BM? MfG |
||
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jop, du kannst die Einzelnen Bilder per SetRotation drehen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
bruce85, was genau ist denn in einem Arrayfeld gespeichert?
Also in einem BlitzMax: [AUSKLAPPEN] block[z] Ist das ein Array mit INstanzen eines Types oder was genau enthält ein Array Feld? Wenn wir das wüssten, könnten wir dir wahrscheinlich ein wenig besser helfen. Allgemein für Schrittweises rotieren: BlitzMax: [AUSKLAPPEN] Winkel=(Winkel+1) Mod 360 Lg, M0rgenstern |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Dir.
Ich habe Types genommen für die Anzahl von Blöcken und in diesem Type habe ich ein Array für die Daten der Blöcke. Ich habe das jetzt hinbekommen, funktioniert bestens. Hier mal der Code wie ich das gemacht habe: BlitzMax: [AUSKLAPPEN] 'Blöcke in Image speichern und hier die Rotation: BlitzMax: [AUSKLAPPEN] If Block[MerkBlockNr].RotierenAnzeigen = 1 Then Beim Image sind jetzt die Leere Blöcke in Pink, obwohl ich am anfang SetMaskColor 255,0,255 gesetzt habe. Wie kann ich das jetzt Transparenz machen? MfG |
||
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250 |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wahrscheinlich ist das Pink in dem BIld nicht 100%ig das 255,0,255 Pink.
Aber am besten lässt du eine Mask-Farbe in Bmax weg. BMax zeichnet transparente und halbtransparente BIlder ganz von selbst. Dazu machst du einfach die Stellen, die im BIld transparent sein sollen mit einem Programm wie z.B. GImp transparent. Dann erledigt sich das Problem ganz von selbst. Lg, m0rgenstern |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab die Transparente stellen in Photoshop mit dem Zauberstab entfernt und nun ist es Transparenz.
Vielen Dank für die Hilfe. MfG |
||
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group