Fallen
Übersicht

joni8aBetreff: Fallen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, ich möchte ein programm schreiben wo eine spielfigur herunter fällt wenn er nicht mehr auf einem stein steht.
So sieht der code immoment aus: Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() Global pr=LoadImage("pr.bmp") Global pl=LoadImage("pl.bmp") Global g=LoadImage("g1.bmp") Global bro=LoadImage("bro.bmp") Global sil=LoadImage("sil.bmp") Global s=LoadImage("s1.bmp") Global tank=100 Global x=300 Global y=190 Global ok=1 MaskImage s,255,0,255 MaskImage pr,255,0,255 Repeat Cls DrawImage s,299,221 DrawImage pr,x,y If KeyDown(200) Then x=x+1 If ImagesCollide(pr,x,y,0,s,299,221,0) Then ok=1 Else ok=0 If ok=0 Then Repeat y=y+1 Until ok=1 Flip Until KeyHit(1) Nun sind aber zwei sachen aufgefallen erstens ich kann den spieler(pr) nicht genau auf den gegenstand plazeiren, und wenn der spieler den stein nicht mehr berührt bewegt er sich nicht nach unten kann jemand mir den fehler erkälren und vielleicht ein beispielcode geben. Danke |
||
![]() |
pixelshooter |
![]() Antworten mit Zitat ![]() |
---|---|---|
schreib statt deiner Schleifer folgendes:
Code: [AUSKLAPPEN] ...
Repeat Cls DrawImage s,299,221 DrawImage pr,x,y If KeyDown(200) Then x=x+1 If Not ImagesCollide(pr,x,y,0,s,299,221,0) Then y = y + 1 Flip Until KeyHit(1) Dein Problem ist: du verschiebst zwar die Koortdinate der spielfigur, aber du zeichnest sie nicht neu ein^^ |
||
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc |
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Fehler war einfach die Schleife und das fehlende Endif.
Denn die Schleife mit y=y+1 wird die ganze Zeit ausgeführt wenn ok=0 ist. In dieser schleife kann ok aber nicht eins werden, womit es zu einer endlosschleife wird. hättest du das endif nach der schleife hingeschrieben, hättest du das bemerkt. so hat er einfach nichts gemacht. |
||
Projekte: Geolaria | aNemy
Webseite: chaosspace.de |
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, VIELEN dank nun funktionierts | ||
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hätte da noch eine frage wie würde ein grundgerüst für ein LVL editor sein | ||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
ein array wo du die map speicherst, mann kan tiles auswählen und mit der maus platzieren. (dazu braucht man mousex, mousey, mousehit)
und dann ließt du die map aus und speicherst sie in einer datei (dafür brauchst du writeint, writestring usw) |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstens:
Editbutton benutzen, keine Doppelposts. Sonnst gibts ärger mit den Mods hier im Forum. Zweitens: Suchfunktion des Forums nutzen, oder ins Codearchiv schauen! Dann hättest du DAS gefunden. Ist nicht der beste, aber simpel ! |
||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe nun meinen eigenen editor programmiert aber ich weiss nicht wie mann .dat dateien erstellt. Muss ich dazu auch den editor benutzen.
joni8a |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
r=writefile("File.dat")
das Dateiformat musst du dir selbst ausdenken. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das verstehe ich nicht hier ist der code vielleicht kannst du es mir daran erklären oder vielleicht findest du einen fehler
Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() Global ende=0 Global datei Dim map(10,10) Dim grafik(4) Global mx=MouseX() Global my=MouseY() Global c=1 For x=0 To 9 For y=0 To 9 map(x,y)=1 Next Next For x= 1 To 4 grafik(x)=LoadImage("tile"+Str$(x)+".bmp") Next While ende=0 Cls If KeyHit(1) Then datei=WriteFile("map.dat") For x=0 To 9 For y=0 To 9 WriteLine datei,map(x,y) Next Next CloseFile "map.dat" ende=1 If KeyHit(2) Then c=1 If KeyHit(3) Then c=2 If KeyHit(4) Then c=3 If KeyHit(5) Then c=4 If c=5 Then c=1 If mx<10*30 Then mx=mx/30 If my<10*30 Then my=my/30 If MouseHit(1) Then map(x,y)=c For x=0 To 9 For y=0 To 9 DrawBlock grafik(map(x,y)),x*30,y*30 Next Next DrawBlock grafik(c),mx*30,my*30 Color 255,0,255 Rect mx*30,my*30,30,30,0 Flip Wend End |
||
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe mein broblem gelöst nun habe ich aber ein neues: Warum kann ich die tiles nicht via maus verschieben?3
Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() Global datei Dim map(10,10) Dim grafik(4) Global mx=MouseX() Global my=MouseY() Global c=1 For x=0 To 9 For y=0 To 9 map(x,y)=1 Next Next For x= 1 To 4 grafik(x)=LoadImage("tile"+Str$(x)+".bmp") Next Repeat Cls datei=WriteFile("map.dat") For y=0 To 9 For x=0 To 9 WriteLine datei,map(x,y) Next Next CloseFile datei If KeyHit(2) Then c=1 If KeyHit(3) Then c=2 If KeyHit(4) Then c=3 If KeyHit(5) Then c=4 If c=5 Then c=1 If mx<10*30 Then mx=mx/30 If my<10*30 Then my=my/30 If MouseHit(1) Then map(x,y)=c For x=0 To 9 For y=0 To 9 DrawBlock grafik(map(x,y)),x*30,y*30 Next Next DrawBlock grafik(c),mx*30,my*30 Color 255,0,255 Rect mx*30,my*30,30,30,0 Flip Until KeyHit(1) End |
||
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo kann mir einer sagen warum dieseas code überhaupt nicht funktioniert
Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() Global datei Dim map(10,10) Dim grafik(4) Global mx Global my Global ende Global c=1 For x=0 To 9 For y=0 To 9 map(x,y)=1 Next Next For x= 1 To 4 grafik(x)=LoadImage("tile"+Str$(x)+".bmp") Next While ende=0 Cls If KeyHit(1) Then datei=WriteFile("map.dat") For y=0 To 9 For x=0 To 9 WriteLine datei,map(x,y) Next Next CloseFile datei If KeyHit(2) Then c=1 If KeyHit(3) Then c=2 If KeyHit(4) Then c=3 If KeyHit(5) Then c=4 If c=5 Then c=1 If MouseX<10*30 Then mx=MouseX()/30 If MouseY<10*30 Then my=MouseY()/30 If MouseDown(1) Then map(mx,my)=c EndIf For x=0 To 9 For y=0 To 9 DrawBlock grafik(map(x,y)),x*30,y*30 Next Next DrawBlock grafik(c),MouseX()*30,MouseY()*30 Color 255,0,255 Rect mx*30,my*30,30,30,0 Flip Wend End |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Noch ein Doppel oder Triplepost und ich mach dicht. Du sendest 3mal hintereinander unübersichtlichen, uneingerückten Code ohne eine genaue Fehlerbeschreibung. Das motiviert nicht grade zur Mithilfe. | ||
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group