Figur soll springen
Übersicht

![]() |
BlackPhönixBetreff: Figur soll springen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Ich versuche seit 2 Tagen mein Bild das ich auch schon laden konnte hüpfen zu lassen. Aber leider will es nicht funktionieren. Ich hoffe, jemand kann mir helfen. Hier der Code: Codetags eingefügt, thema gesplittet. BladeRunner Code: [AUSKLAPPEN] Print "Freddy´s Adventures 1.0" Print "Gib deinen Namen ein :" Spielername$=Input() ; Den Spieler auffordern, seinen Namen einzugeben. Print "Spielername:" + Spielername$ Print "Los Gehts !" WaitKey Graphics 800,600,0,2 ; Damit die Grafik auf den Bildschirm gezaubert wird. SetBuffer BackBuffer() y=480 ; Die Koordinaten von Freddy und dem Hintergrund. x=60 x7=1 y7=-160 y1=480 x1=60 Global frametimer=CreateTimer(60) SeedRnd MilliSecs() AppTitle "Freddys Adventures" Global Jump=KeyHit(44) Global Hintergrund1= LoadImage ("Freddy_Adventures_Hintergrund1.bmp") ; Um die Bilder zu laden. Global Hero= LoadImage ("Freddy1.bmp") Repeat If KeyDown(200) Then y=y-1 ; Die Steuerung von Freddy. If KeyDown(203) Then x=x-1 If KeyDown(205) Then x=x+1 If KeyDown(208) Then y=y+1 If KeyDown(203) Then x7=x7+1 ; Um die Täuschung vom laufen durch die Welt zu simulieren. If KeyDown(205) Then x7=x7-1 If KeyDown(200) Then y7=y7+1 If KeyDown(208) Then y7=y7-1 If KeyDown(203) And KeyDown (29) Then x=x-3 ; Die Funktion zum schneller laufen. If KeyDown(205) And KeyDown (29) Then x=x+3 If KeyDown(203) And KeyDown (29) Then x7=x7+3 If KeyDown(205) And KeyDown (29) Then x7=x7-3 If KeyHit(44) Then For Jump = 1 To 10 ; Die Funktion zum Springen(Noch nicht fertig)Dauer bis zum Sprung:10 sec. Delay(1000) DrawImage Hero,x1,y1 And y1=y1-30 Next ClsColor 0,0,0 Cls DrawImage Hintergrund1,x7,y7 ; Um die Bilder anzuzeigen. DrawImage Hero,x,y Flip Until KeyDown(1) End |
||
Mfg Chris |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gesplittet, da es in dem Thread in dem Du gepostet hast um den Transfer von Daten per Internet ging. Bitte sorgfältiger lesen und die Codetags für deinen Code benutzen. danke. | ||
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 |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
also als erstes mach das mit der Tastenabfrage mal anderst:
const up=200 const down=201 const left .... sry habe die TastenScanCodes nicht im Kopf. dann in der hauptschleife if keydown(up) then 1) 2) 3) endif so geht das schonmal schneller mit dem Springen, benutze eine Variable die die Höhe speichert. Dann kannste in der Mainschleife Drawimage ausführe. Für den Charakter nur einmal Drawimage und nicht in einer schleife. TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
BlackPhönix |
![]() Antworten mit Zitat ![]() |
---|---|---|
TimBo hat Folgendes geschrieben: also als erstes mach das mit der Tastenabfrage mal anderst:
const up=200 const down=201 const left .... sry habe die TastenScanCodes nicht im Kopf. dann in der hauptschleife if keydown(up) then 1) 2) 3) endif so geht das schonmal schneller mit dem Springen, benutze eine Variable die die Höhe speichert. Dann kannste in der Mainschleife Drawimage ausführe. Für den Charakter nur einmal Drawimage und nicht in einer schleife. TimBo Also: Zu 1. Ich habe den Richtungsvariablen jetzt werte zugeordnet. Und von denen soll ich dann bei eingabe was abziehen, oder wie ? Zu 2. Wenn ich z.B Const Sprunghöhe = 680 nehme was soll ich dann damit machen? Bitte um Antwort |
||
Mfg Chris |
EwokonCrack |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du könntest bei tastendruck einer variable einen bestimmten wert geben (True) und im selben schleifendurchlauf überprüfen, ob dieser wert nun "true" ist. sollte dies der fall sein, erhöhst du deine sprungvariable.
am ende (oder wo auch immer) gibst du nun den befehl: DrawImage Figur,figurx,figury-sprungvariable nun überprüfst du noch, ob die sprungvariable einen bestimmten wert erreicht. sobald deine variable z.B. 100 ist, wird sie nicht mehr erhöht sondern verringert. sollte so ersteinmal funktionieren |
||
![]() |
BlackPhönix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alles klar, danke euch für die hilfe.
Ich werd es gleich mal ausprobieren. |
||
Mfg Chris |
![]() |
BlackPhönix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry, es funkioniert immer noch nicht.
Ich hab es so versucht: Code: [AUSKLAPPEN] Global Sprung
Global Jump While KeyDown(44) If KeyDown(44) Then Sprung =1 If Sprung =1 Then Jump = -100 If Jump = 380 Then Jump = 480 Wend Was mach ich falsch ??? |
||
Mfg Chris |
![]() |
BlackPhönix |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlackPhönix hat Folgendes geschrieben: Sorry, es funkioniert immer noch nicht.
Ich hab es so versucht: Code: [AUSKLAPPEN] Global Sprung
Global Jump While KeyDown(44) If KeyDown(44) Then Sprung =1 If Sprung =1 Then Jump = -100 If Jump = 380 Then Jump = 480 Wend Was mach ich falsch ??? Das hab ich noch vergessen: Code: [AUSKLAPPEN] Drawimage Hero,x,y-Jump
|
||
Mfg Chris |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte benutze in Zukunft den Edit Button, Doppel- oder gar Triple-Posts sind nicht gerne gesehen und führen auch mal zum schließen eines Threads. | ||
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 |
EwokonCrack |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Graphics 800,600,24,2 SetBuffer BackBuffer() Global springen, sprungdauer, sprungart Global x=300, y=400 Const leertaste=57 Repeat Cls Rect x,y-sprungdauer,20,20 If KeyHit(leertaste) Then springen=True sprungart=1 EndIf If springen=True Then If sprungart=1 Then sprungdauer=sprungdauer+1 If sprungdauer=100 Then sprungart=2 ElseIf sprungart=2 Then sprungdauer=sprungdauer-1 If sprungdauer=0 Then springen=False EndIf EndIf Flip Forever das "rect" ist natürlich durch "drawimage" zu ersetzen. ich hoffe das kannst du so nachvollziehen! Mfg, SuggahFairy |
||
![]() |
BlackPhönix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Muss ich das in die Hauptschleife schreiben?
![]() |
||
Mfg Chris |
aletes |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Klar, du kannst es aber auch in eine Function schreiben, und dann in der Hauptschleife die Funktion aufrufen | ||
Kaddy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja das muss in die Hauptschleife, sonst würde dein Programm doch gar nicht mehr überprüfen ob die Taste gedrück wurde. | ||
Bin Aktuell auf der Suche nach einen Programmierer Team, ob Hobby Team oder Firma ist egal. Einfach eine PM an mich schreiben.
Bezahlung verlange ich NATÜRLICH keine ![]() Es gibt 10 arten von Menschen, die einen verstehen das Binärsystem , die anderen nicht ![]() ![]() |
![]() |
BlackPhönix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke euch für die vielen Tipps............thx | ||
Mfg Chris |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group