Benvenuto Visitatore(Log In|Registrati)
![]() ![]() |
27 Jun 2018, 09:33
Messaggio
#1
|
|
|
Gruppo: Gamer Messaggi: 13 Iscritto il: 27 June 18 Utente Nr.: 21.920 SO Windows7 |
Buongiorno a tutti mi presento sono nuovo del forum e sto creando un gioco con AGS dopo aver seguito tutte le lezioni online di ProcioneSX. Non ho grosse difficoltà a creare il gioco fortunatamente ma c'è una cosa che non riesco a fare.
Io vorrei fare in modo che una volta che il mouse , contrassegnato su walk di default, passa sopra un hotspot automaticamente , come succede a broken sword, diventi una lente ed io cliccandoci possa leggere una frase in cui il personaggio descrive l'oggetto che sta guardando. Ora io ho creato un hotspot che ho chiamato ho lasciato col nome di default e gli ho applicato 2 eventi: function hHotspot1_Look() { player.Say("non capisco cosa sia"); } function hHotspot1_MouseMove() { mouse.UseModeGraphic(eModeLookat); } In questo modo la freccia diventa lente ma è come se non entrasse realmente in modalità lookat infatti se clicco sull'hotspot col tasto sinistro non dice la frase. Dove sbaglio? In alternativa ora sto usando il template sierra nel quale devi scegliere tu con lo scroll del mouse la lente e in quel caso la frase la dice però a me non piace questo continuo dover cercare l'icona giusta. Attendo un vostro riscontro e vi ringrazio. |
|
|
|
27 Jun 2018, 13:11
Messaggio
#2
|
|
Gruppo: Gamer Messaggi: 384 Iscritto il: 20 June 18 Utente Nr.: 21.911 BGE Monkey1 EGA SO Linux |
Premessa: non me ne intendo.
Guardando il tuo codice mi vengono in mente due cose: - mouse.UseModeGraphic: il nome di questa funzione si riferisce alla grafica, l'icona del puntatore, credo. Quando la usi il puntatore cambia, ma la modalità rimane quella di prima. O almeno questo è quello che mi aspetterei dal suo nome. Sicuro tu non debba usare anche un'altra funzione per cambiare effettivamente la modalità e non solo l'icona del puntatore? - Tu vuoi assegnare un azione di default ad un hotspot. Questa azione però deve attivarsi SOLO se attualmente non ce n'è una già selezionata, ovvero solo se ti trovi nella modalità Cammina. Altrimenti non ti sarà più possibili Usare, Aprire, Spostare... l'oggetto. Quindi all'interno della funzione che viene chiamata quando sposti il cursore sul tuo hotspot dovresti creare un controllo tipo: se(sono in modalità Cammina) { attiva_modalità(Osserva); } Chiedo scusa se ho detto delle banalità |
|
|
|
27 Jun 2018, 13:19
Messaggio
#3
|
|
|
Gruppo: Gamer Messaggi: 13 Iscritto il: 27 June 18 Utente Nr.: 21.920 SO Windows7 |
Premessa: non me ne intendo. Guardando il tuo codice mi vengono in mente due cose: - mouse.UseModeGraphic: il nome di questa funzione si riferisce alla grafica, l'icona del puntatore, credo. Quando la usi il puntatore cambia, ma la modalità rimane quella di prima. O almeno questo è quello che mi aspetterei dal suo nome. Sicuro tu non debba usare anche un'altra funzione per cambiare effettivamente la modalità e non solo l'icona del puntatore? - Tu vuoi assegnare un azione di default ad un hotspot. Questa azione però deve attivarsi SOLO se attualmente non ce n'è una già selezionata, ovvero solo se ti trovi nella modalità Cammina. Altrimenti non ti sarà più possibili Usare, Aprire, Spostare... l'oggetto. Quindi all'interno della funzione che viene chiamata quando sposti il cursore sul tuo hotspot dovresti creare un controllo tipo: se(sono in modalità Cammina) { attiva_modalità(Osserva); } Chiedo scusa se ho detto delle banalità Ciao frank, Grazie per la risposta. Si infatti sul discorso graphic ero quasi sicuro che si riferisse solo alla grafica. Ho provato altri comandi come ismodeenabled ma non lo fa. Giuro sto impazzendo . Proverò a ragionare su quanto da te detto. Nel frattempo spero che arrivi qualcuno che abbia la risposta perchè sono 4 giorni che ci sbatto la testa e non so più cosa provare. Sono riuscito per cosi dire a risolvere. Io tentavo di entrare per forza in modalita look at per fargli poi dire la frase al click. Ho risolto con interact. Praticamente cambio la grafica del cursore facendo apparire la lente e poi clicco col SX del mouse tramite interact e lui dice la frase. Di seguito il codice function hHotspot4_Interact() { player.Say("Ciao"); } function hHotspot4_MouseMove() { mouse.UseModeGraphic(eModeInteract); } Mi ritengo soddisfatto per quanto riguarda hotspot. Poi per i personaggi vedremo come fare. Messaggio modificato da Sennar il 27 Jun 2018, 16:26 |
|
|
|
![]() ![]() |
| Versione Lo-Fi | Oggi è il: 27th October 2026 - 18:33 |