Detective Conan Forum

Programmazione del gioco

« Older   Newer »
  Share  
view post Posted on 3/1/2006, 14:37     +1   -1
Avatar

L'arte è... un'esplosione!

Group:
Member
Posts:
3,854
Location:
Konohagakure

Status:


Apro questo topic per parlare della programmazione in senso stretto del gioco. Qui posterò tutte le mie scelte di programmazione, i problemi, il "progredire delle operazioni". Chiunque può postare qui correzioni e suggerimenti. Parto postando un pezzo di codice riguardante la gui introduttiva:
if (interface == INTRO) {
if (button == 0){ //load game
GUIOff(INTRO);
GetLucasSavegameListBox(RESTORE,1);
GUIOn(RESTORE);
//NewRoom (1);
}
if (button == 1){ // continue playing
GUIOff(INTRO);
NewRoom (1);
}
if (button == 2){ // exit??
GUIOff(INTRO);
GUIOn(CONFIRMEXIT);
//NewRoom (1);
}
}
Questo codice ha l'inconveniente che, per aprire la finestra di salvataggio, deve entrare in una nuova stanza. Se qualcuno sa come evitare ciò, me lo faccia sapere smile.gif
Sherry Haibara

Edited by Sherry Haibara - 3/1/2006, 15:44
 
Top
view post Posted on 4/1/2006, 11:21     +1   -1
Avatar

L'arte è... un'esplosione!

Group:
Member
Posts:
3,854
Location:
Konohagakure

Status:


Posto, stavolta, l'intero codice della prima room: ha un bug riguardante lo start della cutscene di presentazione, Agasa sa di cosa parlo.
// room script file
#sectionstart room_a // DO NOT EDIT OR REMOVE THIS LINE
function room_a() {
//Disattivazione interfaccia
DisableInterface(); // Serve a disabilitare tutta l'interfaccia e il mouse
}
#sectionend room_a
#sectionstart room_b // DO NOT EDIT OR REMOVE THIS LINE
function room_b() {
// script for Room: First time player enters screen
StartCutscene(eSkipAnyKeyOrMouseClick);
player.Say("Mi chiamo Conan Edogawa");
EndCutscene();
}
#sectionend room_b // DO NOT EDIT OR REMOVE THIS LINE
Chi è in grado di risolvere il bug sullo start cutscene posti qui la soluzione, grazie smile.gif
Sherry Haibara

Edited by Sherry Haibara - 4/1/2006, 11:25
 
Top
view post Posted on 7/1/2006, 22:35     +1   -1
Avatar

L'arte è... un'esplosione!

Group:
Member
Posts:
3,854
Location:
Konohagakure

Status:


Questo è il link al file del caso 1, beta test 1.
http://www.megaupload.com/?d=UIHZMW9W
Ovviamente il file è protetto da password così che solo Agasa lo legge biggrin.gif
Sherry Haibara
 
Top
view post Posted on 7/1/2006, 23:26     +1   -1
Avatar

Detective quasi esperto

Group:
Member
Posts:
1,366
Location:
Mantova

Status:


scusa, ma come possiamo aiutarti se posti solo questa piccola parte di codice? e poi dov'è esattamente il problema?

oppure è una sezione riservata ad agasa? (e in tal caso scusami)
 
Web  Top
Didijuve
view post Posted on 8/1/2006, 11:41     +1   -1




per favore, metti una descrizione ad ogni riga di codice su cio' che fanno le varie funzioni. sai bene che mettersi nel codice di qualcun'altro senza spiegazioni e' impossibile.
 
Top
view post Posted on 8/1/2006, 11:48     +1   -1
Avatar

L'arte è... un'esplosione!

Group:
Member
Posts:
3,854
Location:
Konohagakure

Status:


