Text ein aus blenden

Posted By: Det

Text ein aus blenden - 03/10/11 21:40

Hallo

Wie kann man einen Text als bild datei pcx oder bmp anzeigen für einige Sekunden und wider ausblenden lassen?

Code:
PANEL*  xyz_pan =    ( nur beispiel )
{
	pos_x = 400;
	pos_y = 300;
	layer = 1;
	bmap = xyz_pcx;
	flags = OVERLAY | SHOW;
}



der code obensoll nur ein beispiel sein
Posted By: Uhrwerk

Re: Text ein aus blenden - 03/10/11 21:49

1. Das TRANSLUCENT Flag setzen.
2. In einer Schleife den Alpha Wert des Panels langsam von 0 auf 100 hochschrauben.
3. Warten bis das Panel wieder ausgeblendet werden soll.
4. In einer Schleife den Alpha Wert des Panels langsam wieder von 100 auf 0 heruntersetzen.
Posted By: Det

Re: Text ein aus blenden - 03/10/11 21:55

Danke für die Antwort

Sorry aber ich weiß jetzt nich so genau wie ich das jetzt zusammen setzen muß das es auch funktioniert. Bin noch kein so guter Lite C Scripter
Posted By: Kartoffel

Re: Text ein aus blenden - 03/10/11 22:15

also du kannst das ganze auf 2 arten machen:
1. entweder langsam ein/aus blenden
2. oder eben sofort

ich nehm einfach mal die erste methode, da das besser aussieht wink

-------

erstmal muss (, um das objekt nicht nur sichtbar oder unsichtbar zu machen) das TRANSLUCENT-flag gesetzt werden
also
anstatt flags = OVERLAY | SHOW;
das hier: flags = OVERLAY | SHOW | TRANSLUCENT;

und hier eine einfache funktion:
Code:
function fade_in_out()
{
   while(xyz_pan.alpha < 100) // alpha wert des panels unter 100
   {
      xyz_pan.alpha += 1; // die 1 anpassen, jenachdem wie schnell das einblenden sein soll
      wait(1);
   }
   
   wait(-3); // wartezeit zwischen ein und ausblenden in sekunden (negativ) oder frames (positiv)

   while(xyz_pan.alpha > 0) // alpha wert des panels über 0
   {
      xyz_pan.alpha -= 1; // die 1 anpassen, jenachdem wie schnell das ausblenden sein soll
      wait(1);
   }
}



ps: is leider nicht so detailliert, da ich an nem alten laptop im inet bin (designed for win95). falls du noch mehr wissen wilst meld dich bzw. schreib hier einfach noch ne antwort
Posted By: Det

Re: Text ein aus blenden - 03/11/11 02:03

Danke dir für die Antwort der code läuft bis auf das hier

(); Flag unkowen flags = OVERLAY | SHOW | TRANSLUCENT;


damit hat er ein problem der PC
Posted By: Kartoffel

Re: Text ein aus blenden - 03/11/11 09:59

sorry, aber ich wüsste nicht wo der fehler ist...
hast du vielleicht irgendwo (oder vor der zeile in der der fehler auftritt) ein ; zuviel oder zu wenig?

nochwas:
hast du die klammern da mithin geschrieben?

PANEL* xyz_pan = ( nur beispiel )

also hier einfach nochmal wie es klappen sollte:
die funktion sollte soweit laufen.
und das panel:

Code:
PANEL*  xyz_pan=    // nur beispiel
{
	pos_x = 400;
	pos_y = 300;
	layer = 1;
	bmap = xyz_pcx; // hast du auch die bmap vorher definiert?!
	flags = OVERLAY | SHOW | TRANSLUCENT;
}


Posted By: Det

Re: Text ein aus blenden - 03/11/11 18:20

Damit Du es besser überbicken kannst hier der code

Code:
BMAP* test_pcx = "test.pcx";



PANEL* test_pan = 
{
	pos_x = 400;
	pos_y = 300;
	layer = 1;
	bmap = test_pcx;
	flags = OVERLAY | SHOW | TRANSLUCENT ;
}









function fade_in_out()
{
   //while(test_pan.alpha < 100) // alpha wert des panels unter 100    Fehlermeldung
   {
test_pan.alpha += 1; // die 1 anpassen, jenachdem wie schnell das einblenden sein soll
wait(1);
   }
   
wait(-3);
 // wartezeit zwischen ein und ausblenden in sekunden (negativ) oder frames (positiv)

while(test_pan.alpha > 0) // alpha wert des panels über 0
   {
test_pan.alpha -= 1; // die 1 anpassen, jenachdem wie schnell das ausblenden sein soll
      wait(1);
   }
}




