Fehler bei FadOut

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Fehler bei FadOut

Beitrag von Green Snake »

hallo

habe ein bild auf einem screen geladen, und es mit displaysprite3d()
angezeigt. dabei wird der transparentmodus bei jeder schleifenwiederhohlung im 1 weniger.
wen der transparent wert = 1 ist, wird der befehl end ausgeführt.
alles klappt reibungslos, bis eben zum endbefehl.
das bild ist vollständig ausgeblendet, jedoch gleich nach end, erscheint es wieder (dh. es wird wieder voll sichtbar) und dan beendet sich das programm.

wie kan ich das machen, das das bild dan vor end nicht wieder erscheint?.
-.-"
Benutzeravatar
diGGa
Beiträge: 249
Registriert: 01.04.2005 11:00
Kontaktdaten:

Beitrag von diGGa »

wenn der wert <1 dann = 1 vll? schwer zu sagen ohne code
Benutzeravatar
Lukaso
Beiträge: 720
Registriert: 08.09.2004 18:51
Wohnort: Oberkirch
Kontaktdaten:

Beitrag von Lukaso »

Ohne Source ist es nicht ganz leicht deine Gedanken zu lesen, aber probier mal statt "=" 1 mal "<=" 1. :wink:

Source wäre von vorteil ;)

MFG Lukaso
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Hier ist der Code

Beitrag von Green Snake »

Hallo

hier ist der gewünschte code... hoffe er hilft

Code: Alles auswählen

Procedure Ende()
  T_Ende = 255
  Sound_Ende = 100
  
  Repeat
    ClearScreen(0,0,0)
    T_Ende = T_Ende - 2
    Sound_Ende = Sound_Ende - 1
  
    Start3D()
    DisplaySprite3D(#Mein_Bild,#Screen_Width / 2 - 400,#Screen_Height / 2 - 300,T_Ende)
    Stop3D()
    
    FlipBuffers()
    
    If Sound_Ende < 0
      Sound_Ende = 0
    EndIf
     
    SoundVolumeMusik,Sound_Ende)

    Delay(50)
    
  Until T_Ende < 0 
  CloseScreen()
  EndProcedure


könnte es daran liegen, dass er sich in einer procedure befindet?
ich glaube kaum....
-.-"
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Das ist in groben Zügen dein Code, nur mit ein paar Debugs versehen, zur Diagnose:

Code: Alles auswählen

T_Ende = 255
Debug T_Ende
Repeat
T_Ende = T_Ende - 2
Debug T_Ende
Until T_Ende < 0
Debug T_Ende
Hier ist meine verbesserte Version davon:

Code: Alles auswählen

T_Ende = 255
Debug T_Ende
T_Ende - 1 ;Wenn du -2 machst, musst T_Ende eine gerade Zahl sein, sonst landest du bei -1 !

Repeat
T_Ende = T_Ende - 2
Debug T_Ende
Until T_Ende = 0 ;< durch = ersetzt
Debug T_Ende
Jetzt hast du am Schluss 0 anstelle von -1 wie bei deinem Code. Alles klar?

cya
Pascal[/code]
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Geht nicht

Beitrag von Green Snake »

hallo

habe das < schon vorher mal durch = getauscht bzw habe es vorhin schon so gehabt, und dan gewechselt.
geht immer noch nicht, es kommt das bild am schluss immer noch mit 100% undurchsichtigkeit.

aber ich werde es weiter versuchen.

danke für deine hilfe
-.-"
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

hardfalcon hat geschrieben:
Jetzt hast du am Schluss 0 anstelle von -1 wie bei deinem Code. Alles klar?
[Edit]

danke, frage hat siche erledigt, es lag am minus 1.
ist eigentlich logisch, das der wert für transparenz nicht unter 0 gehen darf...

danke euch
-.-"
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Jetzt hättest du EIN MAL Copy&Paste machen sollen, und was machts du? Du tippst nur eine Hälfte meiner Änderungen ab und ignorierst den Rest! Tsss..... :roll:

Freut mich aber, dass es jetzt geht! :D

cya
Pascal
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Tut mir leid

Beitrag von Green Snake »

hardfalcon hat geschrieben:Jetzt hättest du EIN MAL Copy&Paste machen sollen, und was machts du? Du tippst nur eine Hälfte meiner Änderungen ab und ignorierst den Rest! Tsss..... :roll:

Freut mich aber, dass es jetzt geht! :D

cya
Pascal

hallo

tut mir leid, falls ich dich verärgert haben sollte.
ich dachte mir nur,
1. da nur der text wichtig war, bzw, was du dort sagtest.
2. aus platzgründen.*

*kenne foren. bei denen sie dich gleich verwarnen würden, wenn du zuviel "unwichtiges" zeug hinschreibst

ausserdem, der code, bzw die änderung war ja oben nachzulesen.
aber wenn du/ihr das wollt werde ich beim nächsten mal den gesammten text kopieren. :allright:

PS und was ist den, wen der text bzw der code einige seiten lang ist? :lol:
-.-"
Benutzeravatar
Lukaso
Beiträge: 720
Registriert: 08.09.2004 18:51
Wohnort: Oberkirch
Kontaktdaten:

Re: Tut mir leid

Beitrag von Lukaso »

Green Snake hat geschrieben:PS und was ist den, wen der text bzw der code einige seiten lang ist? :lol:
Dann kreist man das Problem ein ... und postet nur den ausschlaggebenden teil. Würde ja auch nicht den Source meines Players posten, der ist ca. 90 Seiten lang (Word). Und kaum jemand hätte lust sich die mänge anzuschauen :wink:

MFG Lukaso
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
Antworten