Spiego subito tutto quanto smile.gif
Il topic non è creato SOLO per agasa, ma la sua funzione principale è, in effetti, quella di poter passare ad agasa il codice del gioco.
Per Didijuve: hai ragione, la fretta è cattiva consigliera. Provvedo subito a commentare le righe di codice.
Per h2so4: cerco di postare tutto il codice possibile, ma non so quanto sia fattibile, considerando che solo il main script sono oltre 1000 righe di codice... unsure.gif Comunque posterò al più presto i codici delle room e delle gui. Il problema sullo Startcutscene è stato comunque risolto, mentre la gui d'introduzione funziona (parzialmente) e deve essere riscritta completamente da Agasa.
Per Agasa: porta pazienza un po' e posterò anche il materiale che ti serve per le gui wink.gif
A presto,
Sherry Haibara
 
Top
view post Posted on 8/1/2006, 13:07     +1   -1
Avatar

L'arte è... un'esplosione!

Group:
Member
Posts:
3,854
Location:
Konohagakure

Status:


Ok, posto il codice aggiornato di tutta la GUI.
Come leggere questo codice:
le // segnalano un commento, il ; segnala la fine di un'istruzione, INTRO è la GUI con i 3 pulsanti principali, MAINGUI è la GUI con tutti i pulsanti "d'azione" e l'inventario, ACTION è la GUI che mostra l'azione in corso (nome dell'azione e su chi si svolge l'azione), DCForum è la GUI con la scritta "Detective Conan Forum Italia", che comunque da qui a breve non sarà più necessaria in quanto sostituita da un video.
E infine ecco qui il codice (155 righe di codice):

string buffer;
if (interface == MAINGUI) { // Se l'interfaccia è MAINGUI

// Setting cursor modes:
//-----------------------------------------------------
// Setta le azioni corrispondenti ai tasti
if (button == 0) SetMode(GIVE);
if (button == 1) SetMode(PICKUP);
if (button == 2) SetMode(USE);
if (button == 3) SetMode(OPEN);
if (button == 4) SetMode(LOOK);
if (button == 5) SetMode(PUSH);
if (button == 6) SetMode(CLOSE);
if (button == 7) SetMode(TALK);
if (button == 8) SetMode(PULL);
//-----------------------------------------------------

// Scrolling the inventory:
//-----------------------------------------------------
if ((button == 10) && (game.top_inv_item < game.num_inv_items - game.num_inv_displayed))
game.top_inv_item = game.top_inv_item + (game.num_inv_displayed/2);
if ((button == 9) && (game.top_inv_item > 0))
game.top_inv_item = game.top_inv_item - (game.num_inv_displayed/2);
}
//-----------------------------------------------------

// Options GUI - Salvataggio / Caricamento / Uscita
//-----------------------------------------------------
if (interface == OPTIONS) {
if (button == 0){ //save game
GUIOff(OPTIONS);
GetLucasSavegameListBox(SAVE,1); // fills listbox 1 on gui SAVE with saved games
GUIOn(SAVE);
}
if (button == 1){ //load game
GUIOff(OPTIONS);
GetLucasSavegameListBox(RESTORE,1);
GUIOn(RESTORE);
}
if (button == 2){ // continue playing
GUIOff(OPTIONS);
}
if (button == 3){ // exit??
GUIOn(CONFIRMEXIT);
}
}
//-----------------------------------------------------

// Restore game GUI
//-----------------------------------------------------
if (interface == RESTORE) {
if (button ==2) GUIOff(RESTORE); //cancel
if (button ==1){ //click on listbox item
int index = ListBoxGetSelected(RESTORE,1);
if (GetSaveSlotDescription(index+100,buffer)==1){ //if there is a savegame here
GUIOff(RESTORE);
RestoreGameSlot(index+100);
}
}
if (button == 3){ //scroll up
if (GStopsaveitem<5) GStopsaveitem=0;
else GStopsaveitem-=5;
ListBoxSetTopItem(RESTORE,1,GStopsaveitem);
}
if (button == 4 && GStopsaveitem<90) //scroll down
GStopsaveitem+=5;
ListBoxSetTopItem(RESTORE,1,GStopsaveitem);
}
//-----------------------------------------------------

// Save game GUI
//-----------------------------------------------------

