Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  FAQFAQ  SuchenSuchen  AnmeldenAnmelden  MitgliederMitglieder  LoginLogin  

Austausch | 
 

 Spezialmenü mit Clonk-Append

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
YoCed
Vizeadmiral
Vizeadmiral
avatar

Männlich Alter : 21
Ort : Rheine
Anmeldedatum : 23.05.09

BeitragThema: Spezialmenü mit Clonk-Append   Fr Okt 16, 2009 9:35 pm

Schwierigkeit: *****
Vorwissen:#appendto, Was sind Clonkscripts? (Grundwissen)

Hi und Willkommen zu meinem ersten Tutorial, wie man Einem Clonk per #appendto ein Spezialmenü erstellt.

Hier haben wir zwei Möglichkeiten:
1.Wir erstellen eine System.c4g
2.Wir erstellen ein neues Objekt

Wie wir uns auch entscheiden, wir brauchen auf jeden Fall ein Skript mit einem appendto:

So weit, so gut. Aber ein Spezialmenü nützt uns nicht, wenn wir es nicht aufrufen können, daher müssen wir den Funktionsknopf fürs Kontextmenü schaffen, dies machen wir mit einer Funktion:

Zitat :
protected func ContextSpezial(){ //schon mal die Funktion
[Spezialmenü|Image=FLAG]

Spezial(); //Damit die Spezialmenü-Funktion aufgerufen
return 1;//Funktion wird "returnd"
}

Jetzt haben wir schon mal den Funktionsknopf geschrieben.

Widmen wir uns jetzt mal den Menü-Befehlen:
Die Doku schrieb:
int CreateMenu (id idSymbol, object pMenuObject, object pCommandObject, int iExtra, string szCaption, int iExtraData, int iStyle, bool fPermanent, id idMenuID);

Interessieren brauchen wir uns nur für die ersten zwei Parameter:
idSymbol:
Objektdefinition, deren Bild als Symbol verwendet wird

Object pMenuObject
Das Objekt, Welches das Menü aufruft

Wer mehr wissen will, hier der Link zur Doku:Klick

Hier ein Beispiel:

Zitat :
CreateMenu(FLAG,pObject);

So, jetzt können wir schon mal ein Menü erstellen, es ist aber noch ein bisschen leer, oder Wink

Um das Menü zu befüllen, gibt es den Befehl:
Die Doku schrieb:
int AddMenuItem (string szCaption, string szCommand, id idItem, object pMenuObject, int iCount, int iParameter, string szInfoCaption, int iExtra, any XPar1, any XPar2);

Aber wie bei CreateMenu interessieren wir uns nur für die drei ersten Parameter:
szCaption:
Text des neuen Menüeintrags

szCommand:
Funktion, die Beim klicken aufgerufen wird

idItem:
Die ID wird als Bild für den Menüeintrag verwendet. Der Name der Definition kann mit %s in szCaption verwendet werden. Außerdem wird die ID als erster Parameter an den Aufruf von szCommand übergeben, sofern dieser nur ein Funktionsname ist.

Wer mehr erfahren will, Hier der Link.

Hier noch ein Beispiel:

Zitat :
CreateMenu(FLAG);//Menü mit dem Bild einer Flagge wird erstellt
AddMenuItem("%s","Erstellen",FLNT);//Menü wird gefüllt: ein Bild Mit einem Flint und der Beschreibung Flint, wenn man drückt wird die Funktion Erstellen aufgerufen


protected func Erstellen (object pObject) {//Extra-Funktion
CreateContents (Par (0), pObject); //Kriegstn Flint^^
Spezial(); //Damit wird die Funktion erneut aufgerufen
return 1;
}


Ein Hinweis:
Wenn ihr vorhabt, ein Menü mit Activate() zu öffen, tut das so:
Zitat :
protected func Activate(object pCaller){
CreateMenu(FLAG,pCaller);
AddMenuItem("%s","Erstellen",FLNT,pCaller);


Ich hoffe, ihr könnt mit meinem Ersten Tutorial etwas anfangen Wink


Zuletzt von YoCed am Sa Okt 17, 2009 4:32 am bearbeitet; insgesamt 2-mal bearbeitet (Grund : #strict 2)
Nach oben Nach unten
Benutzerprofil anzeigen
Flinti
Kadett
Kadett


Männlich Alter : 24
Anmeldedatum : 07.04.09

BeitragThema: Re: Spezialmenü mit Clonk-Append   Fr Okt 16, 2009 10:44 pm

Benutz doch #strict 2 Wink

Ansonsten finde ich das Tutorial sehr gelungen. Ich hoffe, dass unsere lieben Anfänger damit etwas anfangen können Smile
Nach oben Nach unten
Benutzerprofil anzeigen
Patta
Großadmiral
Großadmiral
avatar

Männlich Alter : 23
Anmeldedatum : 22.05.09

BeitragThema: Re: Spezialmenü mit Clonk-Append   Fr Okt 16, 2009 11:37 pm

jetzt sind auch meine letzten Probleme mit Menüs wohl weg. danke für das Tutorial, ist sehr schön. Star Wars Klassensystem, ich komme Wink
Nach oben Nach unten
Benutzerprofil anzeigen http://sites.google.com/site/clonkprojekte/star-wars
YoCed
Vizeadmiral
Vizeadmiral
avatar

Männlich Alter : 21
Ort : Rheine
Anmeldedatum : 23.05.09

BeitragThema: Re: Spezialmenü mit Clonk-Append   Sa Okt 17, 2009 4:28 am

Okay, dann verwende ich mal strict 2, ich hab das tutorial ja uch schon editiert.
Nach oben Nach unten
Benutzerprofil anzeigen
Spiederschwein
Kadett
Kadett
avatar

Männlich Anmeldedatum : 04.07.09

BeitragThema: Re: Spezialmenü mit Clonk-Append   Sa Okt 17, 2009 1:29 pm

Was habt ihr alle mit strict2 Rolling Eyes
das tut ist doch astrein.
Nach oben Nach unten
Benutzerprofil anzeigen
Flinti
Kadett
Kadett


Männlich Alter : 24
Anmeldedatum : 07.04.09

BeitragThema: Re: Spezialmenü mit Clonk-Append   Sa Okt 17, 2009 2:38 pm

Ja, es ist perfekt. Siehst du ja ;P
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: Spezialmenü mit Clonk-Append   

Nach oben Nach unten
 
Spezialmenü mit Clonk-Append
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Anfänger :: Tutorials-
Gehe zu: