Äpfel erscheinen nicht!
Übersicht

![]() |
SuratBetreff: Äpfel erscheinen nicht! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Folgender Jump-Run-code funzt net! Die Äpfel erscheinen irgendwie nicht! Hier der Code: Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() frametimer=CreateTimer(30) ClsColor 0,0,255 Global tile=LoadImage("block.png") MaskImage tile,255,255,255 Global jeff=LoadImage("jeff.png") MaskImage jeff,255,255,255 Global appel=LoadImage("appel.png") MaskImage appel,255,255,255 Global player_pos_x=500 Global player_pos_y=350 Global appel_x Global appel_y Global player_temp_y#=0 Global jump Global jumptimer# Const rauf=200,runter=208,rechts=205,links=203,space=57 Global anzahl=0 Global info.appel Type appel Field appel_x Field appel_y End Type Dim map(19,14) Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0 Data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 Data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 Data 1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0 Data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 For y=0 To 14 For x=0 To 19 Read map(x,y) Next Next .appel_level1 Data 25,64 Data 32,64 Data 64,64 Data 96,64 Data 128,64 Data 160,64 Data 448,64 Data 480,64 Data 512,64 Data 544,64 Data 576,64 Data 224,192 Data 256,192 Data 288,192 Data 320,192 Data 352,192 Data 32,320 Data 64,320 Data 96,320 Data 128,320 Data 160,320 Data 448,320 Data 480,320 Data 512,320 Data 544,320 Data 576,320 For i=1 To anzahl info.appel=New appel Read x,y info\appel_x=x info\appel_y=y Next Repeat Cls WaitTimer frametimer Drawmap() Movejeff() jumpi() DrawPlayer() DrawImage jeff,player_pos_x,player_pos_y drawappel() Flip Until KeyHit(1) End ;________________________________________________Drawmap______________________________________ Function Drawmap() For y=0 To 14 For x=0 To 19 If map(x,y)=1 Then DrawImage tile,x*32,y*32 EndIf Next Next End Function ;___________________________________________movejeff__________________________________________ Function Movejeff() ;Function um die Figur zu bewegen If KeyDown(links) Then ;Falls links gedrückt wird If map(player_pos_x /32,(player_pos_y +16) /32)=0 Then ;wenn Spielerposition / 32, weil die Tiles 32 * 32 groß sind ;PosY +16 um die Mitte zu bestimmen ;If Bedinung wird nur ausgeführt, wenn kein Tile neben der Figur ist. player_pos_x = player_pos_x -4 ; X-Position -4 If player_pos_x =< 0 Then player_pos_x = 1 ;Rand überprüfen EndIf ElseIf KeyDown(rechts) Then If map((player_pos_x +32) /32,(player_pos_y +16) /32)=0 Then Player_pos_x = Player_pos_x +4 If player_pos_x => 608 Then player_pos_x = 607 EndIf EndIf End Function ;ElseIf KeyDown(rauf) Then ; If map((player_pos_x +16) /32,player_pos_y /32)=0 Then ; Player_pos_y = Player_pos_y -4 ; If player_pos_y =< 0 Then player_pos_y = 1 ; EndIf ;ElseIf KeyDown(runter) Then ; If map((player_pos_x +16) /32,(player_pos_y +32) /32)=0 Then ; Player_pos_y = Player_pos_y +4 ; If player_pos_y => 448 Then player_pos_y = 447 ; EndIf ;EndIf ;____________________________________________jumpi____________________________________ Function jumpi() ;Überprüft ob Taste Space gedrückt wurde If KeyDown (space) Then If jump = False ;wenn Variable jump = 0 jump = True ;auf True setzen Player_temp_y = 7 ;Die Sprunghöhe setzen EndIf EndIf ;falls Player nach oben gegen Mauer springt, fällt er zurück If map((Player_pos_x +16) /32,Player_pos_y /32)=1 And jump = True Then jump = False Player_pos_y = Player_pos_y +1 ;muß um eins tiefer gesetzt werden, da sonst die Figur hängen bleibt EndIf ;die eigentliche Sprungroutine If jump = True Then Player_temp_y = Player_temp_y -0.33 ;Die Temporäre Variable verringern Player_pos_y = Player_pos_y - Player_temp_y ; Position Y durch TempY veringern ; Solange Temp_y eine positive Zahl ist, bewegt sich unsere Figur hoch, ; andernfalls runter. 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 EndIf ;Gravity 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 = 447 jump = False EndIf End Function Function DrawPlayer() DrawImage jeff, Player_pos_x, Player_pos_y End Function ;___________________________________________drawappel___________________________________ Function drawappel() For info.appel=Each appel DrawImage appel,info\appel_x,info\appel_y Next End Function Ich bin für jede Hilfe dankbar mfg felix ~Editiert~ Code-Tags eingefügt. |
||
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)
AZUON-Beyond the dark life (2%) SOULS OF DESTINY (23%) |
![]() |
IronstormErstklassiger Contest-Veranstalter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weis nicht obs daran liegt, aber musst du nicht für Jedes Feld (Also jeden Apfel) ein einzelnes Bild laden? Sprich so:
Code: [AUSKLAPPEN] Type appel Field appel_pic Field appel_x Field appel_y End Type Code: [AUSKLAPPEN] For i=1 To anzahl info.appel=New appel Read x,y info\appel_pic=Loadimage("appel.png") info\appel_x=x info\appel_y=y Next Sowie ist mir gerade aufgefallen ist die anzahl=0. Sollte die net höher als 1 sein??? MFG Blitzmaker |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, ein image reicht völlig, sonst müllt er sich ja restlos den Speicher zu. | ||
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 |
![]() |
Cent |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich fange auch erst neu an aber ich weiß das man Farbtiefe und Format eingeben muss also so:
Code: [AUSKLAPPEN] Graphics 640,480,Farbtiefe,Format
Format=1=Vollbild 2=Fenster |
||
User posted image |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nope, müssen muss man das nicht Cent. Es zeugt zwar von gutem Stil es zu tun, aber es geht auch ohne ![]() |
||
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 |
![]() |
Cent |
![]() Antworten mit Zitat ![]() |
---|---|---|
achso | ||
User posted image |
Gerhard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie Blitzmaker schon sagt: anzahl = 0 | ||
![]() |
Smokie |
![]() Antworten mit Zitat ![]() |
---|---|---|
KAnn es vielleicht sein,dass die Äpfel nicht Global sind. Füge den Code von der Function doch ma in die Schleife direkt ein. K.A. ob das das Prob ist.
Gruß Matze |
||
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer. Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet |
![]() |
IronstormErstklassiger Contest-Veranstalter |
![]() Antworten mit Zitat ![]() |
---|---|---|
BladeRunner hat Folgendes geschrieben: Nein, ein image reicht völlig, sonst müllt er sich ja restlos den Speicher zu.
*Aufn Kopf hau* Upps ![]() Ich war noch bei Blitz3D bei dem man jedes Objekt neu laden muss.^^ Solche Leichtsinnsfehler passieren mir öfters. Srry für die falsche Aussage. Blitzmaker |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Ich war noch bei Blitz3D bei dem man jedes Objekt neu laden muss.
Nicht wirklich. Siehe ql:copyentity und ql:copymesh . |
||
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 |
![]() |
IronstormErstklassiger Contest-Veranstalter |
![]() Antworten mit Zitat ![]() |
---|---|---|
-.-
Is ok, ich habs kapiert^^ |
||
Gerhard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Liegt's jetzt an anzahl=0 oder interessiert das keinen mehr? | ||
![]() |
Surat |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi! ![]() Danke für die Antworten. Ich hab den Fehler jetzt gefunden. Es liegt nicht bei anzahl=0! Es liegt daran, dass ich die anzahl gar nicht eingelesen habe!!! (erste zeile, datafeld) |
||
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)
AZUON-Beyond the dark life (2%) SOULS OF DESTINY (23%) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group