Jump to content
Rpg²S Forum
  • 0

Aiutooo!!! Non so usare Game Maker


Haltar Dhrim
 Share

Question

Ho scaricato da poco Game Maker, volevo provare a farci qualcosa, e mi è venuto in mente di fare un gioco tattico. Solo che non riesco nemmeno a programmare gli eventi... :sisi:

 

Sarò stupido, ma qualcuno può aiutarmi a capire come usare Game Maker?

 

Volevo fare una cosa per cui cliccando sul pg, si evidenziano le destinazioni possibili con un certo movimento (es. 4 caselle), e cliccando sulla destinazione il pg si muova...

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Gamemaker va' un attimo assimilato..

In primo luogo visto che per te è un tool nuovo prova a dividere il tuo "voglio fare un gioco tattico" in pezzi da unire poi come un puzzle.

Puoi iniziare a programmare il "clicko su un pg, gli do la dirzione e si sposta" e poi passare al resto del tattico, dai menu ai calcoli e via dicendo.

Gamemaker si impara così, facendo piccoli giochini che poi uniti fanno un giocone ;P

 

Prima di tutto imprimiti nella mente la seguente frase: GAMEMAKER FUNZIONA A OGGETTI.

Cosa vuol dire? Semplicemente che tu hai una "Stanza" (Room) dove ci sono degli "Oggetti" (Object) che "Agiscono" (Event).

Il meccanismo base è facilissimo. La Room parte, e partono gli oggetti che ci sono dentro, eseguendo quello che dentro gli hai detto di fare.

Ad esempio se hai dentro un oggetto XX a cui nell'evento CREAZIONE hai messo "spostati in x=40, y=100" quando la stanza verrà generata e subito dopo l'oggetto, IN QUEL MOMENTO verrà eseguito quel codice, spostando il tuo oggetto XX alle coordinate decise.

E' semplicissimo, tu gli dici quando, dove e cosa fare, lui lo fa.

Smanetta un poco con le icone e gli eventi di un oggetto per capirne al meglio gli effetti e gli usi.

Ti consiglio di usare le Icone, a meno che tu abbia un'infarinatura di programmazione (linguaggio qualsiasi), a quel punto puoi anche sfruttare il codice ;P

 

Per informazioni più precise, fai domande più precise ^^

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

  • 0

Grazie, ma non è proprio quello che volevo, adesso spiego meglio...

 

Io ho fatto un oggetto "omino" che se viene cliccato dovrebbe creare 4 quadrati verdi (oggetti "selezione") a 4 caselle di distanza in alto,basso,destra,sinistra. Il problema è che cliccando su omino viene un errore del tipo "impossibile disegnare l'oggetto".

Credo che sia perchè dovrebbe essere disegnato fuori dalla room, ma anche scrivendo in una questione "if (omino.x-32)>0" ecc., mi dà lo stesso errore. Dove sbaglio?

 

Appro, x Dax: ho un po' di esperienza in programmazione, faccio il Marconi, praticamente mi insegnano quello... XD

Link to comment
Share on other sites

  • 0

Prima di tutto: che versione usi di GM?XD

 

Allora, tu vuoi diverse cose.

Prima di tutto vuoi una griglia di sfondo che faccia da mappa, e te la devi creare.

O l'hai già? E' la prima cosa che ti serve perchè dovrai colorare in modo diverso queste celle quando clicki il personaggio.

 

Per l'errore prova così:

Semplicemente crea un oggetto con uno sprite qualsiasi e mettilo in mezzo alla stanza.

Nell'evento "mouse left button" metti

show_message("mi hai clickato!");

E prova a vedere se funziona.

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

  • 0

La versione è 4.3b .

In pratica devo fare una cosa alla volta, credevo di aver spezzettato in parti abbastanza piccole... mi sarò sopravvalutato...

La mappa comunque ce l'ho, per il momento uso come background di prova una specie di scacchiera, quindi è perfetta... basta che aggiusto la griglia per la grandezza della casella no?

 

EDIT: Ah ho capito tu vuoi cambiare il colore delle celle vicino al pg giusto? Io volevo creare tutti oggetti intorno, ma mi sa che è meglio come dici tu... XD

Edited by Haltar Dhrim
Link to comment
Share on other sites

  • 0

la 4.3 è vecchissima.. aggiornati almeno alla 6, se non alla 7 XD

Sono tutte free a scapito di un bannerino al caricamento, puoi sempre comprare la licenza per pochi euro.

