KeyDown() AnimateMD2, wie lautet es richtig?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

mevsmp

Betreff: KeyDown() AnimateMD2, wie lautet es richtig?

BeitragMo, Feb 20, 2006 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab die Befehle aus der Überschrift genommen und wollte eigendlich das wenn ich ein Key drücke, sich so lange das MD2 Animiert. Also so lange, solange ich den Key gedrückt halte.
Nach dem Befehl wie oben muss ich einmal den Key runterdrücken und die Ani startet, wenn ich dey Key weiter drücke, bleibt die Ani stehen. Sad

wie muss das ganze richtig lauten?

Jan_

Ehemaliger Admin

BeitragMo, Feb 20, 2006 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
nimm Keyhit
between angels and insects

darth

Betreff: ..

BeitragMo, Feb 20, 2006 15:51
Antworten mit Zitat
Benutzer-Profile anzeigen
keyhit() geht, aber ist für z.b. laufen nicht nützlich...
ich würde es (in etwa) so machen:
if keydown(taste) then
if anistart=0 then
animatemd2 wasauchimmer
anistart=1
endif
else
anistart=0
endif
aufwändig, und n bisschen kompliziert, aber es funktioniert...
Diese Signatur ist leer.
 

HW

BeitragMo, Feb 20, 2006 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
@Darthgamer: Da müsste noch hin, dass die Animation stahen bleiben soll, wenn die Taste nicht gedrückt wird. Da reicht es nicht, eine Variable auf 0 zu setzen.

darth

Betreff: ..

BeitragMo, Feb 20, 2006 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
hrm... stimmt :I
k, kleine ergänzung:

Code: [AUSKLAPPEN]

if keydown(taste) then
 if startani=0 then
  animatemd2 model,3,geschw,start,stopp ;3=animation 1x laufen lassen
  startani=1
 endif
 if md2animating(model)=0 then startani=0
else
 startani=0
endif


... hoffe hab diesmal nix vergessen Very Happy
Diese Signatur ist leer.
 

HW

BeitragMo, Feb 20, 2006 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, ich würde das so machen, dass es noch eine extra Animation fürs Stehen gibt (wird in großen, kommerziellen Spielen sogar angewandt - da kommen dann solche idle-Bewegungen rein) und ich diese dann ablaufen lasse, wenn der Spieler die Taste zum Laufen nicht mehr gedrückt hält.
 

mevsmp

BeitragDi, Feb 21, 2006 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
so habs jetzt ausprobiert. Funzt ganz gut, nur sollte die Animation wieder aufhören nachdem ich den Key losgelassen hab. Jetzt läuft die Ani immer weiter!

Please help.

Jan_

Ehemaliger Admin

BeitragDi, Feb 21, 2006 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
der 1. schritt sollte denken sein.

robsite.de hat sehr schöne Tutorials, die lernen auch den Umgang mit Variablen, und ihre bedeutung.

auf blitzbase.de findest du Befehle deren Benutztung, in der Kombination mit den ERlangten Wissen der robsite dir unheimlich weiter helfen sollten.
between angels and insects
 

mevsmp

BeitragDi, Feb 21, 2006 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Ich hab die Tuts schon gelesen.
2. Da die Beiden schon so Nett waren und mir geholfen haben, kann doch einer mal kurz beschreiben wie ich das kleine Problem Beheben kann.

BladeRunner

Moderator

BeitragDi, Feb 21, 2006 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
...nur wirst Du so nicht wirklich was lernen.
Tutorials liest man nicht nur durch, man sollte sie durcharbeiten. Und erst weitermachen wenn man die aktuelle Lektion verstanden hat.
Dein Problem lässt sich ganz einfach lösen wenn Du in Gedanken den Ablauf des Programmes durchspielst (oder den Debugger dafür verwendest). Was musst Du an welcher Stelle tun damit die Bewegung stoppt ?
Beantworte Dir die Fragen selber und Du wirst wirklich was lernen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

mevsmp

BeitragDi, Feb 21, 2006 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
ihr wisst doch sicherlich die antwort. wieso könnt ihr mir sie nicht kurz sagen??!! Ist doch bestimmt nur eine Kurze Zeile....

BladeRunner

Moderator

BeitragDi, Feb 21, 2006 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein klares nein.
Zeig dass Du dich bemühst und Du kriegst Hilfe, aber erwarte nicht dass wir für Dich deine Programme schreiben.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

HW

BeitragDi, Feb 21, 2006 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Noch eine Anmerkung: Deine Frage bezieht sich genau auf das, was genau über deiner Frage so schön geklärt wurde.
 

mevsmp

BeitragDi, Feb 21, 2006 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
immerhin befinden wir uns gerade im BEGINNERS CORNER.
Ich hab wirklich schon lange rumprobiert mit diesem code und mit selber geschriebenem.
Aber WIE soll ich dem sagen das die Ani gestoppt werden soll?! Es gibts doch keinen Befehl wie KeyUP ^^. If KeyDown() = 0 ..... geht auch net. Hab schon alles ausprobiert....


Naja "danke" für eure Hilfe. Echt schade

BladeRunner

Moderator

BeitragDi, Feb 21, 2006 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie du so schön festgestellt hast kann eine Taste 2 Zustände haben: up und down. Solange Down ist lässt du also die Ani laufen. Andernfalls stoppst du die Ani eben. Simple Logik. Grundlegend für alle Programme.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

HW

BeitragDi, Feb 21, 2006 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist das so schwierig?
1. Haben wir wie oben schon angemerkt das Problem bereits besprochen.
2. Gibt es da etwas, was man If...Endif nennt. KeyUp gibt es nicht, weil es vollkommen unnötig ist. Die Prüfungsgleichung ql:keydown =0 liefert genau dasselbe zurück. Ausserdem kann man in einer If Prüfung ql:else verwenden.
Wie kommst du darauf, dass KeyDown()=0 nicht funktionieren soll? Du hast es wahrscheinlich nicht richtig eingesetzt.
Lies dir am Besten noch mal durch, was da oben, über deiner Frage, steht.
 

mevsmp

BeitragDi, Feb 21, 2006 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das ist auch mein Problem:
Solange ich halte läuft die ANI. solls auch. Aber wenn ich LOSLASSE
läuft die immer noch weiter!!
 

HW

BeitragDi, Feb 21, 2006 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann gehe ich mal davon aus, dass du was falsch gemacht hast. Poste mal deinen Code, aber bitte nur den Teil für die Animationen.

BladeRunner

Moderator

BeitragDi, Feb 21, 2006 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann solltest du sie stoppen sobald der Fall eintritt das der Key nicht mehr gedrückt ist. Siehe dazu die Parameterliste von ql:animatemd2
und du solltest ja wissen wie das mit if .... then ... else funktioniert, immerhin hast du doch die Tutorials gelesen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group