Sprung Funktion
Übersicht
 BlitzMax, BlitzMax NG 
 Beginners-Corner| 
								 | 
							
								LeroyBetreff: Sprung Funktion | 
							
								 Antworten mit Zitat  | 
						
|---|---|---|
| 
								Hallo,
 ich habe wie soll es auch anders sein ein Problem. Und zwar möchte ich gerne ein Sprung-Funktion realisieren. Leider komme ich zu keinem Ergebnis das gut aussieht und vor allem auch Funktioniert. Was mir das ganze noch schwerer macht: Eine If Abfrage die Bewirkt falls der Player gerade nicht mit der Map bzw. auf dem entsprechenden Layer der Map Kollidiert das y = y + 1 ist. Ist also eine Anziehungskraft ^^ Code: [AUSKLAPPEN]  If layer_map_collision(mylayer,x,y,blub) And jp = 0
 
DrawText "KOLI - OBJEKT-",20,80 Else y = y + 1 EndIf Ich würde mich über Hilfe beim erstellen Sprung-Funktion freuen Mfg. Leroy  | 
						||
| 
								 | 
							
								Markus2 | 
							
								 Antworten mit Zitat  | 
						
|---|---|---|
| 
								Mit einer Kraft x erzeugst du eine Beschleunigung die solange
 die Y Geschwindigkeit erhöht bis deine Sprung höhe erreicht ist oder x mal durch laufen ist . Die Anziehungskraft ist immer da und wirkt solange man in der Luft ist . Also eine Kraft wirkt nach oben und die andere halt nach unten . Wenn du ein Collisions Layer für Wände hast ist es egal ob man in der Luft ist oder am Boden steht . Wenn du über Dächer laufen willst muß du halt nen neuen Layer machen je nach höhe . Wenn du den Spieler in der Luft optisch vergrößerst mußte den Layer mit dem original Bild prüfen .  | 
						||
| 
								 | 
							
								Leroy | 
							
								 Antworten mit Zitat  | 
						
|---|---|---|
| 
								das verstehe ich nicht? 
 Code-Beispiele helfen mir doch mehr ^^ Habe es mal so probiert: Code: [AUSKLAPPEN] If Keydown(KEY_SPACE) then y = y - 1 end if Sieht aber irgendwie net schön aus und gefällt mir nicht...  | 
						||
								Dreamora | 
							
								 Antworten mit Zitat  | 
						|
|---|---|---|
| 
								Pseudocode
 Code: [AUSKLAPPEN] ' Im Input Handling If keydown(sprungTaste) kraft = kraft + 30 endif ' Im Updatecode der Physik kraft = kraft - 9 ty = Spieler.y + kraft If ty unterhalb des Bodens Setze Spieler auf Boden Setze Kraft 0 Endif Fertigen Code gibt es nicht, dafür bist du Programmierer. wenn du lieber designst, empfehle ich GameMaker, welcher schon Grundsysteme und komplette Beispielprogramme hat.  | 
						||
| Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. | ||
| 
								 | 
							
								Markus2 | 
							
								 Antworten mit Zitat  | 
						
|---|---|---|
| 
								Code:  [AUSKLAPPEN]  Graphics 640,480,0 MainLoop() Function MainLoop() Local t:TTimer=CreateTimer(60) Local y:Double=0 Local ySpeed:Double=0 Local Jump:Int=0 While Not KeyHit(KEY_ESCAPE) WaitTimer t If KeyHit(KEY_Space)>0 And Jump=0 Then Jump=1 EndIf If Jump>0 Then ySpeed=ySpeed+0.2 Jump=Jump+1;If Jump>30 Then Jump=-Jump EndIf ySpeed=ySpeed-0.1 y=y+ySpeed If y<0 Then y=0;ySpeed=0;Jump=0 x=x+1;If x>640 Then x=x-640;Cls SetColor 255,255,255 DrawLine 0,400,640,400 SetColor 255,0,0 DrawOval x,400-y,4,4 Flip Wend End Function  | 
						||
Übersicht
 BlitzMax, BlitzMax NG 
 Beginners-Corner
					Powered by phpBB © 2001 - 2006, phpBB Group
				
