Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
2 registered members (OptimusPrime, AndrewAMD), 14,580 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Panels mit d3d lassen sich nicht abschalten #10480
09/29/02 21:00
09/29/02 21:00
Joined: Apr 2002
Posts: 119
Germany
Bones Offline OP
Member
Bones  Offline OP
Member

Joined: Apr 2002
Posts: 119
Germany
Hallo!

Hab da mal wieder eine Frage: Wir sind mit unserem Game jetzt ein ganzes Stück weiter und

ich habe jetzt versucht einiges etwas eleganter zu lösen. Dabei bin ich auf einen komischen

Effekt gestoßen. Wenn ich nämlich bei Panels das Flag d3d setze, werde ich die nicht mehr

los! Ich wollte die Logos am Anfang des Spiels sanft ein- und ausblenden. Doch das

Ausblenden klappte nicht. Folgender Code funktioniert zwar:

code:
 
Panelname.transparent = on;
Panelname.alpha = 0;
while (Panelname.alpha < 100) {
Panelname.alpha += 2;
wait(1);
}

...aber folgendes bleibt ohne Effekt:

code:
 
Panelname.transparent = on;
Panelname.alpha = 100;
while (Panelname.alpha > 0) {
Panelname.alpha -= 2;
wait(1);
}

Ich habe auch anderes versucht den Alphawert eines Panels wieder zu reduzieren, aber es

ändert nichts an der Bildschirmanzeige. Beim Debuggen konnte ich feststellen, daß der

Alphawert tatsächlich auch geändert und das Skript ausgeführt wird, aber an der

Bildschirmanzeige ändert das nix.
Bei diesen Versuchen ist mir dann aufgefallen, daß auch

Panelname.visible = off;

völlig ohne Folgen bleibt. Das Panel bleibt weiterhin auf dem Bildschirm. Der Hammer ist

aber, daß selbst folgendes kein Löschen des Panels bewirkt:

bmap_purge(Panel-Bitmap);

Wenn die Panels auf transparent geschaltet sind, kann man sehen, daß sie einfach alle

übereinander geklatscht werden, d.h. die hinteren bleiben trotz visible=off und bmap_purge

stehen. Ich werde sie erst dann wieder los, wenn etwas neues, bildfüllendes angezeigt wird,

wie z.B. ein sehr großes nicht-transparentes Panel oder ein Vollbild-View.
Ohne das Flag d3d läuft alle ganz normal, aber es sieht nicht schön aus und ich kann ohne

Alphawert nicht faden.

Kennt jemand ähnliche Effekte oder hat eine Idee das zu lösen ???

Gruß

Christian


Bones --- www.circuit01.com "Ich habe genügend Vorstellungskraft um Dinge zu machen, von denen ich keine Ahnung habe." - Martin Scorsese
Re: Panels mit d3d lassen sich nicht abschalten #10481
09/29/02 21:20
09/29/02 21:20
Joined: Sep 2002
Posts: 1,604
Deutschland
ChrisB Offline
Serious User
ChrisB  Offline
Serious User

Joined: Sep 2002
Posts: 1,604
Deutschland
Hi,
du musst
code:
 
Panelname.transparent = on;Panelname.alpha = 100;while (Panelname.alpha >= 0) { Panelname.alpha -= 2; wait(1); }


schreiben dann müsste es gehen.


www.Swollen-Eyeballs.org
ICQ:169213431
#3dgs@quakenet
Re: Panels mit d3d lassen sich nicht abschalten #10482
09/29/02 21:55
09/29/02 21:55
Joined: May 2002
Posts: 752
Frankenthal Pfalz/ Germany
Rich E. Offline
Developer
Rich E.  Offline
Developer

Joined: May 2002
Posts: 752
Frankenthal Pfalz/ Germany
Ich hätte hier mal eine Möglichkeit anhand des Standard Splashscreens für dich.

code:
 panel splashscreen {
bmap = splashmap;
alpha = 0;
flags = transparent,refresh,d3d;
}

function main()
{
...
splashscreen.visible = on;
waitt(32); //kann man auch weglassen
//Splashscreen einblenden
while (splashscreen.alpha <100)
{
splashscreen.alpha +=2*time;
wait(1);
}
...
// now load the level
level_load(level_str);
...
//Splashscreen ausblenden
splashscreen.alpha = 100;
while (splashscreen.alpha >0)
{
splashscreen.alpha -=3*time;
wait(1);
}
splashscreen.visible = off;
bmap_purge(splashmap); // remove splashscreen from video memory
...
}
// Ende main

Bei diesem Beispiel solltest du noch folgendes beachten. Und zwar sollte das Level, bevor du den Splshscreen ausblenden lässt, geladen haben, sonst klappt das nicht (da nichts im Hintergrund ist). Außerdem ist der Schwarzanteil dieses Splashscreens ziemlich hoch, sodass es mit dem transparent flag nicht so gut aussieht. Deshalb setze ich die Helligkeit der Panels mittels Grafikprogramm immer so hoch, dass der schwärzeste Teil einen Farbwert von min. 11,11,11 (RGB) hat.

