Am ruckeln
Übersicht

![]() |
@ndinhoBetreff: Am ruckeln |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Ich kapier die Welt nicht mehr, denn ich hab ein kleines Spiel programmiert "Eat the Dots" (kennen bestimmt einige ![]() und das neue game is nur am ruckeln, obwohl ich einen 1,8 GHz rechner habe, bitte helft mir!!! Code: [AUSKLAPPEN] AppTitle "Eat the Dots v1.1"
Type haus Field x,y End Type Type food Field x,y End Type Type rock Field x,y End Type Type scheisshaus Field x,y End Type Type food2 Field x,y End Type Type rock2 Field x,y End Type Function UpdatePlayer() If KeyHit(200) Or JoyY()<-0.5 dir=0 If KeyHit(205) Or JoyX()>0.5 dir=1 If KeyHit(208) Or JoyY()>0.5 dir=2 If KeyHit(203) Or JoyX()<-0.5 dir=3 Select dir Case 0 y=y-speed Case 1 x=x+speed Case 2 y=y+speed Case 3 x=x-speed End Select a=LoadImage("oben.bmp") b=LoadImage("unten.bmp") c=LoadImage("rechts.bmp") d=LoadImage("links.bmp") If dir=0 DrawImage a,x,y If dir=1 DrawImage c,x,y If dir=2 DrawImage b,x,y If dir=3 DrawImage d,x,y If Not RectsOverlap(x,y,30,60,0,0,790,610) status=0 End Function Function InitGame() x=320 y=240 speed=5 dir=1 status=1 For f2.food2=Each food2 Delete f2 Next For r2.rock2=Each rock2 Delete r2 Next For s.scheisshaus=Each scheisshaus Delete s Next For h.haus=Each haus Delete h Next For f.food=Each food Delete f Next For r.rock=Each rock Delete r Next For i=0 To 5 r.rock=New rock r\x=Rnd(100) r\y=Rnd(700) Next For i=0 To 15 f.food=New food f\x=Rnd(1000) f\y=Rnd(700) Next For i=0 To 0 s.scheisshaus=New scheisshaus s\x=Rnd(1000) s\y=Rnd(700) Next For i=0 To 0 r2. rock2=New rock2 r2\x=Rnd(1000) r2\y=Rnd(700) Next For i=0 To 15 f2.food2=New food2 f2\x=Rnd(1000) f2\y=Rnd(700) Next For i=0 To 0 h.haus=New haus h\x=Rnd(1000) h\y=Rnd(700) Next End Function Function UpdateRocksandFood() d=LoadImage("food.bmp") For f.food=Each food DrawImage d,f\x,f\y If RectsOverlap(x,y,30,60,f\x,f\y,30,60) speed=speed+0.2 Delete f essen=essen-1 EndIf Next c=LoadImage("fels.bmp") For r.rock=Each rock DrawImage c,r\x,r\y If RectsOverlap(x,y,30,60,r\x,r\y,30,60) status=0 EndIf Next e=LoadImage("Klo.bmp") For s.scheisshaus=Each scheisshaus DrawBlock e,s\x,s\y If RectsOverlap(x,y,30,60,s\x,s\y,20,60) speed=speed-1 Delete s EndIf Next fressen=LoadImage("fels2.bmp") For r2.rock2=Each rock2 DrawImage fressen,r2\x,r2\y If RectsOverlap(x,y,30,60,r2\x,r2\y,20,20) status=0 EndIf Next g=LoadImage("food2.bmp") For f2.food2=Each food2 DrawImage g,f2\x,f2\y If RectsOverlap(x,y,30,60,f2\x,f2\y,20,20) speed=speed+1 Delete f2 essen=essen-1 EndIf Next haus=LoadImage("haus.bmp") For h.haus=Each haus DrawImage haus,h\x,h\y If RectsOverlap(x,y,30,60,h\x,h\y,100,100) status=0 EndIf Next End Function Graphics 1024,768 SetBuffer BackBuffer() Global status=0,x#=0,y#=0,speed#=1,dir=1,essen=30 While Not KeyHit(1) Flip Cls Color 255,255,0 Rect 0,0,800,600,0 hintergrund=LoadImage("Hintergrund.bmp") TileImage hintergrund,0,0 Select status Case 0 Locate 100,100 Print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" Print "!!!!Sie spielen EAT THE DOTS v1.1!!!!" Print "" Print "Programmierung: André Timon" Print "" Print "Grafik: André Borjack" Print "" Print "" Print "Loading..." Print "" Print "Drücken Sie Enter" If KeyHit(28) InitGame() Case 1 UpdatePlayer() UpdateRocksandFood() Case 2 If essen=0 Then Cls Locate 100,100 Print "Press Enter To Start oder Drücken Sie Enter" If KeyHit(28) InitGame() End Select Wend While KeyDown(1) Flip Cls Wend RuntimeError "Vielen dank, dass Sie EAT THE DOTS v1.1 gespielt haben!" |
||
User posted image
Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800 Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic ![]() |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wo ist da die genaue programmstruktur??
Also die Hauptloop zb wo man was macht? Davon abgesehen: Die Grafiken vor/am Start laden, ich sehe da massig LoadImage in UpdateRocks was das ruckeln erzeugen wird, da das program so lange stehen bleibt bis geladen ist. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
- Zuletzt bearbeitet von Dreamora am Mi, Dez 08, 2004 21:19, insgesamt einmal bearbeitet
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auf den ersten Blick gehört
BlitzBasic: [AUSKLAPPEN] hintergrund=LoadImage(\"Hintergrund.bmp\") nicht in die Schleife. Dadurch wird das selbe Bild wieder und wieder geladen. |
||
![]() |
Randall Flagg |
![]() Antworten mit Zitat ![]() |
---|---|---|
wohin denn dann?
vor Graphics oder was? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein
Nach Graphics und vor die Hauptschleife In der Hauptschleife wird nichts mehr geladen, sondern nur noch angezeigt. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Merced |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast außerdem noch in Deinen Funktionen LoadImages stehen:
Zitat: a=LoadImage("oben.bmp") b=LoadImage("unten.bmp") c=LoadImage("rechts.bmp") d=LoadImage("links.bmp") Das ist aus der UpdatePlayer. Wie meine Vorredner gesagt haben, dass muss da raus sonst hast Du immer diese Ladevorgänge bei JEDEM EINZELNEN FRAME. Außerdem kleisterst Du Dir den Speicher zu, weil Du die Bilder nicht wieder löscht. Wichtig ist hierbei noch, dass Du die Variablen für die Bilder die Du in Funktionen verwenden willst GLOBAL definierst. Also etwa so: Code: [AUSKLAPPEN] Graphics 1024,768 SetBuffer BackBuffer() Global a, b, c, d ; und so weiter a=LoadImage("oben.bmp") b=LoadImage("unten.bmp") c=LoadImage("rechts.bmp") d=LoadImage("links.bmp") Global status=0,x#=0,y#=0,speed#=1,dir=1,essen=30 While Not KeyHit(1) ... Danach kannst Du die entsprechenden Bilder auch in den Funktionen verwenden. Tust Du das nicht dann sind a, b, c und d lokal, d.h. die Funktion wird sie jedesmal neu erstellen und wieder löschen wenn die Funktion vorbei ist. Achte hierbei darauf, dass Du keine Vraiable doppelt nimmst, Du hast beispielsweise d später nochmal in der zweiten update-Funktion verwendet. Außerdem rate ich dir durch Einrücken von Zeilen den Code etwas besser lessbar zu machen und eindeutigere Variablennamen als a,b,c zu vergeben ![]() |
||
http://www.starship-battles.de.vu
http://www.venture-interactive.de.vu |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Fehler sind ja schon erledigt,
Und für das einrücken der Zeilen, darf auch dieses Tool benutzt werden! BB CodeFormer http://people.freenet.de/rallimen/Basic |
||
[BB2D | BB3D | BB+]
|
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
@ Rallimen Fein Fein, diese methode muss ich mir auch mal abgucken wie man werbung für sein Produkt macht ![]() Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
und was soll der spam? das tool ist kostenlos. es kann ihm sch...egal sein obs einer nutzt (auch wenn es im Sinne der Com. wäre wenn es alle notorischen Nichteinrücker nutzen würden). | ||
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