if (interface == SAVE){

int index=ListBoxGetSelected(SAVE,1);
if (button == 3){//cancel
GUIOff(SAVE);
GUIOff(SAVETEXTBOX);
}
if (button == 1){ //click on listbox
int stbypos;
StrFormat(buffer,"%d.",index+1);
SetLabelText(SAVETEXTBOX,1,buffer);
if (GetSaveSlotDescription(index+100,buffer)==0) StrCopy(buffer,"");//GetSaveSlotDescription(index+100,buffer);
//else StrCopy(buffer,"");
SetTextBoxText(SAVETEXTBOX,0,buffer);
stbypos=28+((index-GStopsaveitem)*(DEFAULT_FONT_HEIGHT+2)); //28 is set by trial-error. Deppends of the savegames listbox position
if (index<9) SetGUIObjectPosition(SAVETEXTBOX, 0, 12, 0);
else SetGUIObjectPosition(SAVETEXTBOX, 0, 18, 0);
SetGUIPosition(SAVETEXTBOX,29,stbypos);// 29 is set by trial-error. Same as above.
GUIOn(SAVETEXTBOX);
}
if (button == 2 && index>=0) { //save
GetTextBoxText(SAVETEXTBOX,0,buffer);
GUIOff(SAVE);
GUIOff(SAVETEXTBOX);
SaveGameSlot(index+100,buffer);
}
if (button == 4){// scroll up
GUIOff(SAVETEXTBOX);
ListBoxSetSelected(SAVE,1,-1);
if (GStopsaveitem<5) GStopsaveitem=0;
else GStopsaveitem-=5;
ListBoxSetTopItem(SAVE,1,GStopsaveitem);
}
if (button == 5 && GStopsaveitem<90){ //scroll down
GUIOff(SAVETEXTBOX);
ListBoxSetSelected(SAVE,1,-1);
GStopsaveitem+=5;
ListBoxSetTopItem(SAVE,1,GStopsaveitem);
}
}
if (interface == SAVETEXTBOX){
int index=ListBoxGetSelected(SAVE,1);
if (button == 0){
GetTextBoxText(SAVETEXTBOX,0,buffer);
GUIOff(SAVE);
GUIOff(SAVETEXTBOX);
SaveGameSlot(index+100,buffer);
}
if (IsButtonDown(RIGHT)) GUIOff(SAVETEXTBOX);
}
//-----------------------------------------------------

// INTRO GUI - E qui arrivano i problemi
//-----------------------------------------------------

if (interface == INTRO) { // Se l'interfaccia è Intro
if (button == 0){ //load game - Caricamento gioco
GUIOff(INTRO); // Spegne l'interfaccia intro
GetLucasSavegameListBox(RESTORE,1);
GUIOn(RESTORE); // carica l'interfaccia RESTORE
//NewRoom (1); - Comando inutile, tengo per sicurezza.
}
if (button == 1){ // continue playing - Nuovo gioco
GUIOff(INTRO); // Disabilita la gui INTRO
DisableInterface(); // Disabilita tutte le GUI
GUIOff(0); // Disabilita la GUI Actions
GUIOff(1); // Disabilita la MAINGUI
GUIOn(12); // Attiva la GUI del DCForum
Wait(120); // Aspetta 3 secondi
PlayMusic(1); // Carica la musica n° 1
PlayVideo("intro.wmv", 3, 11); // Parte il video introduttivo
SetMusicVolume(-1); // Alla fine del video, setta il volume a -1
GUIOff(12); // Disabilita la GUI del DCForum
NewRoom (2); // Entra nella stanza 2 con presentazione di Conan
}
if (button == 2){ // exit?? - Se il bottone è esci
GUIOff(INTRO); // disabilita la gui INTRO
GUIOn(CONFIRMEXIT); // Chiede la conferma dell'uscita
//NewRoom (1); - Comando inutile
}
}
//----------------------------------------------------- End of GUI Script

In realtà non c'è un bug preciso, in quanto tutto il pezzo dell'Intro GUI andrebbe riscritto. Questo codice, infatti:
1) Se si sceglie di caricare un gioco, deve entrare in una new room per poter mostrare la finestra di caricamento: in realtà non è grave, si può rimediare facilmente personalizzando la room 1 con la stessa immagine di sfondo della gui INTRO
2) Presenta lo stesso problema del punto 1, ma con la finestra d'uscita
Nel prossimo post posterò anche il codice della room 2, quella in cui Conan parla per intenderci.
Sherry Haibara
 
