Gamestudio Links
Zorro Links
Newest Posts
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (vicknick, 7th_zorro, 1 invisible), 890 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Panel Manipulation #377958
07/18/11 09:23
07/18/11 09:23
Joined: Mar 2007
Posts: 1,852
A
alpha_strike Offline OP
Serious User
alpha_strike  Offline OP
Serious User
A

Joined: Mar 2007
Posts: 1,852
Hallo JCL, sorry, ich muss mal wieder auf mein altes Problem mit Panel-Auf-Ab-Umblendungen kommen.

Folgende Ausgangslage.

PANEL* Wald=
{
//Hintergrundbild
bmap=Baumwipfel; //1024*768

//animierte Eule
windows(100,100,200,200… Eulenanimation) //200*200 Körper
windows… // Augen…
}


Ich habe einen Panel mit einem 1024*768 Hintergrundbild (viele Baumwipfel).
In diesem Panel soll ein Tier animiert werden. Dieses realisiere ich über viele Windows im gleichen Panel. Die Bildfragmente liegen also über dem Hauptbild.

Wenn ich jetzt den Panel abblende, dann wird das Hintergrundbild gegen alpha 0 gesteuert, mitsamt alles Bildelementen des animierten Tiers.
Jetzt passiert logischerweise folgendes:
Im Bildbereich x100 y100 bis x300 y300 addiert sich der Farbwert des Windows Blendzustand alpha z.B. 40 mit dem Hintergrundbild in diesem Bereich.

Daraus folgt, dass ich bei den Blendungen hellere Bildbereiche habe, nämlich immer da, wo
sich windows überlagern mit anderen Bildelementen.

Ich kann bei Auf und Abblendungen tricksen, in dem ich einen Panel mit schwarzem Bmp in einem größeren Layerbereich auf und ab-fade.

Wenn ich aber eine Überblendung machen will, zwischen 2 Paneln, dann funktioniert das nicht mehr.

Ist es möglich, dass die Engine solche Bereiche, in denen sich 2 Bildbereiche beim fading farblich addieren einfach mitkalkuliert und entsprechend in diesem Bereich einen höheren Transparenzwert zeichnet?

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Problem 2.
Ich habe ein window mit einem Tier
Darüber eine needle, die einen wackelnden Schwanz darstellt.
Darüber ein window mit einem Busch.

Also
Window Tierköprfer
Needle Schwanz
Window Busch.

Trotzdem wird die needle über dem Busch gezeichnet. Werden needles immer über Windows gezeichnet? Hab noch nicht das Handbuch gelesen.

Re: Panel Manipulation [Re: alpha_strike] #378024
07/19/11 07:23
07/19/11 07:23
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Beim Faden mehrerer Objekte übereinander addieren sich natürlich die Farben. Sie brauchen daher für das Window einen schwarzen oder transparenten Ausschnitt. Wenn das Eulenbild nicht rechteckig ist, geht Ihre Methode gar nicht - in diesem Fall müssen Sie es per Pixelbefehl direkt in das Waldbild hineinzeichnen. Dann können Sie auch überblenden.

Die Reihenfolge von Panel-Elementen ist so, wie man sie normalerweise braucht, d.h. Needles stets über Windows. Wenn Sie es anders brauchen, nehmen Sie für die Elemente separate Panels.

Re: Panel Manipulation [Re: jcl] #378030
07/19/11 07:58
07/19/11 07:58
Joined: Mar 2007
Posts: 1,852
A
alpha_strike Offline OP
Serious User
alpha_strike  Offline OP
Serious User
A

Joined: Mar 2007
Posts: 1,852
Auf dem Hintergrundbild einen schwarzen Abschnitt zu erstellen, um darauf praktisch ein drüberliegendes "Puzzle-Teil" einzufügen, ohne Alpha-Kanal - klar, das funktioniert. Dann würde keine Addition der Farben mehr stattfinden.
Wenn aber bei Zeichentrickelementen nicht nur ein Alpha-Kanal existiert, sondern dazu noch das Element verschoben wird - stehe ich voll mit dem Rücken zur Wand. Das Problem existiert wie gesagt nur bei Überblendungen.

Ich habe mich nur gefragt, ob es möglich wäre, dass die Engine diese doppelten Pixelbreiche praktisch überprüft und entsprechend beim Fading korrigiert.
Was zwar möglich wäre, aber bei der Anzahl der Bildpunkte scheinbar zu Rechenproblemen führt.... wenn ich das als Laie richtig verstehe.

Re: Panel Manipulation [Re: alpha_strike] #378032
07/19/11 08:03
07/19/11 08:03
Joined: Mar 2007
Posts: 1,852
A
alpha_strike Offline OP
Serious User
alpha_strike  Offline OP
Serious User
A

