Frage zu Source Code
Übersicht

BassmasterBetreff: Frage zu Source Code |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich gucke mir gerade das Scrollen von maps an. Nur diesen Teil vom Source Code verstehe ich nicht wo ist da der Sinn das Programm funktioniert auch ohne diese Sachen. Würde das später irgendwelche Fehler oder Nachteile verursachen wenn ich das einfach rauslasse ?^^ Code: [AUSKLAPPEN] ;die variable xo wird solange aa > 0 ist erhöht xo = xo + 1 ;wenn xo den wert 16 erreicht hat wird aa wieder auf 0 gesetzt und der kollisionsparameter ;py wird verändert, danach wird xo wieder auf 0 gesetzt If xo = 16 Then aa = 0:py = py + 1:xo = 0 Hier ist der komplette Code Code: [AUSKLAPPEN] Graphics 640,480,16,0 ;setbuffer initialisieren SetBuffer BackBuffer() ;die benötigten variablen Global ppx = 10*32 ;X-Position des Charackters Global ppy = 7*32 ;Y-Position des Charackters Global py = 7 ;Kollisions X-Position des Charackters Global px = 10 ;Kollisions Y-Position des Charackters Global scrolly ;Die Variable für die ScrollY-Position Global scrollx ;Die Variable für die ScrollX-Position ;die benötigten bilder Global char = LoadImage("char.bmp") Global Tileset = LoadAnimImage("tileset.bmp",32,32,0,6) ;die map-array Dim map(20,20) ;die Karte Data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4 Data 4,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,3,3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,4 Data 4,0,0,0,3,3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 Data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 ;einlesen und die zahlen der Tiles in der array speichern For y = 0 To 20 For x = 0 To 20 ;einlesen der werte aus der data map in die array Read map(x,y) Next Next ;start der hauptschleife Repeat ;unnütze graficreste löschen Cls ;esc-taste zum beenden abfragen If KeyDown(1) Then Exit ;die 20*20 tiles große map laden For x = 0 To 20 For y = 0 To 20 ;malt die karte an der positon x*32,y*32 und man kann die variablen scrollx und scrolly ;von außen manipulieren, um so scrolling zu erzeugen DrawBlock tileset,x*32-scrollx,y*32-scrolly,map(x,y) Next Next ;malt den charackter den du steuerst DrawImage char,ppx-scrollx,ppy-scrolly Text 0,0,py Text 0,10,px ;_____________________Bewegungsrutinen für die einzelnen pfeil-tasten________________________________ ;diese rutinen funcktionieren ganz einfach, solange aa größer 0 ist bleiben sie ;acktiv und es wird gescrollt ;pfeilrunter-taste If move = 1 Then ;wenn der wert aa größer 0 ist wird fortgesetzt If aa > 0 ;solange der wert aa größer 0 ist wird um 2 pixel weiter gescrollt scrolly = scrolly + 2 ;die sichtbare figur wird bewegt ppy = ppy + 2 ;die variable xo wird solange aa > 0 ist erhöht xo = xo + 1 ;wenn xo den wert 16 erreicht hat wird aa wieder auf 0 gesetzt und der kollisionsparameter ;py wird verändert, danach wird xo wieder auf 0 gesetzt If xo = 16 Then aa = 0:py = py + 1:xo = 0 End If End If ;pfeilhoch-taste If move = 2 Then If aa > 0 scrolly = scrolly - 2 ppy = ppy - 2 xo = xo + 1 If xo = 16 Then aa = 0:py = py - 1:xo = 0 End If End If ;pfeillinks-taste If move = 3 Then If aa > 0 scrollx = scrollx - 2 ppx = ppx - 2 xo = xo + 1 If xo = 16 Then aa = 0:px = px - 1:xo = 0 End If End If ;pfeilrechts-taste If move = 4 Then If aa > 0 scrollx = scrollx + 2 ppx = ppx + 2 xo = xo + 1 If xo = 16 Then aa = 0:px = px + 1:xo = 0 End If End If ;rechs-taste If KeyDown(205) Then ;kollision checken, wie ihr es schon kennt If map(px+1,py) < 1 Then ;der nächste tastatur-eingabe-impuls wird möglich sobald aa weniger als 1 wert ist ;das heißt in der zeit wo keine tastatur-eingabe erfolgen kann wird zur zeit gescrollt If aa < 1 Then ;die scrollrutine move = 4 wird aufgerufen move = 4 ;aa nimmt den wert 1 an dadurch kann man erst wieder auf eine taste drücken, wenn ;aa < 1 wird aa = 1 End If End If End If ;lings-taste If KeyDown(203) Then ;kollision checken, wie ihr es schon kennt If map(px-1,py) < 1 Then If aa < 1 Then move = 3 aa = 1 End If End If End If ;;;;;;;;;;;;;;; Flip Forever ;images wieder freigeben FreeImage tileset FreeImage char ;beenden End |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weiß jetzt nach kurzem drüberfliegen auch nicht, wozu man diese Stellen (und diese Variablen) braucht.
Aber danke, du hast mir gerade mit diesem Code den Appetit aufs Mittagessen verdorben. Wo hast du das Zeug her? Tutorial? Gib mir die EMail vom Verfasser, der gehört mal richtig zamgeschissen. (Sry für den Audruck) Selber geschrieben? Dann nimm dir folgende Dinge zu Herzen, die mich (und viele andere) an diesem Code stören: Variablenbezeichnung: Null Sinn. Kein Mensch weiß, wofür diese Vars stehen. Code einrücken: Man rückt den Code nicht nach Lust und laune ein, sondern man rückt sinngemäß zusammenhängende Blöcke ein (If-Endif, Repeat-Until, While-Wend, Function-End Function,...) Rechtsschreibung: "Rutine", "funcktionieren", Groß/Kleinschreibung. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
http://www.robsite.de/tutorials.php?tut=blitzbasic
RPG-Tutorial 5 Icq Nummer und email Adresse von dem Autor des Tutorials ^^ BlitzBasicUser@aol.com ICQ: ( 130150217 ) In Tutorial 2 hat er sich für seine Rechtschreibfehler entschuldigt weil er angeblich unter Zeitdruck war aber das geile ist die anderen Tutorials sind auch voller Rechtschreibfehler aber naja egal man weiss ja was gemeint ist. Man kann froh sein das leute sich die Zeit nehmen und solche Tutorials für anderen Kostenlos zur verfügung stellen. Aber das war ja nicht das Thema ^^ |
||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
durch die variablen weiss er, ob der player einen kompletten schritt gemacht hat, d.h. auf einem neuen feld steht.
er scrollt 16x jeweils 2 pixel (felder sind 32x32 pixel) sobald 16 mal gescrollt wurde, steht der player logischerweise auf einem neuen feld. klar fällt das optisch nicht auf, wenn du den code weglässt. er wird aber später für collisionsroutinen benötigt: (nur ein Beispiel...checken ob Monster neben Player ist:) Code: [AUSKLAPPEN] if map(px+1,py+1)= monster then gPlayerDead = TRUE
L8er, PSY (edit) willst nen boulderdash-clone schreiben? ![]() |
||
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ne ich will kein boulderdash-clone schreiben ich weiss net mal was das ist^^
Ich will halt erst mal nur den Source Code verstehen und hinterher selber aufbauen können dann sehe wir mal weiter ^^ ty für die antwort |
||
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab noch eine Frage woher soll denn eigentlich das Programm wissen ob move = 2 oder 1 ist ![]() Und woher soll das Programm wissen ob aa > 0 ist O___o |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bassmaster, keine Doppelposts bitte oder ich muss schliessen. Du kannst den Edit-Button( ![]() Danke. Was deine Frage betrifft: irgendwann wird move ja festgelegt, entwerder in einer festen Zuweisung ( move = 1), oder aber als Berechnung (move = 2*alpha+xyz). Egal wie die Wertezuweisung zustandekommt, der letztmalig zugewiesene Wert ist der den das Programm benutzt. Deine zweite Frage beantwortet sich genau so. Ist aa >0 wird das programm passend verzweigen. Ich denke Du hast noch große Defizite was deinen Wissenstand um Variablen angeht. http://de.wikipedia.org/wiki/V...mierung%29 - ist zwar nicht auf Blitz bezogen aber erklärt es schonmal. |
||
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jo sry wegen dem post.
stimmt move = 1 ganz unten irgendwo im source code steht das ich bin halt davon ausgeangen das alles oben deklariert wurde ... thx Also kann man bei Blitz Basic ein und der selben Variable mehrere Wert zu weissen ? Ich kenn das halt nur von C++ da würde das halt nicht gehen. Code: [AUSKLAPPEN] #include <iostream> // bibliotheks datei für die befehle using namespace std; // damit man nicht schreiben muss std::cout<< int main() { int a=1; // deklarierte Variable cout<<a; // cout gibt die 1 aus int a=2; cout<<a; // hier soll die 2 ausgeben werden aber geht ja net weil a = 1 ist getchar(); //wartet auf eingabe vom user } da kommt dann die meldung a bereits deklariert. |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Off-Topic:
Die Email-Adresse existiert nicht mehr. Ich hab meine Worte in taten umsetzen wollen und bekam vom Mail-Provider ne Error-Nachricht zurück. Naja, nachrennen werd ich dem Ersteller nicht für sein Tutorial. Was ich aber dazu noch sagen möchte: Ich finde dieses Tutorial schlechter als einige, die hier im Forum gepostet wurden und seh nicht ein, wie dieses Tut es auf die robsite geschafft hat... On-Topic: In Blitz ist es dasselbe wie in deinem C-Beispiel Code: [AUSKLAPPEN] Local a=1
Debuglog a Local a=2 Debuglog a WaitKey() End Probiers aus.. In Blitz endet es mit "Duplicate variable name". Das heißt, du kannst natürlich NICHT einer Variable 2 Werte zuweisen. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
natürlich kann man einer Variable mehrfach Werte zuordnen, sonst wäre es sehr mühsam zu programmieren.
Der Fehler den ihr macht ist dass ihr die Variable zwei mal zu deklarieren (sprich anzulegen) versucht. Das quittiert der Compiler natürlich mit einem Fehler. Aber es ist kein Problem sowas zu machen Code: [AUSKLAPPEN] local a=1
print a a=2 print a oder in c: Code: [AUSKLAPPEN] int a=1; // deklarierte Variable
cout<<a; // cout gibt die 1 aus a=2; cout<<a; Nochmal: Deklarieren geht nur einmal, zuweisen beliebig oft (wenns nicht als ql:const ante deklariert wurde) |
||
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 |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
So gesehen ja. Ich dachte, er will einer Variable gleichzeitig 2 Werte zuweisen ![]() |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was genau ist an dem Tutorial so schlecht also mit der Rechtschreibung von dem Autor kann ich leben^^
Aber wie siehts mit dem Source Code aus ich will ja schließlich nicht "falsches" Programmieren lernen. |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also nochmal, was an dem Tutorial (aus meiner Sicht! Ich will jetzt nicht unbedingt darüber diskutieren) schlecht ist:
-) Die Variablenbezeichnungen sind schlecht gewählt. Ich habs mir nochmal genau angesehen und großteils ist es eh ok, aber mit den Bezechnungen "xo" und "aa" fängt man nichts an. Das zum Beispiel find ich gut: Code: [AUSKLAPPEN] Global scrolly ;Die Variable für die ScrollY-Position
Und das ist schlecht: Code: [AUSKLAPPEN] ;die variable xo wird solange aa > 0 ist erhöht
xo = xo + 1 Kein Wunder, dass du nicht wusstest, was diese variablen tun. -) Der Code ist unübersichtlich. Erstens sind die Einrückungen nicht sinnvoll gesetzt, sodass binnen kürzester Zeit die Frage kommt "Warum sagt er mir 'Forever without Repeat'" (oder ähnliche Fehler). Das sind einfach Paradebesipiele wie man sich selbst das Leben schwer macht. Rück den Code vernünftig ein und du siehst event. fehlende Kontrollbefehle (Endif, Wend, Next,...) sofort ohne Nachzudenken. Außerdem werden Doppelpunkte verwendet. Macht funktional keinen großen UNterschied, aber macht den Code auch unübersichtlicher für den Coder. Der letzte kleine Kritikpunkt: Wie du wahrscheinlich weißt, muss man "Then" nicht unbedingt setzen, aber an sollte sich ein einheitliches Schema überlegen und dieses durchziehen. nicht so wie hier: Code: [AUSKLAPPEN] If move = 2 Then
If aa > 0 scrolly = scrolly - 2 .... So. Das wars von meiner Seite. Ich hoffe du verstehst meine Kritik. (und die anderen auch) mfG, Christoph. EDIT: Ich hab den Code für die Bewegung umgeschrieben, wie er mir besser gefällt. Dabei konnte ich mir die Variable aa übrigens schenken. Code: [AUSKLAPPEN] Select move
;Runter Case 1 ;Spielerposition ändern scrolly = scrolly + 2 ppy = ppy + 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter = 16 Then py = py + 1 counter = 0 move = 0 EndIf ;Rauf Case 2 ;Spielerposition ändern scrolly = scrolly - 2 ppy = ppy - 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter=16 Then py = py - 1 counter = 0 move = 0 EndIf ;Links Case 3 ;Spielerposition ändern scrollx = scrollx - 2 ppx = ppx - 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter=counter+1 If counter = 16 Then px = px - 1 counter = 0 move = 0 EndIf ;Rechts Case 4 ;Spielerposition ändern scrollx = scrollx + 2 ppx = ppx + 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter = 16 Then px = px + 1 counter = 0 move = 0 EndIf End Select ;Cursor Rechts If KeyDown(205) Then ;Kollision checken, wie ihr es schon kennt If map(px+1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=4 wird aufgerufen move = 4 End If End If End If ;Cursor Links If KeyDown(203) Then ;Kollision checken, wie ihr es schon kennt If map(px-1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=3 wird aufgerufen move = 3 End If End If End If ;Cursor Rauf If KeyDown(200) Then ;Kollision checken, wie ihr es schon kennt If map(px,py-1) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=2 wird aufgerufen move = 2 End If End If End If ;Cursor Runter If KeyDown(208) Then ;Kollision checken, wie ihr es schon kennt If map(px,py+1) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=1 wird aufgerufen move = 1 End If End If End If |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Thx Eingeproggt für die antwort.
Ich hab da mal ein paar Sachen raugenommen da ich froh bin wenn meine Figur erst mal nur nach links und rechts laufen kann^^ Aber wieso kann ich jetzt nicht mit case 1 anfange O_o Code: [AUSKLAPPEN] Select move ;Links Case 1 ;Spielerposition ändern scrollx = scrollx - 2 ppx = ppx - 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter=counter+1 If counter = 16 Then px = px - 1 counter = 0 move = 0 EndIf ;Rechts Case 2 ;Spielerposition ändern scrollx = scrollx + 2 ppx = ppx + 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter = 16 Then px = px + 1 counter = 0 move = 0 EndIf End Select ;Cursor Rechts If KeyDown(205) Then ;Kollision checken, wie ihr es schon kennt If map(px+1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=4 wird aufgerufen move = 4 End If End If End If ;Cursor Links If KeyDown(203) Then ;Kollision checken, wie ihr es schon kennt If map(px-1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=3 wird aufgerufen move = 3 End If End If End If Wenn ich es so mache dann geht es Code: [AUSKLAPPEN] Select move ;Links Case 3 ;Spielerposition ändern scrollx = scrollx - 2 ppx = ppx - 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter=counter+1 If counter = 16 Then px = px - 1 counter = 0 move = 0 EndIf ;Rechts Case 4 ;Spielerposition ändern scrollx = scrollx + 2 ppx = ppx + 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter = 16 Then px = px + 1 counter = 0 move = 0 EndIf End Select ;Cursor Rechts If KeyDown(205) Then ;Kollision checken, wie ihr es schon kennt If map(px+1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=4 wird aufgerufen move = 4 End If End If End If ;Cursor Links If KeyDown(203) Then ;Kollision checken, wie ihr es schon kennt If map(px-1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=3 wird aufgerufen move = 3 End If End If End If und müsste nicht eigentlich noch irgendwas über dem Select move stehen o_O Weil so geht das ja z.b. auch net Code: [AUSKLAPPEN] Global x Input("Gib eine Zahl ein: ") Select x Case 1 x = 1 Print "test 1" Case 2 x= 2 Print "test 2" Default Print "default" End Select Wenn dann muss man das ja so machen Code: [AUSKLAPPEN] x = Input("Gib eine Zahl ein: ") Select x Case 1 Print "test 1" Case 2 Print "test 2" Default Print "default" End Select |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Teile meines Codes rausnehmen ist zwar nicht schlecht zum Anschauen, aber er ist nur als ganzes funktionsfähig.
Was ich nicht dazu gesagt habe und du anscheinend nicht auf die Schnelle erkannt hast: Die Select-Variable "move" wird durch Tastendruck weiter unten festgelegt (KeyDown-Abfragen). Die Sache mit input ist absolut nicht angebracht, weil wphl kaum jemand seine Figur mit Texteingabe steuern will. mfG, Christoph |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja aber wieso geht es nicht wenn ich da case 1 hinschreibe o_O
Irgendeine Logik muss da doch hinterstecken Code: [AUSKLAPPEN] Select move ;Links Case 1 ;Spielerposition ändern scrollx = scrollx - 2 ppx = ppx - 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter=counter+1 If counter = 16 Then px = px - 1 counter = 0 move = 0 EndIf ;Rechts Case 2 ;Spielerposition ändern scrollx = scrollx + 2 ppx = ppx + 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter = 16 Then px = px + 1 counter = 0 move = 0 EndIf End Select ;Cursor Rechts If KeyDown(205) Then ;Kollision checken, wie ihr es schon kennt If map(px+1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=4 wird aufgerufen move = 4 End If End If End If ;Cursor Links If KeyDown(203) Then ;Kollision checken, wie ihr es schon kennt If map(px-1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=3 wird aufgerufen move = 3 End If End If End If |
||
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ahhh jetzt hab ichs so gehts :>
Code: [AUSKLAPPEN] Select move ;links Case 1 ;Spielerposition ändern scrollx = scrollx - 2 ppx = ppx - 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter=counter+1 If counter = 16 Then px = px - 1 counter = 0 move = 0 EndIf ;Rechts Case 2 ;Spielerposition ändern scrollx = scrollx + 2 ppx = ppx + 2 ;Variable, die zählt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter = 16 Then px = px + 1 counter = 0 move = 0 EndIf End Select ;Cursor Rechts If KeyDown(205) Then ;Kollision checken, wie ihr es schon kennt If map(px+1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=4 wird aufgerufen move = 2 End If End If End If ;Cursor Links If KeyDown(203) Then ;Kollision checken, wie ihr es schon kennt If map(px-1,py) < 1 Then ;der nächste Tastatur-eingabe-impuls wird möglich sobald die vorige Bewegung abgeschlossen ist ;das heißt in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=3 wird aufgerufen move = 1 End If End If End If |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das trifft sich gut, wo der Thread durch deinen erneuten Doppelpost eh geschlossen werden muss.
~GESCHLOSSEN~ |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group