Top
WIB
view post Posted on 8/1/2006, 13:14     +1   -1




primo codice :
perchè dover fare il if (interface == INTRO) ? Così farebbe il tutto solo ed esclusivamente se si è in quella interface specifica ....

secondo codice :
la scene_a parte da sola e va a finire entro un tempo determinato ? Non c'entra con nulla ? Perchè la cutscene proprio nella scene_b ? Parte prima la scene_b ?


(prima di rimettere su il programma per controllare un qualsiasi codice devo attendere almeno fino a domani .... tra poco mi metto a assemblare il nuovo pc *_* e dopo devo continuare a studiare =_=)

p.s.: ho appena visto il codice intero .... ma fare un guion(options) nell'intro non potrebbe togliere un po' di problemi ?

Edited by WIB - 8/1/2006, 13:18
 
Top
view post Posted on 8/1/2006, 13:18     +1   -1
Avatar

L'arte è... un'esplosione!

Group:
Member
Posts:
3,854
Location:
Konohagakure

Status:


Ed ecco qui il codice della room 1.
Come leggere il codice: // segnala un commento, ; la fine di un'istruzione, cConanbig è il nome in codice dell'animazione di Conan grande che parla. Buona lettura! smile.gif (104 righe di codice scritte interamente DA ME):

// room script file
#sectionstart room_b // DO NOT EDIT OR REMOVE THIS LINE
function room_b() {
// script for Room: First time player enters screen
StartCutscene(eSkipAnyKeyOrMouseClick); // Avvia una Cutscene, cioè una scena animata saltabile unicamente premendo un tasto o cliccando col mouse
DisableInterface(); // Disabilita le interfacce
Mouse.Visible = false; // Nasconde il puntatore
object[9].Visible = true; // Mostra l'oggetto 9 (Shinichi Kudo)

cConanbig.Say("Io sono il detective liceale Kudo Shinichi."); // Niente da spiegare, conan parla
object[10].Visible = true; // Visualizza l'oggetto 10, Ran
cConanbig.Say("Ero ad un parco giochi con la mia compagna di classe, Mouri Ran"); // parla
object[9].Visible = false; // nasconde l'oggetto 9...
object[11].Visible = true; //... e lo rimpiazza con l'oggetto 11, Voddy che corre
cConanbig.Say("quando vidi degli uomini vestiti di nero intenti in loschi traffici.");
cConanbig.Say("Il mio istinto da detective mi ha spinto a seguirli, ma non mi sono accorto"); // parla
object[10].Visible = false; // nasconde l'oggetto 10 (Ran)...
object[12].Visible = true; //... e lo rimpiazza con l'oggetto 12 (Gin che tira la mazzata a Shin)
cConanbig.Say("del complice che mi stava alle spalle!"); // Parla
object[11].Visible = false; // Nasconde l'oggetto 11 (Voddy che corre)...
object[13].Visible = true; //...mostra l'oggetto 13 (Shin che prende la pozione)
cConanbig.Say("Quegli uomini mi hanno costretto a prendere una pozione inventata"); // parla
cConanbig.Say("dagli scienziati della loro organizzazione, l'APTX4869, che invece di uccidermi"); // parla
object[12].Visible = false; // Nasconde gin che tira la mazzata...
object[14].Visible = true; //... e mostra il ritrovamento di Conan
cConanbig.Say("mi ha trasformato in un bambino!");
object[13].Visible = false; // Nasconde Shin che prende la pozione
object[15].Visible = true; // e mostra Agasa che dice a Shin di non rivelare la sua identità
cConanbig.Say("Se sapessero che Shinichi Kudo e' ancora vivo tenterebbero sicuramente"); // parla
cConanbig.Say("di uccidermi, cosi' ho deciso di nascondere la mia vera identita' a tutti."); // parla
object[14].Visible = false; // Nasconde il ritrovamento di conan...
object[16].Visible = true; // e mostra Conan che adotta la sua identità
cConanbig.Say("Dietro consiglio del mio amico, il Dottor Agasa, ho adottato le sembianze di Edogawa Conan");
object[15].Visible = false; // Nasconde Agasa
object[16].Visible = false; // Nasconde Conan
object[17].Visible = true; // mostra conan che torna a casa con ran
object[18].Visible = true; // Mostra conan con un mega-bernoccolo dovuto ad una lattina di birra (vedi film)
cConanbig.Say("e sono andato a vivere a casa di Ran il cui padre, Kogoro Mouri, e' un detective."); // parla
object[17].Graphic = 140; // Siccome ho finito gli oggetti, prendo l'oggetto 17 e gli cambio immagine tongue.gif Ci piazzo i genitori di Shin
cConanbig.Say("Oltre al dottore, della mia vera identita' sanno solo i miei genitori,"); // Parla
object[18].Graphic = 141; // Mostra Heiji
cConanbig.Say("un detective liceale del Kansai, Hattori Heiji,");
object[17].Graphic = 142; // Mostra Haibara al computer
cConanbig.Say("e una mia compagna di classe, Haibara Ai.");
object[18].Graphic = 143; // Mostra Shiho
cConanbig.Say("Ella faceva parte dell'Organizzazione Nera ed e' l'inventrice del veleno che sono stato costretto a ingerire");
object[17].Graphic = 144; // Mostra Shiho che prende l'APTX4869
object[18].Graphic = 145; // Mostra Ai svenuta
cConanbig.Say("Per fuggire dall'Organizzazione ha ingerito il suo stesso veleno, ed e' rimpicciolita anche lei!"); // parla
object[17].Visible = false; // Nasconde oggetto 17
object[18].Visible = false; // Nasconde oggetto 18
cConanbig.Say("Il dottor Agasa ha inventato numerosi gadget che mi sono molto utili per acciuffare i criminali:"); // parla
object[0].Visible = true; // W le bretelle elastice
cConanbig.Say("delle comode bretelle elastiche,");
object[1].Visible = true; // la cintura...
cConanbig.Say("una cintura spara-palloni,");
object[2].Visible = true; // il farfallino
cConanbig.Say("un farfallino cambia-voce,");
object[3].Visible = true; // gli occhiali
cConanbig.Say("degli occhiali per inseguire i criminali,");
object[4].Visible = true; // il cellulare
cConanbig.Say("un mini-telefono cellulare,");
object[5].Visible = true; // l'orologio
cConanbig.Say("un orologio che spara freccette soporifere,");
object[6].Visible = true; // le super-scarpe
cConanbig.Say("delle super-scarpe per calciare qualsiasi cosa,");
object[7].Visible = true; // lo skateboard
cConanbig.Say("uno skateboard alimentato ad energia solare,");
object[8].Visible = true; // la spilla
cConanbig.Say("e una ricetrasmittente che io e dei miei amici usiamo per comunicare.");
object[0].Visible = false; // nasconde tutti gli oggetti
object[1].Visible = false;
object[2].Visible = false;
object[3].Visible = false;
object[4].Visible = false;
object[5].Visible = false;
object[6].Visible = false;
object[7].Visible = false;
object[8].Visible = false;
object[17].Graphic = 146; // setta la grafica dell'oggetto 17 a "Genta+Ayumi"
object[18].Graphic = 147; // setta la grafica dell'oggetto 18 a "Mitsuhiko+Ai"
object[17].SetPosition(0,190); // siccome lo sprite è troppo grande cambio la posizione dell'oggetto
object[18].SetPosition(200, 190); // idem come sopra
object[17].Visible = true; // mostro l'oggetto 17
object[18].Visible = true; // mostro l'oggetto 18
cConanbig.Say("Insieme formiamo la squadra dei Giovani detective!");
cConanbig.Say("Forse sarebbe meglio se crescessero lontano dai cadaveri!");
object[17].SetPosition(0, 137); // riporto l'oggetto 17 alla sua posizione originale
object[18].SetPosition(195, 137); // idem come sopra, ma con l'oggetto 18
object[17].Graphic = 148; // cambia l'immagine dell'oggetto 17 in Kogoro che parla
object[18].Visible = false; // nasconde l'oggetto 18
cConanbig.Say("Quando devo risolvere un caso difficile");
cConanbig.Say("addormento Kogoro con l'orologio");
object[18].Visible = true; // visualizza l'oggetto 18...
object[18].Graphic = 149; //...e ne cambia la grafica in Kogoro-dormiente
cConanbig.Say("e poi risolvo il caso usando la sua voce grazie al farfallino!");
object[17].Visible = false; // nascondo l'oggetto 17
object[18].Visible = false; // nascondo l'oggetto 18
cConanbig.Say("Nonostante il mio corpo sia rimpicciolito, le mie capacita' intellettive"); // parla
cConanbig.Say("sono rimaste quelle di un grande detective!"); // parla...
cConanbig.Say("C'e' una sola verita'!"); //parla SBOROOONEE XDD
EndCutscene(); // termina la cutscene
}
#sectionend room_b // DO NOT EDIT OR REMOVE THIS LINE

