Eccomi!
Effettivamente sono rimasto un po' indietro con le risposte che ti devo, ma preferivo aspettare che ti chiarissi le idee in merito al porting.
Cmq riprendo dall'ultima domanda e poi rispondo anche alle altre rimaste indietro:
Questione Fade in/Fade outPremetto che io lascerei perdere moduli e plug-in poichè è quasi tutto fattibile autonomamente tramite script (basta avere un po' di fantasia e pazienza). Se poi proprio non si può fare a meno si ricorre ai moduli e plug-in.
Lo script che hai postato tu è corretto per fa scomparire in trasparenza un
oggetto (con velocità di un ciclo ... Wait(1); se vuoi farlo scomparire più lentamente metti Wait(2) .. wait(3), ecc.)
Per farlo funzionare correttamente è importante dove metti lo script (in quale function).
Secondo me va messo nella function richiata dopo il loading della room
facciamo un esempio:
Appena caricata la room, si vede, su sfondo nero, il solo "oggetto" del logo della tua software house, supponiamo che tu abbia creato l'oggetto chiamato
oLOGO//Fai caricare la stanza la stanza
function room_Load()
{
oLOGO.Visible = true;
oLOGO.Transparency = 0;
mouse.Visible = false; //magari elimini il puntatore del mouse dalla schermata
}
//Dopo aver caricato la stanza, fai lo script
function room_AfterFadeIn()
{
Wait(160); //il logo è visibile e lo fai permanere sullo schermo per circa 4 secondi (160 cicli)
int transizione = oLOGO.Transparency;
while (transizione < 100)
{
transizione = transizione + 1; //puoi mettere + 2 per farlo sparire più velocemente
oLOGO.Transparency = transizione;
Wait(1); // puoi mettere wait(2) per farlo sparire più lentamente
}
//ora l'oggetto è scomparso (o meglio ha trasparenza uguale a 100) ... è rimasto lo sfondo nero
Wait(80); //aspetti 2 sceondi circa con lo sfondo nero
SetScreenTransition(eTransitionFade); //imposti la transizione di tipo "fade" per la stanza successiva
cEgo.ChangeRoom(2, 770, 570); //vai alla stanza successiva
//ovviamente nella stanza presente, il personaggio non devi farlo vedere, devi averlo impostato come "non visibile"
}
Questo l'ho fatto molte volte nel mio gioco quindi funziona di sicuro
Ma ci sono anche altri modi per fare il fade.
A volte si può anche creare una GUI tutta nera grande tutto lo schermo e farla apparire (sempre con il While()do) sopra tutti gli oggetti e poi fare il cambio stanza. O altri metodi ancora.
Se mi spieghi esattamente cosa vuoi fare posso essere più preciso