Das ist der gesamte code.

Ich würde es auch mit nem Scrollenden text mache wenn ich wüßte wie.
Posted By: TheShooter

Re: Text ein aus blenden - 03/11/11 19:48

Das einfache ein - und ausblenden würde ich so machen:

Code:
reset(xyz_pan,SHOW);




Posted By: hopfel

Re: Text ein aus blenden - 03/11/11 20:04

@oben: Ich glaube er will ein langsames verblassen und aufkommen des Panels,
mit reset ist das Panel auf einen Schlag nicht mehr sichtbar und in dem Sinne ein wenig unschön.

Kann jedenfalls im obrigen Code keinen Fehler erkennen,
klingt jetzt vllt ein wenig blöd, bringt vermutlich rein gar nichts
aber ersetze mal SHOW durch VISIBLE. Nur zum ausprobieren.
Acknex included hast du aber, nehm ich mal an, auch wenns nicht im Codebeispiel drin steht. ^^

Ansonsten setze noch in der Paneldefinition ein alpha = 0; hin,
sonst kann das Panel gar nicht erst auftauchen. laugh
Posted By: Uhrwerk

Re: Text ein aus blenden - 03/11/11 21:32

Originally Posted By: Det
Das ist der gesamte code.

Also wenn das wirklich der gesamte Code ist, ist klar, dass das nicht funktioniert. erstens ist "acknex.h" nicht included, zweitens fehlt eine main Funktion.
Posted By: xxxxxxx

Re: Text ein aus blenden - 03/11/11 22:26

Uhrwerk wenn oben nichts steht sind laut manual default.c und acknex.h included! aber mit der main hast du recht wink
Posted By: rojart

Re: Text ein aus blenden - 03/11/11 23:35

Nun, mein Beispiel funktioniert nur mit acknex.h bzw default.c und ohne main function wink

Code:
#include <default.c>

TEXT* intro ={font = "arial#50B"; string = "Thank you for testing!"; alpha = 0;}

function intro_startup(){
	wait(-2);
	vec_set (intro.pos_x, vector(screen_size.x/2,screen_size.y/2,0));

	set(intro,CENTER_X|CENTER_Y|TRANSLUCENT|SHOW);
	
	while(intro.alpha <= 99){ wait(1); intro.alpha += 2 * time_step;}
	while(intro.alpha >=  0){ wait(1); intro.alpha -= 3 * time_step;}
}


Posted By: Det

Re: Text ein aus blenden - 03/12/11 00:33

Danke euch aber rojat hat recht der code funktioniert .

Und wie kann man megrere Text zeilen nacheinander anzeigen wie z.b in Filmen ?
Posted By: M4sterm1nd

Re: Text ein aus blenden - 03/13/11 16:12

hmm eigentlich solltest du das jetzt ohne weiteres können.

brauchst ja nur mehrere Texte bzw. bilder hintereinander ein und ausblenden.

Versuche erstmal selbst etwas und wenns immernoch nicht klappt kannst du deinen Code posten.
Posted By: Det

Re: Text ein aus blenden - 03/13/11 22:40

Wenn ich mit dem selben code mehrere Texte anzeigen lassen will wird nur der letzte Text angezeigt.Die Texte davor werden nicht angezeigt .Wenn z.b im ersten Text ABC steht und im zweiten CDE wird nur der zweite text angezeigt.Aber wie man die texte nacheinader anzeigen kann keine Ahnung

Code:
TEXT* intro ={font = "arial#50B"; string = "ABC"; alpha = 0;}

function intro_startup(){
	wait(-2);
	vec_set (intro.pos_x, vector(screen_size.x/2,screen_size.y/2,0));

	set(intro,CENTER_X|CENTER_Y|TRANSLUCENT|SHOW);
	
	while(intro.alpha <= 99){ wait(1); intro.alpha += 2 * time_step;}
	while(intro.alpha >=  0){ wait(1); intro.alpha -= 3 * time_step;}
}


Posted By: Uhrwerk

Re: Text ein aus blenden - 03/13/11 22:46

Dein Code enthält doch nur einen Text. Wie soll da jetzt ein zweiter kommen?

