DLL per GM in C#
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
DLL per GM in C#
Vorrei fare una dll per GM in C#(è il linguaggio che conosco meglio). E' possibile farla? E come?(tipi di variabili da usare, codici particolari ecc)
Ultima domanda. E' possibile memorizzare le informazioni tramite la dll?
Vorrei che GM passasse dei dati alla dll ma poi questa li tenesse in memoria per velocizzare il tutto (se no tanto varrebbe fare tutto con GM in qualche modo, ma preferirei di no).
Ultima domanda. E' possibile memorizzare le informazioni tramite la dll?
Vorrei che GM passasse dei dati alla dll ma poi questa li tenesse in memoria per velocizzare il tutto (se no tanto varrebbe fare tutto con GM in qualche modo, ma preferirei di no).
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Re: DLL per GM in C#
http://gmitalia.altervista.org/portale/ ... age&pid=19
questo è per vb.net, ma basta cambiare delle parole:
questo è per vb.net, ma basta cambiare delle parole:
Codice: Seleziona tutto
Public Function Messaggio(ByVal caption As String, ByVal testo As String) As Double
Messaggio = MsgBox(testo, MsgBoxStyle.OkOnly, caption)
End Function
Codice: Seleziona tutto
public double Messaggio(string caption, string testo)
{
MessageBox.Show(testo, caption, MessageBoxButtons.OK);
return 0;
}
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: DLL per GM in C#
Avevo visto che c'era in VB ma non ero sicuro che si potesse fare anche in C#Nix ha scritto:http://gmitalia.altervista.org/portale/ ... age&pid=19
questo è per vb.net, ma basta cambiare delle parole:Codice: Seleziona tutto
Public Function Messaggio(ByVal caption As String, ByVal testo As String) As Double Messaggio = MsgBox(testo, MsgBoxStyle.OkOnly, caption) End Function
Codice: Seleziona tutto
public double Messaggio(string caption, string testo) { return MessageBox.Show(testo, MessageBoxButtons.OK, caption); }
Comunque se creo degli oggetti con delle variabili o degli array posso ricordare queste informazioni? Come ho già detto vorrei immagazzinare molti dati(sarebbe lentissimo se non li immagazzinasse la dll).
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Re: DLL per GM in C#
crei due funzioni... una che memorizza i dati nella dll e una che li prende...Jak ha scritto:Avevo visto che c'era in VB ma non ero sicuro che si potesse fare anche in C#
Comunque se creo degli oggetti con delle variabili o degli array posso ricordare queste informazioni? Come ho già detto vorrei immagazzinare molti dati(sarebbe lentissimo se non li immagazzinasse la dll).
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: DLL per GM in C#
Ecco un'altra domanda (che sta nel topic dopotutto). Io ho dei metodi come questo
public CalculateMatrixSum(Matrix matriceout, Matrix matrice1, Matrix matrice2)
{
//qui i vari calcoli
}
in questo funzione devo indicare le varie istanze della classe Matrix, il tutto vorrei gestirlo da gm. Il problema è che con questa dll di supporto http://gmc.yoyogames.com/index.php?showtopic=317121 posso usare solo double e string come argomenti. Avete qualche idea per trovare il sistema di poter indicare l'indice della matrice?
Sto pensando agli array multidimensionali ma viene fuori un casino
public CalculateMatrixSum(Matrix matriceout, Matrix matrice1, Matrix matrice2)
{
//qui i vari calcoli
}
in questo funzione devo indicare le varie istanze della classe Matrix, il tutto vorrei gestirlo da gm. Il problema è che con questa dll di supporto http://gmc.yoyogames.com/index.php?showtopic=317121 posso usare solo double e string come argomenti. Avete qualche idea per trovare il sistema di poter indicare l'indice della matrice?
Sto pensando agli array multidimensionali ma viene fuori un casino
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
- maz85
- Admin
- Messaggi: 8287
- Iscritto il: 07/02/2004, 15:57
- Specialità: Nientologo
- Località: Oblio
- Contatta:
Re: DLL per GM in C#
Che argomenti devi passare?
Fai così:
Comunque un indice può essere anche un double, se da rogne lo casti all'interno della DLL.
Fai così:
Codice: Seleziona tutto
public function passaquestoaquello(argomento as string) as string{
//prendiamo argomento che è fatto così "1,2323,ciao,hey,34.3"
//lo suddividiamo in vari pezzi e lo passiamo alla funzione "quello", insomma quella che ci interessa
quellafunzioneprincipale(arg1,arg2,arg3);
}
public function quellafunzioneprincipale(arg1 as int, arg2 as object, ...){
//fai
}
Votate GmItalia nella classifica!
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: DLL per GM in C#
Non ho capito molto bene il funzionamento Ma nel momento in cui creo una nuova classe il suo tipo è la classe stessa, non può essere un valore numerico...
Per quanto riguarda castarlo all'interno della dll non ho idea di come fare. Ho pensato di usare gli array ma non posso usare quelli dinamici perchè anche loro hanno problemi di tipo e non vorrei fare un'array gigantesco già dall'inizio.
Per quanto riguarda castarlo all'interno della dll non ho idea di come fare. Ho pensato di usare gli array ma non posso usare quelli dinamici perchè anche loro hanno problemi di tipo e non vorrei fare un'array gigantesco già dall'inizio.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
- maz85
- Admin
- Messaggi: 8287
- Iscritto il: 07/02/2004, 15:57
- Specialità: Nientologo
- Località: Oblio
- Contatta:
Re: DLL per GM in C#
Scusa, ma quando tu crei un'istanza di una classe per riferirsi a questa istanza serve un id.
Il suo tipo è la classe certo, ma quello che lo identifica è un id.
Non lo hai messo magari nella creazione della classe (boh, non so come funga il c#), quindi devi implementarlo nella dichiarazione della creazione così puoi riferirti ad essa.
Tipo un array di oggetti:
Magari nel costruttore dichiarare l'id e inserire idnuovaistanza.
Quindi via GM gli dici beccami questa istanza ad indice 2323.
PS: ho scritto il codice a ricordo e in vb.net, ma penso si capisca.
Il suo tipo è la classe certo, ma quello che lo identifica è un id.
Non lo hai messo magari nella creazione della classe (boh, non so come funga il c#), quindi devi implementarlo nella dichiarazione della creazione così puoi riferirti ad essa.
Tipo un array di oggetti:
Codice: Seleziona tutto
oggettivari(n)
Codice: Seleziona tutto
ReDim Preserve istanze(idnuovaistanza) 'ridimensiono l'array
istanze(idnuovaistanza) = New classe
Quindi via GM gli dici beccami questa istanza ad indice 2323.
PS: ho scritto il codice a ricordo e in vb.net, ma penso si capisca.
Votate GmItalia nella classifica!
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: DLL per GM in C#
E' vero, l'indice dell'array, in quel modo basta che faccio un'array per ogni classe (visto che il tipo dell'array è lo stesso della classe che creo. Il tutto lo gestisco con un'array dinamico. Grazie maz, utile come sempre
Non preoccuparti del VB perchè è molto simile al C#(e poi ho imparato a tradurlo e nell'eventualità uso il traduttore di linguaggi ) quindi hai fatto bene.
Grazie ancora.
Non preoccuparti del VB perchè è molto simile al C#(e poi ho imparato a tradurlo e nell'eventualità uso il traduttore di linguaggi ) quindi hai fatto bene.
Grazie ancora.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: DLL per GM in C#
Scusate il doppio post ma siamo ai limiti della stupidità umana(anzi del pc).
creo una classe ed un'array dinamico:Ma visualC# mi dice "Errore 1 Token non valido '(' nella dichiarazione del membro della classe, della struttura o dell'interfaccia"
Ho anche copiato incollato codice da vari siti e mi da lo stesso errore per qualunque tipo di argomento nel metodo Add(ho provato con stringhe, integer, di tutto) che di tutti gli overload della classe Arraylist.
Non capisco perchè mi dia errore
creo una classe ed un'array dinamico:
Codice: Seleziona tutto
public class Arrays
{
ArrayList matricies = new ArrayList(0);
matricies.Add(new Vector);
}
Ho anche copiato incollato codice da vari siti e mi da lo stesso errore per qualunque tipo di argomento nel metodo Add(ho provato con stringhe, integer, di tutto) che di tutti gli overload della classe Arraylist.
Non capisco perchè mi dia errore
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Re: DLL per GM in C#
in C# quando usi new devi usare le parentesi... non è come vb che sono opzionali quando non ci sono parametri
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: DLL per GM in C#
Sì, me l'ero dimenticato ma non è quello il problema. Come ho detto prima ho provato con vari tipi:
Ma la situazione è la stessa...
EDIT: Risolto, dovevo fare il metodo della classe:
Adesso non mi da più errore
Codice: Seleziona tutto
public class Arrays
{
ArrayList matricies = new ArrayList(0);
matricies.Add("ciao");
}
EDIT: Risolto, dovevo fare il metodo della classe:
Codice: Seleziona tutto
public class Arrays
{
public Arrays()
{
ArrayList matricies = new ArrayList(0);
matricies.Add(new Vector(4,7));
}
}
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: DLL per GM in C#
Altro problema(sperando sia l'ultimo). Sto facendo un metodo che restituisce un valore:
vectors è l'array dinamico che uso ed il tipo dell'array è object(non è mio ma uno predefinito dell'arraylist). In quell'indice ho usato Add() per aggiungere una classe come ho scritto nei post precedenti. Il problema è che essendo di tipo object il tipo restituiti(e non Vector)non conosce le variabili che ho dato alla classe Vector e di conseguenza non funziona. Non ho trovato su internet il modo per indicare il tipo dell'arraylist o altre soluzioni. Questo dovrebbe essere l'ultimo problema in assoluto perchè dopo sono solo calcoli matematici ed if a manetta da fare quindi scusate se vi disturbo.
Codice: Seleziona tutto
public double GetVector(double index, double date)
{
if (date == 0)
{
return vectors[(int) index].X;
}
}
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: DLL per GM in C#
Trovato il sistema!
Posso indicare il tipo dell'arraylist così:In questo modo ho risolto
A quanto ho letto in giro però non è detto che l'array venga disposto nell'ordine corretto e ciò non andrebbe bene perchè calcolo l'indice con un index++;
Vedrò di trovare la soluzione e poi passo al sodo
Posso indicare il tipo dell'arraylist così:
Codice: Seleziona tutto
List<Vector> vectors = new List<Vector>(0);
A quanto ho letto in giro però non è detto che l'array venga disposto nell'ordine corretto e ciò non andrebbe bene perchè calcolo l'indice con un index++;
Vedrò di trovare la soluzione e poi passo al sodo
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Re: DLL per GM in C#
Ti puoi creare un array di qualsiasi dimensione con qualsiasi tipo di classe/struttura
facendo (ad esempio con int)
Per i Dictionary e le List l'ordine degli elementi equivale a quello dell'inserimento..
Naturalmente se utilizzi solamente la funzione .Add()
Altrimenti se usi .InsertAt() o .RemoveAt() è naturale che gli elementi con indice superiore vengano shiftati..
facendo (ad esempio con int)
Codice: Seleziona tutto
//buffer a lunghezza fissa
int[] p = new int[200];
//Lista dinamica
List<int> pippo = new List<int>();
//Lista dinamica con struttura chiave->valore
Dictionary<int, string> Lista_Di_Parole = new Dictionary<int, string>();
Naturalmente se utilizzi solamente la funzione .Add()
Altrimenti se usi .InsertAt() o .RemoveAt() è naturale che gli elementi con indice superiore vengano shiftati..
Sì vabbè.. Clicca qui che è meglioJak ha scritto:Vorrei fare una dll per GM in C#(è il linguaggio che conosco meglio)
ਗੁਰੂ
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: DLL per GM in C#
Ho detto che conosco meglio, non che conosco bene.pontino ha scritto:Sì vabbè.. Clicca qui che è meglioJak ha scritto:Vorrei fare una dll per GM in C#(è il linguaggio che conosco meglio)
E comunque la conosco quella guida (che peraltro esiste anche in italiano).
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Re: DLL per GM in C#
ne esistono anche altre, come AB...C#
Chi c’è in linea
Visitano il forum: Nessuno e 48 ospiti