Edited by Sherry Haibara - 8/1/2006, 13:32
 
Top
view post Posted on 8/1/2006, 13:39     +1   -1
Avatar

L'arte è... un'esplosione!

Group:
Member
Posts:
3,854
Location:
Konohagakure

Status:


CITAZIONE (WIB @ 8/1/2006, 13:14)
primo codice :
perchè dover fare il if (interface == INTRO) ? Così farebbe il tutto solo ed esclusivamente se si è in quella interface specifica ....

secondo codice :
la scene_a parte da sola e va a finire entro un tempo determinato ? Non c'entra con nulla ? Perchè la cutscene proprio nella scene_b ? Parte prima la scene_b ?


(prima di rimettere su il programma per controllare un qualsiasi codice devo attendere almeno fino a domani .... tra poco mi metto a assemblare il nuovo pc *_* e dopo devo continuare a studiare =_=)

p.s.: ho appena visto il codice intero .... ma fare un guion(options) nell'intro non potrebbe togliere un po' di problemi ?

Rispondo subito alle tue domande smile.gif
L'if (interface == INTRO) è voluto, in quanto di default l'interfaccia con i 3 pulsanti non è mostrata. Così, invece, il gioco controlla che l'interfaccia sia ON, e in seguito esegue le azioni specificate. Se non controllasse lo stato dell'interfaccia INTRO si rischierebbe che il gioco inizia a funzionare SENZA l'autorizzazione del giocatore! Per intenderci: il gioco (quindi lo wait, lo start della musica e del video ecc. ecc.) deve partire solo al verificarsi di queste due condizioni:
1) L'interfaccia INTRO è visualizzata
2) Il giocatore ha effettivamente scelto di iniziare una nuova partita
Se così non fosse, il video/musica ecc. partirebbe automaticamente 3 secondi dopo il lancio dell'applicazione, non dando il tempo materiale al giocatore di scegliere come comportarsi (carico una vecchia partita, inizio una nuova partita, esco).
Per il secondo codice: in realtà, la scene_a non esiste proprio tongue.gif Quando si eseguono certi comandi, il compilatore / interprete AGS si ritrova automaticamente ad assegnare tutti quei comandi ad una scene. In teoria, potrei benissimo chiamare tutto quel codice "scene_a", ma non cambierebbe nulla (a parte incasinare AGS perchè si aspetta di trovare il codice nella scene_b).
Il guion(options) senza disabilitare l'intro sarebbe proprio dove voglio arrivare, ma c'è un problema: avendo la gui intro la precedenza, verrebbe sì attivata la gui options, ma DIETRO alla gui intro. In altre parole, la gui sarebbe sì attiva, ma inutilizzabile in quanto nascosta dietro l'intro.
Sherry Haibara smile.gif

