Telefon / wählen
-
- Frischling
- Beiträge: 4
- Registriert: 27.11.2006, 11:41
- Kontaktdaten:
Telefon / wählen
Erstmal ein herzliches Hallo miteinander. Seit dem Wochenende arbeite ich fleißig an einem kleinen Adventure und bin schon ein wenig besessen.
Nun würde ich gerne die klassische Telefontastatur in mein Spiel einbauen (Zak McKracken, Maniac Mansion...)
Mir fehlt da aber a) so ein wenig der erste Ansatz und b) auch die Grafik. Vielleicht weiß ja einer von Euch ein Tutorial dazu oder so.
Hab auch schon hier das Forum dursucht aber nur Telefon-Threads ohne die Wählscheibe gefunden....
Nun würde ich gerne die klassische Telefontastatur in mein Spiel einbauen (Zak McKracken, Maniac Mansion...)
Mir fehlt da aber a) so ein wenig der erste Ansatz und b) auch die Grafik. Vielleicht weiß ja einer von Euch ein Tutorial dazu oder so.
Hab auch schon hier das Forum dursucht aber nur Telefon-Threads ohne die Wählscheibe gefunden....
- Kleener_Apfel
- Adventure-Treff
- Beiträge: 2817
- Registriert: 30.11.2003, 18:41
Hmm weiß nicht ob das in etwa ist was du dir vorgestellt hast, aber hier scheints ne Art Lösungsansatz zu geben
http://new.bigbluecup.com/yabb/index.php?topic=18314.0
http://new.bigbluecup.com/yabb/index.php?topic=18314.0
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Wenn ich das richtig verstehe, willst du kein Tastentelefon, richtig? Dass macht die Sache ein wenig komplizierter, weil man sehr viel mehr mit Grafik arbeiten muss als bei einem Tastentelefon (da würde man nur das Bild des Telefons selbst brauchen, und die Tatsache, dass man eine Taste betätigt hat könnte man mit einem Sound anzeigen). Für jemanden, der sich nicht mit Scripting auskennt würde ich also ein Tatsentelefon empfehlen.Hab auch schon hier das Forum dursucht aber nur Telefon-Threads ohne die Wählscheibe gefunden....
Aber egal, was muss man bei einer Wählscheibe beachten:
1. Die Grafik:
Wenn du ein Referenzbild brauchst (so verstehe ich dass zumindest), dann kannst du einfach bei Google suchen, dass fördert einiges an brauchbaren Ergebnissen zutage.
2. Das Wählen (ohne Animation):
Im Prinzip musst du prüfen, welche Zahl gewählt wurde und an welcher Position (also als erste Zahl, als zweite, usw). Ich würde dass so machen, dass ich ein int position mache, dass speichern an welcher Position ich gerade bin und für jede einzelne Position einen einzelnen int, der dann speichert welche Zahl gewählt wurde. Wenn man bei der letzten Position ist wird dann geprüft, ob die einzelnen Werte übereinstimmen mit dem was der Spieler eigentlich wählen sollte. (Man kann das auch über repeatedly execute machen, aber da kann es unter Umständen passieren, dass der Spieler schneller tippen muss als er will/kann (vgl eines der Ben Jordan Spiele von Grundislav, das hatte meines Wissens so ein Problem) oder es können Wartezeiten entstehen
3. Das Telefon zurücksetzen:
Ein wichtiger Punkt, den man nicht vergessen darf: Wenn eine Nummer angenommen wird (also geprüft ob sie richtig gewählt wurde) müssen die ints danach zurückgesetzt werden, außerdem wenn man auflegt oder den Raum verlässt (sonst entsteht ein unschöner Bug, der möglicherweise sogar verhindert, dass man das Spiel beenden kann.
4. Die Animation:
Ich würde es grundsetzlich so machen, dass die Wählscheibe ein Objekt ist und die einzelnen Ziffern Hotspots, wobei ein Klick auf das Objekt nichts tut. Die Animation müsste je nach gewählter Zahl unterschiedlich sein (das Rad wird unterschiedlich weit gedreht) - du benötigst also im Prinzip 10 verschiedene Animationen dafür (0-9). Wenn auf eine Zahl geklickt wird, setzt du zunächst view und loop für das Objekt und startest dann die Animation.
So, ich denke dass war alles wichtige (zwar etwas theoretisch, aber wenn du noch Fragen hast, frag). Die Scripting-Befehle und Kapitel die du vielleicht nachlesen möchtest:
int
SetView
Animate (object)
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Re: Telefon / wählen
In den Spielen gab's allerdings auch nur Druckknöpfe. Den Telefontastaur-Screen aus Maniac-Mansion-Deluxe könntest du dir ja leicht aus dem Spiel grabben.Pawnshop Orchestra hat geschrieben:...die klassische Telefontastatur in mein Spiel einbauen (Zak McKracken, Maniac Mansion...)
My MMM-Episodes: #7 "Right said Fred", #32 "Secret of Maniac Mansion", # 33 "Carry on Smiley", H05 "Escape from Maniac Mansion", #45 "Maniac Monday", #54 "CSI:RONVILLE", #58 "The People's Court", #70 "Maniac Mansion Begins", #74 "The Curse of King RootenTooten", #93 "Murder a.t. Moonshine Mansion"
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Das ist im Prinzip egal, meine Erklärung funktioniert für beides
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Das kannst du im Grunde genau wie beim Telefon machen. Du kannst es entweder in rep_ex oder nach jeder Eingabe, oder nach der vierten Eingabe (wenn klar ist, dass es nur vier Zahlen sind, sonst würde das dem Spieler vielleicht einen Tipp geben, den er gar nicht bekommen soll), oder, was in dem Fall wohl am sinnvollsten wäre, beim klicken auf eine Bestätigungstaste (OK-Knopf, oder sowas)
Du speicherst den ersten Wert in int eins, den zweiten in int zwei, usw (sind natürlich nur Beispiele, du kannst die ints auch anders benennen)
Die Abfrage lautet dann:
if ((eins==1)&&(zwei==2)&&(drei==3)&&(vier==4)) {
//das was passieren soll, wenn der Code stimmt
}
else {
das was passieren soll, wenn der Code nicht stimmt
}
Eigentlich einfach, oder?
Du speicherst den ersten Wert in int eins, den zweiten in int zwei, usw (sind natürlich nur Beispiele, du kannst die ints auch anders benennen)
Die Abfrage lautet dann:
if ((eins==1)&&(zwei==2)&&(drei==3)&&(vier==4)) {
//das was passieren soll, wenn der Code stimmt
}
else {
das was passieren soll, wenn der Code nicht stimmt
}
Eigentlich einfach, oder?
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Ich versteh die Frage nicht ganz...liegt das Problem bei der Tastatureingabe oder wirklich nur bei der Auswertung?
Ich mach mal ein Beispiel: Jede Taste ruft die Funktion type auf, der Parameter ist die Taste:
Dann in der onClick-Funktion der Buttons, z.B. bei Button 1:
EDIT: Sinitrena hat zwischendrin gepostet
Ich mach mal ein Beispiel: Jede Taste ruft die Funktion type auf, der Parameter ist die Taste:
Code: Alles auswählen
String typed;
function type(int i) {
typed=typed.Append(String.format("%d", i));
if (typed.Length<4) return;
if (typed=="1234") {
typed="";
// Safe öffnen, etc.
}
else {
typed="";
// GUI ausmachen, player.Say("Nichts passiert"); etc.
}
}
Code: Alles auswählen
type(1);
Use gopher repellent on funny little man
Ich hätte meine Frage etwas anders formulieren sollen. Aber naja, ihr kennt mich ja.
Aber wie gesagt: Es soll eine Art Codeabfrage im Stil von Monkey Island sein, wo man eine bestimmte Kombination eingeben muss, damit das Programm gestartet wird. Ich werde erstmal den Befehl im Skript einbauen und schaun, ob es klappt.
Ich mach erstmal eine Photokopie vom Befehl.
Aber wie gesagt: Es soll eine Art Codeabfrage im Stil von Monkey Island sein, wo man eine bestimmte Kombination eingeben muss, damit das Programm gestartet wird. Ich werde erstmal den Befehl im Skript einbauen und schaun, ob es klappt.
Ich mach erstmal eine Photokopie vom Befehl.
Ich denke schon. AGS ist vom Prinzip ziemlich simpel. Da sollte es eigentlich klappen.Sinitrena hat geschrieben:Eigentlich einfach, oder?
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
?Mulle The Maniac hat geschrieben:Ich mach erstmal eine Photokopie vom Befehl.
Die Frage wäre also gewesen: Wie mache ich es, dass AGS z.B. zufällig einen zweiteiligen Piratenkopf und eine Stadt auswählt und dann die Eingabe überprüft?
Verrate uns einfach das Abfragesystem, dann können wir Dir gerne weiterhelfen
Use gopher repellent on funny little man