3Fehler im Code (Jump&Run) paar Zeilen, bitte mitsuchen!
Übersicht

![]() |
rezoadBetreff: 3Fehler im Code (Jump&Run) paar Zeilen, bitte mitsuchen! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo.
Im Folgenden Code stecken 3Fehler: 1) Einmal wird gesagt, dass "End Function" keine "Function" hat! 2) Der Spieler kann durch die "Balken" laufen 3) Wenn der Spieler runterfällt, kommt eine Fehlermeldung und ich weiß nicht, welche Zahl geändert werden muss! | Grundlagen| Tile2.bmp Dude2.bmp (Kann sie nicht hochladen, sind im Jump-Tutor(1) von Robsite!!) Zitat: ; -| Adventure |-
; ;************************************************* ; ; _ _ __ ___ ___ ;| | | \ \ / | |\ | --|-- | | |__| | ;|_| | | \ / |-- | \ | | | | | \ |-- ;| | |_/ \/ |__ | \| | |__| | \ |__ ; ;************************************************* ;Grundlagen Graphics 1024,768, 32 Color 240,0,0 fontvariable = LoadFont("Verdana",12) SetFont fontvariable SetBuffer BackBuffer() frametimer = CreateTimer (30) ClsColor 255, 255, 255 ;------------------------------------------------- ; --- Globals --- Global hero = LoadAnimImage ("dude2.bmp", 32, 32, 0, 8) MaskImage hero, 255, 0, 255 Global Balken = LoadImage ("tile2.bmp") MaskImage Balken, 255, 0, 255 Global Player_pos_x = 200 Global Player_pos_y = 320 Global Player_temp_y# = 0 Global Player_Counter = 8, Player_Frame = 0 ;SpielerFrame Global jump Global jumptimer# Dim map (20,15) Restore mapdata For y=0 To 14 For x=0 To 19 Read map(x,y) Next Next ; --- Const! ---- Const rauf = 200, runter = 208, rechts = 205, links = 203, space = 57 ;--------------------------------------------------------------------- ;! ! ! ! ! ! ! ! Die Hauptschleife ! ! ! ! ! ! ! ! ! ! ! ! ! ! Repeat Cls WaitTimer (frametimer) Drawmap() Movehero() DrawPlayer() Collision() KlickAndSpeech() DoJump() Flip Until KeyHit (1) End ;--------------------------------------------------------------------- ;Functionen Function Drawmap() For y = 0 To 14 For x = 0 To 19 If map(x,y) = 1 Then DrawImage Balken, x*32, y*32 EndIf Next Next End Function Function Movehero() If KeyDown(links) Then;links Player_pos_x = Player_pos_x -4 If Player_Frame <4 Then Player_Frame = 4 Player_Counter = Player_Counter -1 If Player_Counter = 0 Then Player_Counter = 8 Player_Frame = Player_Frame +1 If Player_Frame = 8 Then Player_Frame = 4 EndIf If Player_pos_x =< 0 Then Player_pos_x = 1 EndIf If KeyDown(rechts) Then;rechts Player_pos_x = Player_pos_x +4 If Player_Frame >3 Then Player_Frame = 0 Player_Counter = Player_Counter -1 If Player_Counter = 0 Then Player_Counter = 8 Player_Frame = Player_Frame +1 If Player_Frame = 4 Then Player_Frame = 0 EndIf If Player_pos_x => 608 Then Player_pos_x = 607 EndIf End Function Function DrawPlayer(); Spieler soll dargestellt werden DrawImage hero, Player_pos_x, Player_pos_y,Player_Frame End Function Function Collision(); Der Spieler soll nicht gegen die "Balken" laufen dürfen! If ImagesCollide (Balken, mapdata, mapdata, 0, hero, Player_pos_x, Player_pos_y, 0) Then Print "moep. Das tut weh, oder ! DIE AERZTE SIND COOOOOOOOL!" EndIf If jump = False Then If map((Player_pos_x +16) /32,(Player_pos_y +32) /32)=0 Then ; Sollte kein Tile unter dem Spieler sein jump = True ; Sprungfunktion weiter ausführen Player_temp_y = 0 ; Temp_y = 0, weil diese einen negativen Wert berechnen soll EndIf EndIf ;sorgt dafür, das die Figur nicht aus den Himmel schießt If Player_pos_y =< 0 Then Player_pos_y = 1 jump = True Player_Temp_y = 0 EndIf If Player_pos_y => 448 Then Player_pos_y = 448 jump = False EndIf If Player_temp_y =< 0 Then ; Sobald Temp_y den Wert 0 erreicht hat If map((Player_pos_x +16) /32,(Player_pos_y +32) /32)=1 Then ;überprüft, ob sich ein Tile unter dem Spieler befindet jump = 0 temp = Player_pos_y /32 ;\ Player_pos_y = temp *32 ;/ Setzt die genaue Y-Position, falls die Figur mitten im Tile steht EndIf EndIf End Function ;|Spieler soll fallen Function DoJump() If jump = True Then Player_temp_y = Player_temp_y -2.33 Player_pos_y = Player_pos_y - Player_temp_y If Player_temp_y =< 0 Then If map((Player_pos_x +16) /32,(Player_pos_y +32) /32)=1 Then jump = 0 temp = Player_pos_y /32 Player_pos_y = temp *32 EndIf EndIf EndIf If jump = False Then If map((Player_pos_x +16) /32,(Player_pos_y +32) /32)=0 Then jump = True Player_temp_y = 0 EndIf EndIf ;was hier vorne steht, ist damit er runterfällt ;die eigentliche Sprungroutine If jump = True Then Player_temp_y = Player_temp_y -0.33 Player_pos_y = Player_pos_y - Player_temp_y End Function; HIER IST DOCH EINE FUNCTION! DA OBEN! "Function Dojump()" !! Function KlickAndSpeech(); Sobald man mit der Maus auf eine bestimmte Stelle geht, ; erscheint ein Text! ;---| Für Balken in Sichthöhe |--- If MouseX() > 310 If MouseX() < 350 If MouseY() > 280 If MouseY() < 320 Then Text 20,30, "Mmh, ich müsste näher drangehen um es genau erkennen zu können." Text 20,40, "So, mmh... es scheint der gleiche simple Balken zu sein,wie auf dem" Text 20,50, "ich hier stehe, oder? Aber man darf ja nichts unterschätzen, denn" Text 20,60, "es könnte ja ein hochentwickeltes ... ääh ..." Text 20,70, "ein hochentwickeltes ... puh .... ... ääh ... Dingsbums ... ach.." Text 20,80, "ES IST EIN BALKEN, MANN!" EndIf EndIf EndIf EndIf ;---| Ende : für balken | --- End Function ;------------------------------------------------------------------------- ;|MAPDATA| .mapdata Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 Data 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; --- Probleme --- ; ; 1) Die Kollision funktioniert nicht! ; 2) Die Figur kann nicht komplett nach unten fallen! ; 3) Fehlermeldung! Danke für eure Hilfe! |
||
Bis denne,
Mathias __________________________________________ AMD Athlon64 | Sapphire Radeon 9800 | G.E.I.L. 512MByte PC3200 DDR | Seagate S-ATA 80GByte | Windows 2000 Pro |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich will ja nicht spamen, aber hierfür ist jeder zweite Coder zu faul.
zu 1.) Wo denn ? zu 3.) Was für eine Fehlermeldung ? Denk' dran den Debug Modus einzuschalten. MfG |
||
![]() |
BlitzerBetreff: Vergessen! |
![]() Antworten mit Zitat ![]() |
---|---|---|
1)
Du hast Vergessen, bei If ein Endif! Code: [AUSKLAPPEN] If jump = True Then
Player_temp_y = Player_temp_y -0.33 Player_pos_y = Player_pos_y - Player_temp_y End Function; HIER IST DOCH EINE FUNCTION! DA OBEN! "Function Dojump()" !! 2 und 3) musst du selber schaffen |
||
Nichts ist mehr so wie es einmal war mit
------------------Blitzbasic------------------ Athlon 3000+, 1 GBRam DDR, Geforce FX 5500, 120 GB Fesplatte Sempron 2200+, 512 MBRam DDR, Geforce FX 5200, 60 GB Festplatte |
BasicTobi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
doch nicht ![]() |
||
Gruß Tobi |
![]() |
rezoad |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo.
Ich bin Newbie und habe schon versucht, 2 und 3 zu schaffen, aber wenn ich es erfolgreich beendet hätte, würde ich hier ja nicht posten. Deshalb helft mir bitte, ich weiß nicht, was ich machen muss. Sagt es mir und ich lerne aus meinen Fehlern! Danke, Mathias |
||
Bis denne,
Mathias __________________________________________ AMD Athlon64 | Sapphire Radeon 9800 | G.E.I.L. 512MByte PC3200 DDR | Seagate S-ATA 80GByte | Windows 2000 Pro |
![]() |
Henry |
![]() Antworten mit Zitat ![]() |
---|---|---|
In den Beispiel Dateien, die mit BlitzBasic installiert werden, gibt es wenigstens zwei Beispiele zu der Thematik.
Schau sie Dir an, gehe die Beispiele durch und lerne daraus wie es die meisten hier auch gemacht haben. |
||
Aiya Eärendil Elenion Ancalima!
All you have to decide is what to do with the time that is given to you. • Robsite.de ist eine Anlaufstelle für Tutorials und Tools, die Noobs das Leben leichter machen! • Forensuche ist nicht nur als Lückenfüller in den oberen Links gedacht! |
![]() |
rezoad |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo.
Habe ich gemacht, habe ich sogar direkt verglichen die Codes, aber dass der immer noch durch die Balken laufen kann, versteh ich nicht. Genauso, dass der nicht bis auf den Boden fällt... hab schon fast alle Zahlen geändert!! BITTE HELFT MIR! (Das mit der Function habe ich behoben) |
||
Bis denne,
Mathias __________________________________________ AMD Athlon64 | Sapphire Radeon 9800 | G.E.I.L. 512MByte PC3200 DDR | Seagate S-ATA 80GByte | Windows 2000 Pro |
zocker2150 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: 2) Der Spieler kann durch die "Balken" laufen
Code: [AUSKLAPPEN] Function Collision(); Der Spieler soll nicht gegen die "Balken" laufen dürfen!
If ImagesCollide (Balken, mapdata, mapdata, 0, hero, Player_pos_x, Player_pos_y, 0) Then Print "moep. Das tut weh, oder ! DIE AERZTE SIND COOOOOOOOL!" EndIf Wird hier auch nicht verboten! ![]() Hier machst du ja nur etwas WENN er auf einem "Balken" steht. Wenn du mal den Tabulator benützt wirst du den fehler auch sehen. |
||
![]() |
Bigmichi |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich schau mri den code an wenn ich das Prog auch starten kann das heißt auch deine Grafiken udn bla ahb pack das alles machs zum download und ich mach mcih auf fehlersuche ich denke mal so würden dir auch direkt mehr helfen wen sie den code starten können =) | ||
![]() |
rezoad |
![]() Antworten mit Zitat ![]() |
---|---|---|
zocker2150 hat Folgendes geschrieben: Zitat:
2) Der Spieler kann durch die "Balken" laufen
Code: [AUSKLAPPEN] Function Collision(); Der Spieler soll nicht gegen die "Balken" laufen dürfen!
If ImagesCollide (Balken, mapdata, mapdata, 0, hero, Player_pos_x, Player_pos_y, 0) Then Print "moep. Das tut weh, oder ! DIE AERZTE SIND COOOOOOOOL!" EndIf Wird hier auch nicht verboten! ![]() Hier machst du ja nur etwas WENN er auf einem "Balken" steht. Wenn du mal den Tabulator benützt wirst du den fehler auch sehen. Mmh, aber was muss ich dann machen? Ich seh da nicht raus, dass es nur horizontal gilt, oder geht es hier um das "if" ? Bis denne, Mathias |
||
Bis denne,
Mathias __________________________________________ AMD Athlon64 | Sapphire Radeon 9800 | G.E.I.L. 512MByte PC3200 DDR | Seagate S-ATA 80GByte | Windows 2000 Pro |
![]() |
rezoad |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bigmichi hat Folgendes geschrieben: ich schau mri den code an wenn ich das Prog auch starten kann das heißt auch deine Grafiken udn bla ahb pack das alles machs zum download und ich mach mcih auf fehlersuche ich denke mal so würden dir auch direkt mehr helfen wen sie den code starten können =)
Ja, tut mir leid, bei meinem Webspace-Anbieter kann ich nur Daten mit max. 100kb hochladen und ich glaube die eine Datei ist größer als 100kb. Sry, aber eventuel mach ichs bald bei tripod.de |
||
Bis denne,
Mathias __________________________________________ AMD Athlon64 | Sapphire Radeon 9800 | G.E.I.L. 512MByte PC3200 DDR | Seagate S-ATA 80GByte | Windows 2000 Pro |
![]() |
Bigmichi |
![]() Antworten mit Zitat ![]() |
---|---|---|
solltest mal dein Popup Blocker ausschalten un bei deeinenNachrichten mal schauen ![]() |
||
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Möglichkeit zu der Kollision: Du musst dir die Richtung merken (in Variablen), in die der Spieler läuft und ein Feld vorher schon die Kollision testen!
Gruß Timo |
||
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nun, als ich Wokozz' Odysee gecodet habe, hatte ich auch oft mit solchen Problemen zu tun. Aber um die zu lösen reichen oft Beschreibungen nicht aus. Also wenn du die Möglichkeit hast, die Bilder und halt die ganzen Externen Detein des Programms ins Internet zu laden und dann als Download hierhin zu stellen, könnte man das Programm auch wirklich starten und sehen, was du meinst. Also ich denke, das würde die Fehlersuche etwas beschleunigen. Wenn du die Möglichkeit nicht hast, könntest du auch jemanden anheuern, der dirdie sachen hochläd (z.B. mich ![]() |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group