PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 4 Fragen: Karte, Spiel laden, Taste halten, Held anhalten



Jamahl
03.01.2005, 10:46
Hoi Allesamt!
1. Wie kann ich eine Karte a´la Zelda machen, die in der unteren Bildschirmecke angezeigt wird, aber nicht die ganze Karte, sondern immer nur ein näherer Zoom (wie bei ZOoT und ZtWW). Die ränder sollen nicht überstehen.
Und wie mach ich das, dass sich der Punkt der mich auf der Karte darstellen soll überhaupt mitbewegt (hab noch nie eine Karte gemacht)?

2. Wie mache ich das, dass etwas nur passiert, wenn man das Spiel lädt (man dann z.B. wieder am Anfang des Tempels ist in dem man grade war)?

3. Wie kann ich das im Tastenpatch machen, dass eine Taste solange wirkt, bis ich sie wieder loslasse? (am besten sodass der wert 0 ausgegeben wird, wenn ich sie loslasse)

4. Wie kann ich das machen, dass sich der Held wenn ich eine Taste drücke (solange er mit dem schwert schlägt) stillsteht und sich dann wieder bewegen kann?

Danke schonmal im Voraus!
Mfgäää
Jamahl

Deathball
03.01.2005, 11:24
2. Wie mache ich das, dass etwas nur passiert, wenn man das Spiel lädt (man dann z.B. wieder am Anfang des Tempels ist in dem man grade war)?

3. Wie kann ich das im Tastenpatch machen, dass eine Taste solange wirkt, bis ich sie wieder loslasse? (am besten sodass der wert 0 ausgegeben wird, wenn ich sie loslasse)




Zu 2.: Vielleicht mit nem Tab den du aktivierst bevor du das Speichermenü aufrufst?

Zu 3.: Hm, in die Keylist den Befehl einbauen das etwas nur passiert wenn man eine Taste loslässt(müsste KeyRegisterUp oder so sein, hab allerdings grad keine Beispiel-Keyliste vorliegen). Dieser Befehl hat dann eben den Value=0 . Hoffe das hilft dir. Wenn nicht sag bescheid, dann versuch ich es nochmal zu verbessern.

cya
Deathball

Fab4
03.01.2005, 11:29
Hoi Allesamt!
1. Wie kann ich eine Karte a´la Zelda machen, die in der unteren Bildschirmecke angezeigt wird, aber nicht die ganze Karte, sondern immer nur ein näherer Zoom (wie bei ZOoT und ZtWW). Die ränder sollen nicht überstehen.
Und wie mach ich das, dass sich der Punkt der mich auf der Karte darstellen soll überhaupt mitbewegt (hab noch nie eine Karte gemacht)?

da würde mir jetzt spontan eine möglichkeit einfallen, dafür brauchste halt nur den tastenpatch...
du benutzt den hero nur als screen bewegung und einen event, als spieler.
mit dem keypatch kannste dann schreiben, das jenachdem bei welcher taste du drückst, sich der event (neuer hero) dann bewegt und die ganzen weiteren eigenschaften bzw tätigkeiten, halt auch imemr auf den event beziehen. wenn man dann mit dem event halt an der bestimmten stelle ankommt, bewegt sich halt der ehro 20 schritte nach links rechts oder halt 15 nach oben oder unten. (brauchst halt nur ne riesige map)


2. Wie mache ich das, dass etwas nur passiert, wenn man das Spiel lädt (man dann z.B. wieder am Anfang des Tempels ist in dem man grade war)?

ich bin mir nicht ganz sichr, aber als ich damals für mei naltes spiel das ringemenü gemacht habe, wurden entweder die copmmon event, die aufgerufen wurden, nichtmehr zuende geführt oder das was in einem cycle stand.
worauf ich hinauswill ist, wenn du einstelltst, das wenn ein bestimmter switch nciht aus ist, das und das passiert, was jedoch ausgesellt wird, wenn man den common event bzw den cycle abspielt, würde es dann nur kommen wenn man läd.

also in dem falle das er dann zum anfang des tempels teleportiert



3. Wie kann ich das im Tastenpatch machen, dass eine Taste solange wirkt, bis ich sie wieder loslasse? (am besten sodass der wert 0 ausgegeben wird, wenn ich sie loslasse)

das steht eigentlich in der beschreibung müsste ich jetzt aber selber nachgucken


4. Wie kann ich das machen, dass sich der Held wenn ich eine Taste drücke (solange er mit dem schwert schlägt) stillsteht und sich dann wieder bewegen kann?


das geht eigentlich automatisch wenn du ne ba machst, kann aber auch sein das ich jetzt kagge laber, weils echt lang her ist als ich sowas mal getestet hab.

