Himmel von links nach rechts fliegen lassen
Übersicht

BassmasterBetreff: Himmel von links nach rechts fliegen lassen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo ich hab ein Problem und zwar fliegt der himmel von links nach rechts und nicht von rechts nach links deshalb sieht es nicht realistisch aus wenn meine Figur durch den Weltraum rennt.
Hier ist mal ein Screen von meinem Programm: http://img-up.net/?up=sterneMyWIuZ.JPG Code: [AUSKLAPPEN] .begin Graphics 640, 480 SetBuffer BackBuffer() ; Bilder laden. Global stars = LoadImage("stars.png") ; Sterne Global runner = LoadAnimImage ("runner.png", 48, 56, 0, 12) ;figur Global frame ;figur bewegen For frame = 0 To 11 Step 1 Cls ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;sterne bewegen x_star = x_star + 3 If x_star = 201 Then x_star = 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Zeichnen TileImage stars, x_star, 1 DrawImage runner, 0, 425, frame Flip Delay 50 Next Gosub begin |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du brauchst offenbar noch wesentliche Grundlagen...
Kleiner Tipp: wenn Code: [AUSKLAPPEN] x_star = x_star + 3 den Hintergrund von links nach rechts verschiebt, was müsste man ändern um das umzukehren?
|
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
BigMaexle |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] x_star=x_star + 3
Du hast deinen eigenen Code nicht verstanden ![]() Wenn du verstanden hast wofür diese Zeile Code steht, müsstest du auch erkennen wie man dein Problem lösen kann EDIT: Ich werde alt und langsam |
||
--------------------------------------
Ich bin unfreiwillig ein Mitglied dieser kapitalistischen Gesellschaft, wo jeder Geldgeile Unternehmer an mein Geld will und ich selbst bei meinen Entscheidungen so gut wie willenlos bin...... und ich bin glücklich drüber |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab echt kp ![]() |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann lass programmieren sein und geh wieder in die erste Klasse.
Was ist das gegenteil von + ? |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
ähm.. sry... Ich glaub, die Richtung in die die Sterne fliegen ist echt dein geringstes Problem. Auch wenn das jetzt vlt etwas zuviel für dich ist, aber schau dir bitte Schleifenkonstrukte wie ql:Repeat und ql:While an.
Wenn du daraus eine Schleife zustande gebracht hast, setze Graphics und die Load-Befehle davor. So wie du das machst, glaub ich nicht an sehr hohen Spielspass. Das Graphikfenster wird etwa alle halben Sekunden neu erstellt... Denke dir mal ein Spiel, was alle halben Sekunden "abstürzt" und sich neu aufbaut. gn8, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok thx jetzt hab ich´s aber dein dummes Kommentar The_Nici das hättest du dir auch sparen können du kannst sich auch nicht alles und siehst auch nichts alles n/c Ich glaub du solltest er in die erste Klassen gehen bei deinem Verhalten das nur so neben bei ich will jetzt kein flame war anfang ich hab nähmlich kb auf so kiddy sachen.
Hier ist mein neuer Source Code: Code: [AUSKLAPPEN] Graphics 640, 480 SetBuffer BackBuffer() ; Bilder laden. Global stars = LoadImage("stars.png") ; Sterne Global runner = LoadAnimImage ("runner.png", 48, 56, 0, 12) ;figur Global frame While Not KeyHit(1) ;figur bewegen For frame = 0 To 11 Step 1 Cls ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;sterne bewegen x_star = x_star - 3 ;mit + und - kann man bestimmen ob das bild von rechts oder links kommen soll If x_star = 201 Then x_star = 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Zeichnen TileImage stars, x_star, 1 DrawImage runner, 0, 425, frame Flip Delay 50 Next Wend |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
So wie du dich anstellst gleichst mehr du einem kiddy, aber gut. Lassen wir das flamen und seien wir nette Menschen.
TileImage solltest du vor der Schleife aufrufen, soweit ich weiss. Hinter Graphics solltest du noch den Modus anhängen. Code: [AUSKLAPPEN] Graphics Breite,Höhe,Farbtiefe,Vollbild/Fenster/Skalierbar Da es sonst beim kompilieren etwas anders rauskommen kann. ![]() Mehr dazu unter BlitzBase. MfG |
||
BlackError |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey zusammen,
An dieser stelle würde ich dir noch den Befehl "maskimage" ans herz legen. dabei gibts du an, welche farbe bei deinem soldatenmännchen transparent sein soll. In deinem Fall das Rot oder was es nochmal ist. Sieht so ja ein wenig doof aus ![]() Und ein Boden wäre net schlecht. Was mir jedoch unlogisch erscheint, ist, dass du ein laufendes männchen und ein Himmel, hat, der sich bewegt. Läuft dein Soldat erst bei einem bestimmten Tastendruck, oder soll er mit dem Hintergrund einfach mitrennen`? Sonst würde ich es nämlich so machen: Code: [AUSKLAPPEN] If KeyDown(203) Then ; Wenn links gedrückt wird Soldat nach links bewegen If [Position des Soldaten] am linken Rand des Bildschirms Then x_star = x_star - 1 ;Sterne nach links bewegen End If End If If KeyDown(205) Then ;Wenn rechts gedrückt wird Soldat nach rechts bewegen If [Position des Soldaten] am rechten Rand des Bildschirms Then x_star = x_star + 1 ;Sterne nach rechts bewegen End If End If Eventuell noch die Figur (wenn du nach links läufst) spiegeln (damit sie nach links schaut) Hoffe das sind nützliche Anregungen für dein "Game" Falls du mal Fragen hast, kannst mir auch ne pm schreiben. Gruss BlackError |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ihr (The_nici und bassmaster) seid hiermit beide ermahnt - bleibt nett.
Daqs gilt insbesondere für Dich, The_Nici, wir hatten die Diskussion ja schonmal. Auch wenn es ihm an Grundlagen mangelt ist das kein Grund ausfallend zu werden. Wenn es Dir nicht passt: schweige. |
||
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 |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja eigentlich soll der laufen aber ich hab bisher nur das Robsite Tutorial gemacht und da steht halt so etwas nicht erklärt.
und mit dem MaskImage da weiss ich halt net welche Zahl für welche Farbe und so steht -.- Hat vielleicht wer ein Tutorial wo genau steht wie das mit diesme KeyDown und so funktioniert |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
www.blitzbase.de | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das bringt mir auch nichts -.-
If KeyDown(203) Then das weiss ich das dass für die linke taste is aber woher soll ich wissen was für rechts ist -.- Code: [AUSKLAPPEN] If KeyDown(203) Then ;und was jetzt hierzwischen soll um die figur zu bewegen weiss icht net -.- End If Also die Tutorials bei C++ sind irgendwie verständlicher^^ Solche Sachen stehen hier in einem Tutorial If KeyDown(links) Then tile = GetTile (LAYER_Level1_Map1, (Player_pos_x + scroll_x) /32, (Player_pos_y +16 + scroll_y) /32) da hab ich kp was das heissen soll |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Entweder du gehst bei www.blitzbase.de auf Tabellen und dann Scancodes oder du nimmst das Programm https://www.blitzforum.de/upload/file.php?id=2555. Wenn du es öffnest musst du die gewünschte Taste drücken und dann wird dir der Scancode der Taste angezeigt.
EDIT: Du musst dein Bild z.B. an "pos_x" zeichnen und dann wenn eine Taste gedrückt wird musst du "pos_x" vergrösern um nach Rechts zugelangen und verkleinern um nach Links zu gelangen. z.B. so: Code: [AUSKLAPPEN] If KeyDown(203) Then pos_x=pos_x-1 ;-->Links
;oder If KeyDown(205) Then pos_x=pos_x+1 ;-->Rechts |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
- Zuletzt bearbeitet von Der Eisvogel am So, Jan 13, 2008 15:55, insgesamt einmal bearbeitet
![]() |
Willi die Rübe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Marc-Peter schrieb schon den Link www.blitzbase.de . Da findest du auch eine Übersicht über die Scancodes mit denen man die Taste angibt.
Und nunja, Programmieren basiert immer auf einer logischen Denkweise. Du hast also ein Bild, dass du an einer festen Position malst: Code: [AUSKLAPPEN] DrawImage runner, 0, 425, frame
Das Bild mit dem Handle runner wird nun also an der Position 0 der X-Achse und an der Position 425 der Y Achse angegeben. Da du ja sicher auf www.Blitzbase.de die Befehle nachgeschaut hast, weisst du das ja schon ![]() So und du willst durch einen Tastendruck auf den Linkspfeil die Figur nach links bewegen. Und die Position des Bildes wird ja - wie oben geschrieben - durch den 2. und 3. Parameter von Drawimage angegeben. Da du ja weißt, dass die X Achse die horinzontale Achse ist, musst du du wohl den 2. Parameter irgendwie verändern. Die Lösung liegt auf der Hand, oder besser gesagt, in dem 3 Kapitel von Rob's BB Kurs: "Variablen und Felder" Das heißt du brauchst eine Integer(Ganzzahl) Variable, die die X Position beinhaltet. Diese gibst du dann in dem Drawimage Befehl als X Position an und jene Variable veränderst du auch mithilfe der Keydown Befehlen. Klingt doch eigenlitch einfach? ![]() Edit: Ok Marc-Peter war wieder schneller ![]() |
||
Ich habe keine Lösung, aber ich bewundere das Problem.
Tehadon Q6600, MSI Neo2-FR, 4GB Ram, nVidia 7800 GTX At the Farewell Party visit: MySpace | Homepage |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok das hab ich jetzt verstanden^^
Aber irgendwie klappt das net mit diesen Farbcodes der Farbcode für die Farbe die ich brauche ist so: 660066 Aber man kann da ja nur 3 verschiedene Zahlen eingeben. Und wie geht das jetzt das mit dem laufen -.- Code: [AUSKLAPPEN] Graphics 640, 480 , 32, 0 SetBuffer BackBuffer() ; Bilder laden. Global stars = LoadImage("stars.png") ; Sterne Global runner = LoadAnimImage ("runner.png", 48, 56, 0, 12) ;figur Global frame MaskImage runner ,6,6,0 While Not KeyHit(1) ;figur laufen lassen For frame = 0 To 11 Step 1 Cls ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;sterne bewegen x_star = x_star - 3 ;mit + und - kann man bestimmen ob das bild von rechts oder links kommen soll If x_star = 201 Then x_star = 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Zeichnen TileImage stars, x_star, 1 DrawImage runner, 0, 425, frame ;figur bewegen If KeyDown(203) Then ; was muss nu hier rein -.- End If Flip Delay 50 Next Wend ;das ist für die While Not KeyHit(1) Schleife |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dein Farbcode ist Hexdezimal, Blitz braucht die RGB-Werte. In deinem Fall wäre das 102, 0, 102
Damit kannst du die Werte umrechen -> http://www.homepage-total.de/t...erter.php# |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also:
Code: [AUSKLAPPEN] Graphics 640, 480 , 32, 0
SetBuffer BackBuffer() ; Bilder laden. Global stars = LoadImage("stars.png") ; Sterne Global runner = LoadAnimImage ("runner.png", 48, 56, 0, 12) ;figur Global frame,player_pos_x MaskImage runner ,102,0,102 While Not KeyHit(1) For frame = 0 To 11 Delay 50 Next TileImage stars, x_star, 1 DrawImage runner, player_pos_x, 425, frame x_star = x_star - 3 If x_star = 201 Then x_star = 1 ;figur bewegen If KeyDown(203) Then player_pos_x=player_pos_x-1 ;-->Links If KeyDown(205) Then player_pos_x=player_pos_x+1 ;-->Rechts Flip Wend So, jetzt aber. |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jetzt meint der Compiler wieder Image frame out of range ![]() ![]() ![]() ![]() egal was ich hier eingebe DrawImage runner, player_pos_x, 425, frame ich habs auch schon ohne die 425 ausprobiert aber dann ruckelt der himmel und so. |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry ich hatte es nicht ausprobiert, aber des:
Code: [AUSKLAPPEN] Graphics 640, 480 , 32, 0
SetBuffer BackBuffer() ; Bilder laden. Global stars = LoadImage("stars.png") ; Sterne Global runner = LoadAnimImage ("runner.png", 48,56, 0, 12) ;figur Global frame,player_pos_x,WarteZeit MaskImage runner ,102,0,102 While Not KeyHit(1) Cls TileImage stars, x_star, 1 DrawImage runner, player_pos_x, 300, frame If MilliSecs()-WarteZeit=>100 Then frame=frame+1 If frame=12 Then frame=0 WarteZeit=MilliSecs() EndIf x_star = x_star - 3 If x_star = 201 Then x_star = 1 ;figur bewegen If KeyDown(203) Then player_pos_x=player_pos_x-1 ;-->Links If KeyDown(205) Then player_pos_x=player_pos_x+1 ;-->Rechts Flip Wend bei mir funzt des aufjedenfall. |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group