Joined: Mar 2007
Posts: 1,852
Und noch ein Vorschlag, Idee, Denkanstoß..
Die Needle wird zwar allgemein für Zeiger verwendet, wenn ich aber eine Zeichentrickfigur erstelle, möchte ich die möglichst in einem Panel unterbringen. Einfach der Übersichtlichkeit wegen und dass ich bei Animationen und auch Positionsverschiebungen nicht ins totale Panel-Chaos verfalle.

Wenn ich Elemente rotieren lassen will (wie z.B. den Wolfsschwanz oder eine Windmühle) - dann kann ich auch die Needle verwenden - weil ich normale windows ja eben nicht rotieren lassen kann. Und darum wäre eine Berücksichtigung von windows über needles sehr brauchbar.

Unter Future habe ich den pan_setrot-Befehl vorgestellt. Der wäre sehr brauchbar.

Last edited by alpha_strike; 07/19/11 08:29.
Re: Panel Manipulation [Re: alpha_strike] #378040
07/19/11 10:54
07/19/11 10:54
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Engines überprüfen keine Pixelbereiche, zumindest nicht mehr seit 1980. Damals gab es Hardware-Überblendmaschinen, die zu diesem Zweck eine schwarze Maske in den Hintergrund stanzten. Heute geht das per Blit-Operation mit Pixelbefehlen, oder mit einem 2D-Shader, oder z.B. mit einem Panel-Rendertarget.

GUI-Bedienelemente wie Needles und Windows sind für Animationen denkbar ungeeignet. Auch wenn das ginge, ergäbe das eine chaotische Softwarestruktur. Verwenden Sie der Einfachheit halber für animierte Elemente entweder stets ganze Panels, die Sie beliebig rotieren können, oder erzeugen Sie die Animation gleich direkt per Blitoperation.


Re: Panel Manipulation [Re: jcl] #378044
07/19/11 11:25
07/19/11 11:25
Joined: Mar 2007
Posts: 1,852
A
alpha_strike Offline OP
Serious User
alpha_strike  Offline OP
Serious User
A

Joined: Mar 2007
Posts: 1,852
Danke, wie ich oben schon bemerkt habe, bin ich ein Laie, was die Programmtechnologie angeht. Unter "blitoperation" fand ich bei google als verständlichste Ausführung nur eine medizinische Maßnahme. Können Sie mir bitte auf die Sprünge helfen, wo ich das vorgeschlagene Verfahren recherchieren kann? Oder wie ich es in einem gs-Projekt einsetzten kann? Danke.

Re: Panel Manipulation [Re: alpha_strike] #378049
07/19/11 12:22
07/19/11 12:22
Joined: Aug 2000
Posts: 1,140
Baunatal, Germany
Tobias Offline

Moderator
Tobias  Offline

Moderator

Joined: Aug 2000
Posts: 1,140
Baunatal, Germany

Re: Panel Manipulation [Re: alpha_strike] #378050
07/19/11 12:28
07/19/11 12:28
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Was hälst du davon, draw_quad für deine Figur samt Animation zu verwenden? Dann kannst du auch auf den Einsatz von "needle" und co verzichten, da die Anweisung Rotationen (sowie Transparenz) unterstützt. Desweiteren lässt sich so zuerst schwarz über das Hintergrundpanel zeichnen (entweder im Rechteck ohne BMAP oder aber mit deiner Figur noch einmal komplett in schwarz), um durch einen nachfolgenden draw_quad-Befehl ein sauberes Blenden deiner Figur zu ermöglich.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: Panel Manipulation [Re: Superku] #378052
07/19/11 12:53
07/19/11 12:53
Joined: Mar 2007
Posts: 1,852
A
alpha_strike Offline OP
Serious User
alpha_strike  Offline OP
Serious User
A

Joined: Mar 2007
Posts: 1,852
Danke, vielen Dank. RTFM, okay.

Re: Panel Manipulation [Re: Superku] #378657
07/25/11 13:20
07/25/11 13:20
Joined: Mar 2007
Posts: 1,852
A
alpha_strike Offline OP
Serious User
alpha_strike  Offline OP
Serious User
A

Joined: Mar 2007
Posts: 1,852
Tut mir leid, wenn ich noch einmal was zu dem Thema fragen möchte.
Ich verwende nach wie vor für mein Zeichentrickspiel die aus Ihrer Sicht ungeeigneten window- und needle-Methoden. Jetzt habe ich bemerkt, dass mein alter Dell-LTop bei Bildformaten über 2048 die Animation falsch darstellt und Schwenks über eine Bildfläche von 2048 nicht möglich sind, b.z.w. die Bilder verzerrt darstellt. Also habe ich die wenigen Bilder aufgeteilt und Animationsphasen aufgeteilt.

Jetzt frage ich mich als technischer Laie… was für technische Tücken könnte es noch geben?
Die Bilder sind jetzt alle maximal 2048*768, alles funktioniert einwandfrei…
Muss ich noch was beachten in Bezug auf Rechner heute und Altrechner, Stand 2000?


Page 1 of 2 1 2

Moderated by  old_bill, Tobias 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1