ich hoffe ich konnte weiterhelfen.

Jamahl
03.01.2005, 12:42
Zu 2.: Vielleicht mit nem Tab den du aktivierst bevor du das Speichermenü aufrufst?
Ich will, dass es nur dann passiert, wenn ich lade, und nicht wenn ich das spiel sichere.


Zu 3.: Hm, in die Keylist den Befehl einbauen das etwas nur passiert wenn man eine Taste loslässt(müsste KeyRegisterUp oder so sein, hab allerdings grad keine Beispiel-Keyliste vorliegen). Dieser Befehl hat dann eben den Value=0 . Hoffe das hilft dir. Wenn nicht sag bescheid, dann versuch ich es nochmal zu verbessern.
Wie kann ich machen, dass der auch registriert, dass ich die taste noch halte und nicht nur wenn ich sie loslasse (z.b. wirbelattacke:
a gibt wert 6 aus
ich schlage mit dem schwert zu, dann halte ich taste a eine sekunde lang und wenn ich jetzt loslasse soll eine wirbelattacke stattfinden)

Beril
03.01.2005, 12:56
Mkay zu 3:
Also du schreibst in deiner Keylist folgende Befehle rein:

Einmal eine Taste (ich sach einfach mal "d")
Mit RegisterKeyDownEvent
und Value = 1

Und dann nochmal "d"
Mit RegisterKeyUpEvent
und Value = 0

Ja und im Maker hast du jetzt die Möglichkeit unter den Forks (Vari = 0 bzw 1) einzustellen was der Held machen soll...

Jamahl
03.01.2005, 13:19
@Beril: Ne, das funzt net, weil der net mitbekommt, dass die taste gehalten wird sondern nur, dass sie irgendwann losgelassen wird.

Fab4
03.01.2005, 13:34
sagen wir wenn taste gedrückt ist wird wert 6 übergeben und wenn die taste losgelassen wird wird wert 7 ausgegeben.

dann sieht das ganze so aus

cycle
{
wenn var =6
dann
{
varZeit +1
}
wenn var =7
dann
{
break cycle
}
wait 0.1
}

danach musste dann halt nur hinschreiben, dass wenn die Zaeit var >= irgend nem bestimmten wert ist, macht er den rundumschlag und wenn er drunter ist halt nichts

Jamahl
03.01.2005, 13:38
was bedeuten die { und }?

Edit: Könntest du evtl. die befehle beschreiben, die du da verwendest? Die sagen mir inrdwie net soviel. (hab lange nicht gemakert)

Fab4
03.01.2005, 13:54
najo sollte die beendigung der verschiedenen befehle bedeuten aber hier nochmal für dich im maker