Übrigens, vec_set in Kombination mit panel.pos_x ist glaube ich eine ganz schlechte Idee! intro.pos_x ist kein VECTOR!
Posted By: Det

Re: Text ein aus blenden - 03/13/11 22:57

wenn ich wüßte wie man den nächsten text anzeigen kann hätte ich es schon gemacht so funktioniert der code ja gut außer das man nur einen text anzeigen kann
Posted By: M4sterm1nd

Re: Text ein aus blenden - 03/13/11 23:38

Code:
TEXT* intro ={font = "arial#50B"; string = "ABC"; alpha = 0;}
TEXT* intro2 ={font = "arial#50B"; string = "DEF"; alpha = 0;}

function intro_startup()
{
	wait(-2);
	vec_set (intro.pos_x, vector(screen_size.x/2,screen_size.y/2,0));
        vec_set (intro2.pos_x, vector(screen_size.x/2,screen_size.y/2,0));


	
	set(intro2,CENTER_X|CENTER_Y|TRANSLUCENT|SHOW);
	
	while(intro2.alpha <= 99){ wait(1); intro.alpha += 2 * time_step;}
	while(intro2.alpha >=  0){ wait(1); intro.alpha -= 3 * time_step;}

        wait(-1);

        set(intro,CENTER_X|CENTER_Y|TRANSLUCENT|SHOW);

        while(intro.alpha <= 99){ wait(1); intro.alpha += 2 * time_step;}
	while(intro.alpha >=  0){ wait(1); intro.alpha -= 3 * time_step;}
}



das kann man auch eleganter lösen aber so funktionierts erstmal und du kannst versuchen den Code zu verstehen
so ich geh erstmal ins bettchen
gute Nacht
Posted By: Det

Re: Text ein aus blenden - 03/13/11 23:50

Das hab ich schon versucht aber es wird nur wieder der erste text gezeigt also abc der zweite nicht
Posted By: Widi

Re: Text ein aus blenden - 03/14/11 00:03

Also in dem Script oben ist noch ein kleiner Fehler. Aber wenn du den nicht selber herausfindest, bist du hier wirklich am falschen Platz.
Code:
TEXT* intro ={font = "arial#50B"; string = "ABC"; alpha = 0;}
TEXT* intro2 ={font = "arial#50B"; string = "DEF"; alpha = 0;}

function intro_startup()
{
	wait(-2);
	vec_set (intro.pos_x, vector(screen_size.x/2,screen_size.y/2,0));
        vec_set (intro2.pos_x, vector(screen_size.x/2,screen_size.y/2,0));


	
	set(intro2,CENTER_X|CENTER_Y|TRANSLUCENT|SHOW);
	
	while(intro2.alpha <= 99){ wait(1); intro2.alpha += 2 * time_step;}
	while(intro2.alpha >=  0){ wait(1); intro2.alpha -= 3 * time_step;}

        wait(-1);

        set(intro,CENTER_X|CENTER_Y|TRANSLUCENT|SHOW);

        while(intro.alpha <= 99){ wait(1); intro.alpha += 2 * time_step;}
	while(intro.alpha >=  0){ wait(1); intro.alpha -= 3 * time_step;}
}


Und jetzt nicht einfach kopieren und einfügen, sondern den Code anschauen, suchen was anders ist und überlegen warum es vorher nicht funktionierte!!!!
Posted By: M4sterm1nd

Re: Text ein aus blenden - 03/14/11 16:57

oh sorry da hab ich doch glatt gestern noch vergessen die 2 hinter intro zu schreiben

naja ich war halt schon recht müde

scheint ja jetzt auch zu klappen wink
Posted By: Det

Re: Text ein aus blenden - 03/14/11 18:51

Ne klappt nicht der erste Text wird angezeigt der zweite nicht .Also muß ein anderer weg her so wird das nix .
Posted By: Widi

Re: Text ein aus blenden - 03/14/11 18:56

