Spiel ohne Maus, mit Texteingabe, mit Tastatursteuerung
Spiel ohne Maus, mit Texteingabe, mit Tastatursteuerung
Ich will jetzt ( will's aber selbermachen ) ein Spiel haben, in dem folgendes möglich ist: Zunächst einmal Tastatursteuerung ( geht bei mir, mit den Problem, das ich trotzdem auch mit der Maus steuern kann, und das will ich nicht, ich will garkeine Maus auf'm Display haben. ) Ausserdem soll unten so 'n Texteingabefeld sein. So, wie lautet jetzt der Script "Wenn Spieler in dem Room das in das Textfeld eingegeben hat, passiert das" ? Ich will's mal selbst aufbauen, ohne das AGS-Demospiel. Wie krieg ich das im Einzeln hin?
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
Zunächst einmal braucht dein Gui eine Textbox. Dann kannst du über den Befehl "said" abfragen, was in der Textbox eingegeben wurde, um zu bestimmen, was für eine Aktion auf eine Eingabe erfolgen soll. Wenn deine Textbox z.B. Objekt 6 des Gui 3 ist, könnte das nach Manual so aussehen:
string input;
GetTextBoxText (3, 6, input);
ParseText (input);
if (Said("look fence")) {
Display("It's an old wooden fence.");
}
if (Said("eat apple")) {
Display("You'd love to, but you don't have one.");
}
Man kann das wort "rol" eingeben, wenn man unabhängig vom Objekt immer dieselbe Antwort bekommen will. z.B. eat rol, und als Antwort "du hast keinen Hunger" etc. und man kann verschiedene Verben durch komma verbinden, und dann immer dieseleb Aktion hervorrufen. Guck dir auch einmal an, wie du Synonyme bauen kannst und direkt mit der Parser-Funktion im Editor umgehen kannst.
Genauer gibt das gute alte Manual Auskunft:
http://www.agsforums.com/ags24bmanual.htm
Totoro
string input;
GetTextBoxText (3, 6, input);
ParseText (input);
if (Said("look fence")) {
Display("It's an old wooden fence.");
}
if (Said("eat apple")) {
Display("You'd love to, but you don't have one.");
}
Man kann das wort "rol" eingeben, wenn man unabhängig vom Objekt immer dieselbe Antwort bekommen will. z.B. eat rol, und als Antwort "du hast keinen Hunger" etc. und man kann verschiedene Verben durch komma verbinden, und dann immer dieseleb Aktion hervorrufen. Guck dir auch einmal an, wie du Synonyme bauen kannst und direkt mit der Parser-Funktion im Editor umgehen kannst.
Genauer gibt das gute alte Manual Auskunft:
http://www.agsforums.com/ags24bmanual.htm
Totoro
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
Ich habe mal festgestellt, das das in das GUI muss, aber dann kommt 'ne Fehlermeldung, das die Wörter ingore words sind oder was weiss ich nicht erkannt werden. Mein Script ( GUI 0 und OBJEKT 0 ist Textbox ) :
Code: Alles auswählen
if (interface == 0) {
string input;
GetTextBoxText (0, 0, input);
ParseText (input);
if (Said("look fence")) {
Display("It's an old wooden fence.");
}
if (Said("aua")) {
Display("aua");
}
}
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
Mit dem Befehl SetTextBoxText kann man den Inhalt der Textbox festlegen. Wenn du sie also leer haben möchtest, musst du folgende Aktion festlegen:Sharalamude hat geschrieben:Hey Mann ich hab noch gepruckelt und gepruckelt und jep, jetzt geht es. Nur eine Sache noch: Wie kann ich einstellen, das, wenn man etwas eingetippt hat, sich nach der Aktion der Text in der Textbox wieder löscht?
SetTextBoxText(0,0,"");
Totoro