~-~-> KLICK <-~-~ (http://berg.heim.at/anden/421340/wirbel.png)

Jamahl
03.01.2005, 14:09
Edit: Hat sich erledigt.
Aber Link hält ja normalerweise das schwert so komisch, wenn er die wirbelattacke auflädt. Wie mach ich das?
PS: Warum heißt das bei manchen "Loop" und bei manchen "Cycle"?

Fab4
03.01.2005, 14:42
das heißt immer loop und nur im auswahlmenü cycle

zu dem aufladen dann machste noch dazwischen, dass im cylce

<>if var0001=15
..<>playsoundeffekt schwertaufladen

wichtig hierbei ist, dass es in der schleife (cycle/loop) ist und das nicht >= sondern nur = drinne setht, weil sonst der sample alle 0,1 sekunden kommen würde

Jamahl
03.01.2005, 15:13
ich will folgendes:
schlag wenn nicht taste halten: ganz normal weiter
schlag wenn taste halten: link hält sein schwert bereit (so alsob er ausholt), nach 1 sekunde ist die attacke bereit. (wird durch kurzes blinken des schwerts und einen soundeffekt angezeigt)
wenn jetzt loslassen: wirbelattacke
wenn vorher loslassen: keine wirbelattacke

Bitte erklär mir wie genau sowas gemacht wird.

Deathball
03.01.2005, 15:31
Ok, zuerst nochmal zu Frage Nummer 2:
Ich gehe ganz einfach mal davon aus das du ein eigenes Menü benützt. So, wenn der Spieler auf den Speichern-Button drückt, kommt er nicht direkt zum Speichermenü. Zuerst wird z.B. per Variable seine derzeitige Map abgefragt(oder du machst es eben per Tab). Dann wird er auf eine leere Map teleportiert und DANN erst wird das Speichermenü aufgerufen. Wenn der Spieler wieder läd kommt er wieder auf die leere Map und dann machst du ein Event mit nem Autostart drinne das den Spieler dann wieder dorthin teleportiert wo er hinsoll.
Beispiel: Der Spieler befindet sich in einem Tempel und will Speichern. Er soll beim erneuten Laden des Spielstandes aber nicht dorthin kommen wo er derzeit ist, sondern an den Anfang des Tempels. Der Spieler drückst den Speichern-Button. Seine derzeitige Map ID wird abgefragt, er wird auf eine leere Map teleportiert und das Speichern-Menü wird aufgerufen. Er läd den Spielstand wieder und kommt wieder auf die leere Map, wo die Variable gecheckt wird in der seine alte Map ID ist. Der Wert der Variable gehört zu einer Map aus dem Tempel, also wird er per Teleport an den Anfang des Tempels zurückverfrachtet.
Anmerkung: Diese Idee ist nicht getestet, sollte aber funktionieren.

So, nun kommen wir zu Frage 3. Ich hab mir erlaubt ein kleines Skript zu schreiben, das zwar nicht besonders elegant ist, aber ich hoffe mal das es dir hilft. Es ist ein Beispiel dafür wie man einen Charakter rennen lassen kann(und dabei die Strg-Taste + eine Richtungstaste gedrückt halten muss).
Link: Wie, keine Verbindung zu meinem PC?!?! Was soll'n das??? Sorry, aber ich fürchte ich werde das Skript nachreichen müssen...

des lieben Frieden Willens noch eine kleine
Anmerkung: Das Skript benutzt Grafiken aus Tara's Adventure, genauer gesagt den normalen Tara und den rennenden Tara. Da dies nur ein kleines Beispiel sein soll hab ich mir erlaubt einfach ohne zu fragen die Grafiken zu nehmen. Falls aber doch jemand was dagegen haben sollte werde ich das Skript nicht ins Internet stellen...

cya
Deathball

edit: Mir fällt da grad nochwas ein. Dhan hatte mal ein kleines Skript geschrieben das dir vielleicht mit dem Tastenhalten hilft. Das hier müsste der direkte Link sein: http://dhan.de/maker/tastehalten.zip

Falls der nit klappt: einfach mal mit der Suchfunktion suchen. War glaube ich ein Tread von Don_Alexandro...

Fab4
03.01.2005, 15:54
ich will folgendes:
schlag wenn nicht taste halten: ganz normal weiter
schlag wenn taste halten: link hält sein schwert bereit (so alsob er ausholt), nach 1 sekunde ist die attacke bereit. (wird durch kurzes blinken des schwerts und einen soundeffekt angezeigt)
wenn jetzt loslassen: wirbelattacke
wenn vorher loslassen: keine wirbelattacke

Bitte erklär mir wie genau sowas gemacht wird.
oO wurde doch eigentlich alles gesagt was du brauchst oO

~-~-> KlÜÜÜCK <-~-~ (http://berg.heim.at/anden/421340/wirbel2.png)

ich bin jetzt einfach mal davon usgegangen dass du die schlag taste mit 6 belegt hast das loslassen mit 7 und esc fürs menü mit 8 (die 8 eigentlich unwichtig, war nur zur erklärung vom ersten event.

schreib mich mal in msn an wenn das noch nicht reicht, einfach per pn adresse geben

Jamahl
06.01.2005, 18:21
@Fab4: Danke für die hilfe!

Kleine Übersicht (auch für mich):

1. = ausstehend
2. = ausstehend
3. = erledigt
4. = erledigt

1. Punkt genauer erklärt:
ich will, dass sich in der rechten unteren bildschirmecke eine Map befindet, die aber net das gesamte gebiet umfasst, in dem man ist, sondern nur den näheren radius (also schon das ganze gebiet, aber immer nur einen bereich darin, also sodass sich eben die karte mitbewegt.
Und da das jetzt sehr unklar erscheinen sollte, habe ich hier eine grafik gemacht:
http://jamahl.250free.com/Kartebeispiel.jpg
Die Legende ist nur zur erklärung, was was ist. Es soll immer nur der nähere zoom in der unteren ecke angezeigt werden, die Map sollte sich also mitbewegen können. allerdings soll der Rand sich nicht mitbewegen.

2. Punkt genauer beschrieben:
Ich benutze ein eigenes Menü.
Etwas sollte nur passieren, wenn ich das Spiel lade, aber nicht, wenn es nur gespeichert wird.
Es soll Folgendes bewirken:
Ich speichere in einem Tempel, nichts weiter passiert.
Wenn ich aber diesen Spielstand lade, soll ich an den Anfang des Tempels teleportiert werden.