Hab`s gerade nochmals probiert. Meinen Text kopiert und in ein leeres Script eingefügt. Klappt hervorragend !!

EDIT: Sogar mit dem unansehlichen und hier falschen vec_set... Gruss an Uhrwerk wink
Wenn du das weiter benutzt, wirst du früher oder später unerklährliche Fehler in deinem Programm haben, da vec_set wohl die pos_x als auch die pos_y des Panels richtig setzt, aber die Variable die im Struct PANEL dahinter folgt, wird mit vec_set AUCH verändert. Im obigen Beispiel auf 0.

EDIT 2: hab mal im atypes.h nachgeschaut: nach pos_x und pos_y werden die flags gespeichert. Du wirst mit deinem vec_set also alle flags resetten !!! Da du in diesem Beispiel die flags NACH diesem vec_set setzt hat es hier zum Glück noch keine Auswirkung.
Posted By: Uhrwerk

Re: Text ein aus blenden - 03/14/11 18:58

Da hast Du recht, so wird das nix. Ich habe schonmal geschrieben, dass vec_set in diesem Zusammenhang nicht funktioniert. Mach daraus eine einfach zuweisung der x und y Koordinaten. Ansonsten ist dieser Code wirklich so einfach, dass es schon fast weh tut. Wenn Du nicht in der Lage bist den Code selber nachzuvollziehen und oder Fehler darin zu finden, dann gibt es für dich nur eine Anlaufstelle:

http://tutorial.3dgamestudio.net/
Posted By: Det

Re: Text ein aus blenden - 03/15/11 01:01

Ich habs jetzt mal nem Panel probiert das Panel wird auch schön angezeigt aber wie man es nach 2 sek ausblendet und danach ein anderes einblendet und wieder aus blendet hab ich weder mit dem super Handbuch oder Tutorial hin gekriegt auch wenn ihr immer behauptet das es alles so einfach wäre.Ich hab zwar mehrere varianten versucht aber hat nix gebracht.

Code:
PANEL* test_pan = 
{
	pos_x = 400;
	pos_y = 300;
	layer = 1;
	bmap = test_bmp;
	flags = OVERLAY | SHOW;    
}



das show zeigt das panel aber was dafür zuständig ist das es nach 2 sek. ausblenden soll weiß ich trotz handbuch nicht da kommen dann Fehlermeldungen weil die kombinationen wohl nicht stimmen. Laut Handbuch sollte damit das Panel ausgeblendet werden (panel.flags &= ~SHOW;). aber da ist der PC wohl anderer meinung oder es fehlt noch was .
Posted By: Uhrwerk

Re: Text ein aus blenden - 03/15/11 16:07

Ich beiss hier gerade echt in die Tischkante. Hier wird Dir funktionierender Code gepostet und Du suchst im Handbuch nach einem Flag(!?!?!!!), das ein Panel nach zwei Sekunden einblendet? Sorry, aber ich muss es nochmal sagen:

http://tutorial.3dgamestudio.net/

Arbeite das durch! Wirklich durcharbeiten. Nicht nach irgendnem Codefitzel suchen, der Dein Panel Problem behebt. Durcharbeiten. Dir fehlen die grundlegendsten Grundlagen...
Posted By: Widi

Re: Text ein aus blenden - 03/15/11 16:17

Da ist alle Mühe vergebens... Ich gebe auf.
Posted By: Det

Re: Text ein aus blenden - 03/15/11 19:52

Wenn Code der bei dir ja funktioniert ist ja schön aber bei mir wie gesagt wird nur ein text gezeigt und das wars oder glaubst du sonst würde ich weiter nach einer anderen möglichkeit suchen .
Posted By: M4sterm1nd

Re: Text ein aus blenden - 03/15/11 21:09

au weia!

also mir kommt das echt so vor als wenn du es nicht gebacken kriegst den Code zu kopieren.

man man man

der funzt problemlos.

Also ich wüsste nichts was man jetzt noch falsch machen kann ehrlich.

Mach die Tuts wie Uhrwerk schon geschrieben hat.
Ohne das fehlt jede Grundlage

Posted By: Det

Re: Text ein aus blenden - 03/15/11 21:33

Schreib nicht son scheiß oder meinst ich könnte den code nicht kopieren mit dem kopieren hat es auch nichts zu tun falls noch nicht bemerkt.
Posted By: M4sterm1nd

Re: Text ein aus blenden - 03/15/11 21:56

naja ich wollte dir ja nur helfen aber wie widi schon sagte:

"Da ist alle Mühe vergebens... Ich gebe auf."
Posted By: Det

Re: Text ein aus blenden - 03/15/11 22:21

Ich hab mich schon mit dem Lite C Workshop beschäftigt und deshalb noch eine andere lösung gefunden.Wenn man nicht in Lite C ein super Programmierer ist dann dauerts eben etwas bis man es kann.
© 2024 lite-C Forums