Generell gehe ich so vor, dass ich ein schwarzes Panel (Farbwert 11,11,11) bei einer Menü- oder Introanzeige immer in den Hintergrund lege (per Layer). So kann man die übrigen Panels beliebig ein und ausblenden und das "Schwarzpanel" wird dann ganz am Schluß, nach dem der Level geladen wurde (und das Spiel beginnen soll) ausgeblendet.

Ich hoffe es hilft dir ein wenig.

Rich E.


Re: Panels mit d3d lassen sich nicht abschalten #10483
10/01/02 00:27
10/01/02 00:27
Joined: Apr 2002
Posts: 119
Germany
Bones Offline OP
Member
Bones  Offline OP
Member

Joined: Apr 2002
Posts: 119
Germany
Hallo Chris & Rich!

Danke für eure Antworten, aber so weit war ich schon. Wie gesagt, der Code läuft. Wenn ich mir den Alphawert anzeigen lasse, sieht man, daß er tatsächlich vom Skript auch verändert wird. Aber das Panel verändert sich trotzdem nicht. Ich glaube, das ist ein Grafikkartenproblem. Denn selbst wenn ich das Panel nicht transparent mache und nicht an Alpha rumschraube, funktioniert selbst die einfache Anweisung panel.visible = OFF; nicht. Das müßte doch eigentlich irgendeine Wirkung haben. Ist aber nicht! Es läuft normal ab ohne das Flag d3d, aber mit dem Flag bekomme ich die Panels nicht mehr aus dem Grafikspeicher.


Bones --- www.circuit01.com "Ich habe genügend Vorstellungskraft um Dinge zu machen, von denen ich keine Ahnung habe." - Martin Scorsese
Re: Panels mit d3d lassen sich nicht abschalten #10484
10/01/02 00:40
10/01/02 00:40
Joined: May 2002
Posts: 752
Frankenthal Pfalz/ Germany
Rich E. Offline
Developer
Rich E.  Offline
Developer

Joined: May 2002
Posts: 752
Frankenthal Pfalz/ Germany
Hast du mal zusätzlich zum flag "d3d" auch mal das flag "refresh" ergänzt? Ohne "refresh" funktioniert es bei mir auch nicht.

So etwa: flags = refresh,d3d;

Welche Grafikkarte hast du denn?

Rich E.


Re: Panels mit d3d lassen sich nicht abschalten #10485
10/01/02 17:06
10/01/02 17:06
Joined: Apr 2002
Posts: 119
Germany
Bones Offline OP
Member
Bones  Offline OP
Member

Joined: Apr 2002
Posts: 119
Germany
Hallo Rich und ihr anderen!

Natürlich habe ich refresh gesetzt! [Wink]
Aber ich habe die Lösung gefunden:
Das Problem war, daß ich zu Beginn des Spiels mehrere Logos nacheinander einblenden wollte. Das Ausblenden funktioniert aber nicht, wenn nichts anderes im Hintergrund zu sehen ist. Wenn ich ein bildfüllendes schwarzes Panel zuerst lade, kann ich darüber ein und ausblenden.
Mir ist nämlich aufgefallen, daß das Ausblenden funktionierte sobald der Level geladen und der View eingeschaltet war.
Also: Man kann scheinbar den Grafikspeicher nicht ganz leer machen. So klappt's aber.
Danke für eure Bemühungen.


Bones --- www.circuit01.com "Ich habe genügend Vorstellungskraft um Dinge zu machen, von denen ich keine Ahnung habe." - Martin Scorsese
Re: Panels mit d3d lassen sich nicht abschalten #10486
10/01/02 18:45
10/01/02 18:45
Joined: May 2002
Posts: 752
Frankenthal Pfalz/ Germany
Rich E. Offline
Developer
Rich E.  Offline
Developer

Joined: May 2002
Posts: 752
Frankenthal Pfalz/ Germany
Aber genau (oder ungefähr) das hatte ich doch geschrieben.

quote:
Und zwar sollte das Level, bevor du den Splshscreen ausblenden lässt, geladen haben, sonst klappt das nicht (da nichts im Hintergrund ist).
quote:
Generell gehe ich so vor, dass ich ein schwarzes Panel (Farbwert 11,11,11) bei einer Menü- oder Introanzeige immer in den Hintergrund lege (per Layer). So kann man die übrigen Panels beliebig ein und ausblenden und das "Schwarzpanel" wird dann ganz am Schluß, nach dem der Level geladen wurde (und das Spiel beginnen soll) ausgeblendet.
Aber iss ja auch egal, Hauptsache es funktioniert jetzt. [Wink]

Rich E.


Re: Panels mit d3d lassen sich nicht abschalten #10487
10/01/02 20:27
10/01/02 20:27
Joined: Apr 2002
Posts: 119
Germany
Bones Offline OP
Member
Bones  Offline OP
Member

Joined: Apr 2002
Posts: 119
Germany
Hi Rich!

Ja stimmt! Ich hatte zunächst nur dein Listing überflogen. Ist mir nachher auch aufgefallen...
Danke nochmals! Klappt jetzt alles!

Christian


Bones --- www.circuit01.com "Ich habe genügend Vorstellungskraft um Dinge zu machen, von denen ich keine Ahnung habe." - Martin Scorsese

Moderated by  HeelX, Spirit 

Gamestudio download | 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