|
Verfasser |
Nachricht |
Mangafreak
Halbprofi
Beiträge: 117
Gruppe: User
Registriert seit: Feb 2011
Status:
Offline
Danke erhalten: 58
|
[Lua] Mario - Schwarzer Streifen? O.o
Hallo Leute!
Ich hab mich mal an Lua versucht ;)
Komm auch soweit so gut klar, und hab mal versucht ein ganz kleines Super Mario Programm zu starten. Die Feinschliffe kommen nachher dann ;)
Aber mein Problem ist, dass wenn meine Figur von mir bewegt wird, sie auf ihrem weg durch den Bildschirm einen schwarz-braunen Streifen hinter sich lässt :/
Ich bitte euch Vorschläge zur Behebung des Problems!
Da ich nicht gerne Leute nerve, hab ich echt alles versucht, gegoogelt, ...
Das Problem ist, dass ich halt nicht weiß, wie das Problem zu Stande gekommen ist ^^
Hier ist mein Code:
-- Bilder laden
Mario = Image.load("mario.png")
Hintergrund = Image.load("Hintergrund.png")
-- Bewegungen
x = 1
y = 200
-- Hauptcode
while true do
pad = Controls.read()
screen:blit(0,0,Hintergrund,true) -- bereits mehrmals verstellt ;)
Hintergrund:blit(x,y,Mario,true) -- siehe oben
--Bewegungen
if pad:left() then
x = x - 1
end
if pad:right() then
x = x + 1
end
if pad:circle() then
System.Quit()
end
screen.flip()
screen.waitVblankStart()
end
Wenn es hilft: Ich hab den Code unter Lua Player für Windows und Lua Player Hm 7 getestet.
Vielleicht liegt es auch an den Bildern.
Ich weiss aber nicht ob ich sie hier posten darf^^
Hab sie nämlich von Google Bilder. Könnt ja gegen das Urheberrecht sein ( Hab keinen Schimmer von Jura :P )
Ich bin für jede Hilfe dankbar, ausser für solche Kommentare wie "Dafür ist es besser C++/C zu lernen", oder anderes. Ich weiss das und kann auch ein klein wenig C++ aber ich will es erstmal in Lua schaffen!
MfG Mangafreak
EDIT:
Zum besseren Verständnis, hab ich mich dazu entschlossen, Bilder hochzuladen.
Dieser Beitrag wurde zuletzt bearbeitet: 26.03.2011 10:10 von Mangafreak.
|
|
19.03.2011 17:42 |
|
|
|
xXAnonymXx
Banned
Beiträge: 447
Gruppe: Banned
Registriert seit: Sep 2010
Status:
Offline
Danke erhalten: 136
|
RE: [Lua] Mario - Schwarzer Streifen? O.o
FEHLER BEITRAG HABS BEARBEITET SRRY FÜR DIE DOPPELT POST
Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2011 18:31 von xXAnonymXx.
|
|
14.04.2011 18:28 |
|
|
|
xXAnonymXx
Banned
Beiträge: 447
Gruppe: Banned
Registriert seit: Sep 2010
Status:
Offline
Danke erhalten: 136
|
RE: [Lua] Mario - Schwarzer Streifen? O.o
-- Bilder laden
Mario = Image.load("mario.png")
Hintergrund = Image.load("Hintergrund.png")
-- Bewegungen
x = 1
y = 200
-- Hauptcode
while true do
screen:blit(0,0,Hintergrund,true) -- bereits mehrmals verstellt
Hintergrund:blit(x,y,Mario,true) -- siehe oben
pad = Controls.read()
--Bewegungen
if pad:left() then
x = x - 1
end
if pad:right() then
x = x + 1
end
if pad:circle() then
System.Quit()
end
screen.flip()
screen.waitVblankStart()
end
PS: srry für die doppelt post
PS2: wens nicht klappt dan liegts daran das du keine map erstellt hast
|
|
14.04.2011 18:30 |
|
|
|
shaplayer
King
Beiträge: 2.821
Gruppe: User
Registriert seit: Sep 2010
Status:
Abwesend
Danke erhalten: 2753
|
RE: [Lua] Mario - Schwarzer Streifen? O.o
1.Ich sehe die Bilder nicht...
2.Kommt eine Fehlermeldung,nachdem dieser Streifen kam?
Wenn ja poste die....dann können wir dir noch schneller helfen
|
|
14.04.2011 18:34 |
|
|
|
Italia-boy
King
Beiträge: 2.834
Gruppe: User
Registriert seit: Oct 2010
Status:
Offline
Danke erhalten: 1161
|
RE: [Lua] Mario - Schwarzer Streifen? O.o
Ja wie gesagt vielleicht hast du nur ein Hinterfrund Bild und keine Map... diese lädt dann nur einmal und nachdem ein anders Bild drüber ist ist auch shcon schluß :/
Für den anfang reicht es wenn du ein paar kleine grasbüschel nimmst
Xbox - Fanboy ^^
|
|
14.04.2011 18:37 |
|
|
|
dark-awesome
stehn
Beiträge: 3.204
Gruppe: Banned
Registriert seit: Jul 2010
Status:
Offline
Danke erhalten: 2192
|
RE: [Lua] Mario - Schwarzer Streifen? O.o
Ähm jo ganz logisch das alte Bild wird nicht gelöscht daher überlappen sie sich.
Tja in C könnte ich dir helfen
Aber Lua naja ich schau mal.
Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2011 18:55 von dark-awesome.
|
|
14.04.2011 18:55 |
|
|
|
xXAnonymXx
Banned
Beiträge: 447
Gruppe: Banned
Registriert seit: Sep 2010
Status:
Offline
Danke erhalten: 136
|
RE: [Lua] Mario - Schwarzer Streifen? O.o
Ähm jo ganz logisch das alte Bild wird nicht gelöscht daher überlappen sie sich.
ja genau des wegen braucht man eine map oder einen bg ^^
|
|
14.04.2011 18:56 |
|
|
|
Noir
Profi
Beiträge: 380
Gruppe: User
Registriert seit: Feb 2011
Status:
Abwesend
Danke erhalten: 380
|
RE: [Lua] Mario - Schwarzer Streifen? O.o
screen:clear()
in die while schleife einfügen ;D
Away
|
|
14.04.2011 19:13 |
|
|
|
dark-awesome
stehn
Beiträge: 3.204
Gruppe: Banned
Registriert seit: Jul 2010
Status:
Offline
Danke erhalten: 2192
|
RE: [Lua] Mario - Schwarzer Streifen? O.o
So muss es gehen (hab es auch getestet)
-- Bilder laden
Mario = Image.load("mario.png")
Hintergrund = Image.load("Hintergrund.png")
-- Bewegungen
x = 1
y = 200
-- Hauptcode
while true do
pad = Controls.read()
screen:blit(0,0,Hintergrund,true)
screen:blit(x,y,Mario,true)
--Bewegungen
if pad:left() then
x = x - 1
screen:clear()
screen:blit(0,0,Hintergrund,true)
screen:blit(x,y,Mario,true)
end
if pad:right() then
x = x + 1
screen:clear()
screen:blit(0,0,Hintergrund,true)
screen:blit(x,y,Mario,true)
end
if pad:circle() then
System.Quit()
end
screen.flip()
screen.waitVblankStart()
end
Wie du siehst habe ich das Hintergrund:blit.. in screen:blit... gerändert.
Weil es einfach unnötig war
PS: Ich würde es noch so machen das man nicht über den Bildschirmrand kann
Mario = Image.load("mario.png")
Hintergrund = Image.load("Hintergrund.png")
x = 1
y = 200
...code...
if pad:left() and x >= 1 then -- wenn die variable x 1 ist kann die Taste nicht mehr verwendet werden biss die Variable wieder höher ist
x = x - 5
screen:clear()
screen:blit(0,0,Hintergrund,true)
screen:blit(x,y,Mario,true)
end
if pad:right() and x <= 440 then -- wenn die variable x 440 ist kann die Taste nicht mehr verwendet werden biss die Variable wieder niedriger ist (ps: die musst du verändern je nach dem wie groß dein Bild ist
x = x + 5
screen:clear()
screen:blit(0,0,Hintergrund,true)
screen:blit(x,y,Mario,true)
end
...code...
Edit sorry vergesst den ersten Code
Hier ist er noch mal richtig. Fällt mir gerade ein:
-- Bilder laden
Mario = Image.load("mario.png")
Hintergrund = Image.load("Hintergrund.png")
-- Bewegungen
x = 1
y = 200
-- Hauptcode
while true do
pad = Controls.read()
--Bewegungen
if pad:left() and x >= 1 then
x = x - 5
end
if pad:right() and x <= 440 then
x = x + 5
end
if pad:circle() then
System.Quit()
end
screen:blit(0,0,Hintergrund,true) -- bereits mehrmals verstellt ;)
screen:blit(x,y,Mario,true)
screen.flip()
screen.waitVblankStart()
end
das es auch so geht
Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2011 21:16 von dark-awesome.
|
|
14.04.2011 19:31 |
|
Folgende User bedanken sich: |
|
Mangafreak
Halbprofi
Beiträge: 117
Gruppe: User
Registriert seit: Feb 2011
Status:
Offline
Danke erhalten: 58
|
RE: [Lua] Mario - Schwarzer Streifen? O.o
Tschuldigung das ich nicht mehr antworten konnte, doch ich bin für ein paar Tagen weggefahren...
Also: Ich hab mir den Code von stehn angekuckt und verstanden woran das Problem lag.
Ich bedanke mich hier herzlich um alle Hilfen, auch wenn einige vielleicht nicht so hilfreich waren!
Denn ich bin auch der Meinung, dass oft nur der Will zählt!
Der Thread kann geschlossen werden.
MfG Mangafreak
|
|
19.04.2011 16:31 |
|
|
|