P.S.
Ho ripostato il codice, stavolta commentato per intero.
 
Top
WIB
view post Posted on 8/1/2006, 13:47     +1   -1




CITAZIONE (Sherry Haibara @ 8/1/2006, 13:39)
Il guion(options) senza disabilitare l'intro sarebbe proprio dove voglio arrivare, ma c'è un problema: avendo la gui intro la precedenza, verrebbe sì attivata la gui options, ma DIETRO alla gui intro. In altre parole, la gui sarebbe sì attiva, ma inutilizzabile in quanto nascosta dietro l'intro.
Sherry Haibara smile.gif

beh, ma infatti dovresti fare un guioff(intro)
guion(options)
...
così dovrebbe stare davanti l'options .... beh, ovviamente ricordati poi di ridare il guion(intro) dopo che finisce l'options se ti serve ancora intro ....

di altro...
l'opzione visible non c'è anche per le gui ? è solo ed esclusivamente guion e guioff che sono da usare ? e fanno solo il visible/not visible o fanno partire anche altri 'trigger' ? perchè se fanno partire altri trigger ecco scoperto l'eventuale bug ....
 
Top
view post Posted on 8/1/2006, 14:14     +1   -1
Avatar

L'arte è... un'esplosione!

Group:
Member
Posts:
3,854
Location:
Konohagakure