Cmq dovrei riflettere un po' meglio su quello che vuoi fare.. vuoi un tattico e muovere le truppe alla Age of Empires.. solo limitando l'area di movimento. Se poi inserisci anche altri ostacoli ti conviene una mappa a celle cone le celle che sono oggetti però non grafica..

 

Ti allego un progetto fatto col 7 con lo script del mio gioco.

é un gb1, quindi puoi aprilo col tuo GM7 e guardarlo con calma. Penso una cosa così ti possa andar bene

(gm7 lo trovi sul sito yoyogames di gamemaker ;P è free)

celle.rar

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

  • 0

Scusate il doppio post...

 

Allora, ho fatto in modo che cliccando sull'omino è possibile spostarlo con le frecce per 4 caselle, dopodichè ritorna inattivo.

Ho anche fatto in modo che non passi sopra altri omini controllando se la casella di destinazione è vuota o no.

Il problema è: volevo fare in modo che se si passa vicino (alto, basso, destra, sinistra) a un nemico:

1) Si interrompe il movimento; 2) Comincia una specie di combattimento (per adesso molto semplificato); 3) Si distrugge uno dei due omini.

Solo che tutto questo non va perchè ho annullato tutti i movimenti verso altri omini!

Pensavo, è possibile usare un booleano per identificare amici e nemici? Come si fa?

Link to comment
Share on other sites

  • 0

Inserisci una variabile in ogni personaggio in modo che dica di quale fazione è.

1,2,57,90019 xD

Confronti le fazioni e se sono diverse combatti.

 

Devi semplicemente aggiungere dei controlli quando sposti l'omino per controllare chi c'è nelle varie celle, confrontare le fazioni, se sono diverse... ci sarà un evento più lungo che controllerà il combattimento.

Di solito ti crei un oggetto Combat che avviato con i dati dei due contendenti gestisce animazioni, calcoli e similari.

L'importante in Gamemaker è riuscire a scriversi chiaro in pseudocodice cosa deve succedere ^^

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

  • 0

Come si fa a prendere una variabile da un evento che non è quello dove stai scrivendo? Perchè ho visto come "target" solo self, other (che si usa solo in collisioni e io non voglio farne) e other (che funziona su tutti quelli uguali e io ne voglio uno).

Voglio prendere un eventuale evento che sia adiacente alla casella dell'evento che sto muovendo... ho cercato nei comandi degli script, ho trovato tutto tranne quello...

Link to comment
Share on other sites

  • 0

Allora, penso tu indenta oggetto, non evento xD

Cmq se l'oggetto è unico basta che metti unicamente come variabile nomeoggetto.nomevariabile.

Così accedi alla variabile in tale oggetto.

 

Cmq puoi farlo anche tramite l'ID OGGETTO, un numero particolare che identifica univocamente un oggetto. scrivendo 4777488.nomevariabile ottieni la variabile stipata.

Il tuo problema è ottenere questo ID dall'oggetto vicino.

Se sai linglese ecco qui le possibili funzioni dal manuale:

 

instance_find(obj,n) Returns the id of the (n+1)'th instance of type obj. obj can be an object or the keyword all. If it does not exist, the special object noone is returned. Note that the assignment of the instances to the instance id's changes every step so you cannot use values from previous steps.

instance_exists(obj) Returns whether an instance of type obj exists. obj can be an object, an instance id, or the keyword all.

instance_number(obj) Returns the number of instances of type obj. obj can be an object or the keyword all.

instance_position(x,y,obj) Returns the id of the instance of type obj at position (x,y). When multiple instances are at that position the first is returned. obj can be an object or the keyword all. If it does not exist, the special object noone is returned.

instance_nearest(x,y,obj) Returns the id of the instance of type obj nearest to (x,y). obj can be an object or the keyword all.

instance_furthest(x,y,obj) Returns the id of the instance of type obj furthest away from (x,y). obj can be an object or the keyword all.

instance_place(x,y,obj) Returns the id of the instance of type obj met when the current instance is placed at position (x,y). obj can be an object or the keyword all. If it does not exist, the special object noone is returned.

 

 

 

 

Penso tu possa usare un instance_position.. o place ;P

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

  • 0

Sì hai risposto perfettamente alla domanda, cercavo il comando giusto e basta, e più di sparare nomi a caso e guardare il completamento automatico non potevo fare... grazie.

Appro hai ragione intendevo oggetto non evento, sono abituato a RPGM... :sad:

Link to comment
Share on other sites

  • 0
Se premi sul ? (punto di domanda) in GM ti esce il manuale completo con tutte le sintassi divise per argomento! usalo!!

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...