Nicht eingeloggt
Registrieren

Ein einfaches MenĂŒ zum selber Bauen

 

In diesem Tutorial will ich dir erklĂ€ren, wie du ein einfaches MenĂŒ erstellen kannst.
Es wird drei Knöpfe besitzen, die bei einem Klick verschiedene Kismet-Events Triggern. Du solltest also schon etwas erfahrung mit Kismet haben. Scripten mĂŒssen wir dafĂŒr auch. Wenn du das nicht kannst, zieh dir einfach meine Scripts aus dem Beispiel. Unten gibt’s alles zum Download. Wie du Compilierst oder neue Klassen erstellst fragst du am besten im Forum oder du guckst bei Google. Jetzt wollen wir aber anfangen.

Das Basis-Script

Damit du deine UI-Scene spÀter auch benutzen kannst, musst du sie an eine Script-Klasse anhÀngen. Erstelle also eine neue klasse unter
Object->UIRoot->UIScreenObject->UIScene->UTUIScene->UTUIFrontEnd->UTUIFrontEnd_BasicMenu

Das script sollte dann so aussehen:

Code:
//-----------------------------------------------------------
// MeinMenĂŒ - Coded by [WuTz]!
//-----------------------------------------------------------
class MeinMenu extends UTUIFrontEnd_BasicMenu;
DefaultProperties

Das compilierst du dann. Einfach so. Leer wies ist

Da wir jetzt ein .u package mit einer UI Klasse haben können wir mit dem MenĂŒ anfangen.

Der UI-Scene Editor

mit diesem Editor kannst du dein MenĂŒ erstellen. Da wir nur drei knöpfe brauchen, werde ich dir nicht alles erklĂ€ren. Das meiste weiß ich selber noch nicht
Erstmal brauchen wir unsere UIScene:

user1480_pic1080_1234089812.png

Unter UISceneClass musst du natĂŒrlich deine eben erstellte klasse auswĂ€hlen.

Der UIEditor sieht so aus:

user1480_pic1084_1234089918.png


1: Hier kannst du die „Virtuelle auflösung“ einstellen, um zu gucken, ob immer alles an seinem rechten platz ist
2: Damit fĂŒgst du ein Bild ein. (Image-Tool)
3: Das ist das Tool mit dem du Texte einfĂŒgen kannst. (Label-Tool)
4: Nachdem du mit Tool 2 oder 3 etwas erstellt hast, musst du dieses Tool nehmen, um ordentlich arbeiten zu können (Move-Tool)

Den Rest der Tool-Bar, in der auch 2, 3 und 4 sind, wirst du kaum bis gar nicht gebrauchen.

Knöpfe zum drĂŒcken!


Lass dich vom Button-Tool (Das Ding ganz links) nicht ablenken! Wir brauchen einen anderen Button!

Und Zwar den hier:

user1480_pic1076_1234089527.png

Im nÀchsten fenster wirst du nach dem Tag gefragt. Der ist sehr wichtig.
FĂŒr diesen habe ich „Heil_Button“ genommen. ← MERKEN!
Nach einem klick auf OK wird kannst du den Button an den Orangen KĂ€stchen zurecht rĂŒcken.

Auf diese weise Platzierst du jetzt noch zwei weitere Buttons.

Den „ToeteMich_Button“ (Man darf kein Ö benutzen) und den „Zurueck_Button“

Toete... Das hört sich sooo sch*** an Egal. Muss ja

Wenn dir das grau nicht gefÀllt, oder du einen ToolTip möchtest, schau mal nach rechts:

user1480_pic1085_1234089918.png

Bei style override kannst du die Farben, das Bild und noch vieles mehr Àndern.

Das alles sollte jetzt etwa so aussehen:

user1480_pic1078_1234089527.png

Da der spieler spĂ€ter wissen muss worauf er drĂŒckt, brauchen wir noch etwas Text. Den platzieren wir als Label.
Dort könnt ihr den Text einstellen:

user1480_pic1082_1234089812.png



Bilder

Jetzt brauchen wir nur noch ein Bild: (Tool 2)

user1480_pic1075_1234089527.png

Wenn du jetzt die Auflösung verstellst, wirst du bemerken, dass das Bild nicht grĂ¶ĂŸer wird. Dagegen kann man folgendes tun:

user1480_pic1081_1234089812.png


Das musst du mit Left, Top, Right, und Bottom machen. Dann klappts
FĂŒr meinen Teil reicht das hier. Package Speichern und den Editor schließen.

Das „Richtige“ Script

Damit das Spiel weiß was es tun soll mĂŒssen wir es ihm natĂŒrlich sagen. Öffne
dein Script und schreib folgendes hinein:

Code:
//-----------------------------------------------------------
// MeinMenu - Coded by [WuTz]!
//-----------------------------------------------------------
class MeinMenu extends UTUIScene;
var transient UTUIPressButton HeilButton;   //Der Heile Button. Kann auch anders heißen. zb. EinButton oder so
var transient UTUIPressButton ToeteButton;
var transient UTUIPressButton ZurueckButton;
event PostInitialize()
function bool SpielerHeilen(UIScreenObject InObject, INT InPlayerIndex) //Parameter MÜSSEN so sein. der Funk-Name nicht
function bool SpielerToeten(UIScreenObject InObject, INT InPlayerIndex)
function bool Zurueck(UIScreenObject InObject, INT InPlayerIndex)
DefaultProperties

Nach dem compilen kannst du den Editor wieder auf machen und ein kleines Test Level bauen.

Kismet-Kram

Damit die im script gezeigten Events auch gefunden werden, musst du sie noch in kismet einbauen.
Nachdem du dir eine Testmap gebaut, oder ein anderes Level geladen hast,
packst du einen Trigger in die Map und folgendes in dein Kismet:
user1480_pic1079_1234089812.png

Ich habe die wichtigen sachen fĂŒr dich als OBJComment drĂŒber geschrieben.
Die Heal Damage node will bei mir leider nicht funktionieren
das hat sie aber noch nie. Das töten und zurĂŒck gehen klappt aber
Bei den Remote Events ist es wichtig, dass du beim Event Name den namen vom Script hinschreibst.
Die Open/Close scene-Action findest du bei Actions->UI.

Fertig!

Das wars "schon"!


user1480_pic1077_1234089527.png


Viel spaß beim MenĂŒ bauen

Lg [WuTz]!