Status:


CITAZIONE (WIB @ 8/1/2006, 13:47)
CITAZIONE (Sherry Haibara @ 8/1/2006, 13:39)
Il guion(options) senza disabilitare l'intro sarebbe proprio dove voglio arrivare, ma c'è un problema: avendo la gui intro la precedenza, verrebbe sì attivata la gui options, ma DIETRO alla gui intro. In altre parole, la gui sarebbe sì attiva, ma inutilizzabile in quanto nascosta dietro l'intro.
Sherry Haibara smile.gif

beh, ma infatti dovresti fare un guioff(intro)
guion(options)
...
così dovrebbe stare davanti l'options .... beh, ovviamente ricordati poi di ridare il guion(intro) dopo che finisce l'options se ti serve ancora intro ....

di altro...
l'opzione visible non c'è anche per le gui ? è solo ed esclusivamente guion e guioff che sono da usare ? e fanno solo il visible/not visible o fanno partire anche altri 'trigger' ? perchè se fanno partire altri trigger ecco scoperto l'eventuale bug ....

Cosa intendi per altri 'trigger'?
Effetti indesiderati?
Comunque provo a usare la struttura GuiON - GuiOff, anche perchè il Visible mi pare ci sia anche per le Gui, ma l'effetto è analogo a GuiOn/GuiOff.
Sherry Haibara

EDIT: Avviando la gui Options, la gui parte, si, ma in sottofondo mi ritrovo una scena del game. Se invece eseguo anche un GuiOn(INTRO), l'Options viene nuovamente coperta.

Edited by Sherry Haibara - 8/1/2006, 14:17
 
Top
WIB
view post Posted on 8/1/2006, 20:07     +1   -1




beh, la scena del game la puoi mettere visible = false o no ?

Per trigger intendo eventi che partono in certi determinati momenti, tipo alla chiusura o alla disabilitazione di una gui ....
 
Top
view post Posted on 8/1/2006, 20:41     +1   -1
Avatar

L'arte è... un'esplosione!

Group:
Member
Posts:
3,854
Location:
Konohagakure

Status:


CITAZIONE (WIB @ 8/1/2006, 20:07)
beh, la scena del game la puoi mettere visible = false o no ?

Per trigger intendo eventi che partono in certi determinati momenti, tipo alla chiusura o alla disabilitazione di una gui ....

No, non si può mettere in false perchè è una room.
Per i trigger...uhm... no, non ci sono trigger particolari legati alla gui d'introduzione.
Sherry Haibara
 
Top
WIB
view post Posted on 8/1/2006, 20:53     +1   -1




e aumentare la grandezza di intro ? O magari fare una gui o un 'oggetto' grosso quanto lo schermo in modo da fare uno sfondo ?

Non c'è la possibilità di settare un qualche cosa tipo 'move to top' o similari ?
 
Top
64 replies since 3/1/2006, 14:37   1496 views
  Share