pls schlägt verbesserungen vor
Übersicht

der anfängerBetreff: pls schlägt verbesserungen vor |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also ich habe ein spiel programmieren wollen, das leider in die hose ging also kann mir jemand ne verbesserte version schicken b.z.w. hier reinschreiben? also ich weiss nur nich wie ich das so hinkriege, dass jede 1 sekunde ein neuer ballon erscheint pls eine pm an mich
hier der code: Graphics 1680,1050,32,1 SetBuffer BackBuffer() ClsColor 255,255,255 Color 0,0,0 ziel = LoadImage("zielkreuz.bmp") muni = LoadImage("munition.bmp") ballon = LoadImage("guter ballon.bmp") waffe = LoadImage("sniper.bmp") MaskImage ziel,255,255,255 MaskImage muni,255,255,255 MaskImage ballon,255,255,255 MaskImage waffe,255,255,255 lebenballon = 1 timer = MilliSecs() zeit = 0 mun = 3 While Not KeyHit(28) x = MouseX() y = MouseY() If mun > 0 Then If MouseHit(1) Then mun = mun - 1 EndIf If RectsOverlap(x,y,1,1,100,100,200,200) Then If lebenballon = 1 Then If MouseHit(1) Then If mun > 0 Then If MouseHit(1) mun = mun - 1 zeit = 1 lebenballon = 0 EndIf EndIf EndIf EndIf If zeit = 1 Then If MilliSecs() - timer > 1000 Then timer = MilliSecs() lebenballon = 1 zeit = 1 EndIf EndIf If MouseHit(2) Then mun = 3 If MouseHit (1) Then mun = x-1 For schuss = 0 To mun - 1 DrawImage muni,schuss * 200,700 Next If MouseHit(2) DrawImage ballon, 300,400 DrawImage waffe,x,y If lebenballon = 1 Then DrawImage ballon,100,100 Line x - 20 , y - 20 , x - 2,y-2 Line x + 20 , y - 20 , x + 2,y-2 Line x + 20 , y + 20 , x + 2,y+2 Line x - 20 , y + 20 , x - 2,y+2 If MouseHit(1) lebenballon=1-1 Flip Cls Wend End |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn du deinen code strukturiert hast helf ich dir gern, aber so . . .
mach mal ein paar einrückungen, damit man erkennt, wann welche if-abfrsage aufhört. |
||
![]() |
Broken Arrow |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warum hast du keinen frame Timer
Das wär dann für mich viel einfacher , denn du müsstest nur eine neue Variable machen , die pro schleifen durchlauf plus eins geht x = x + 1 Und wenn x > 50 ist dann machst du einen neuen Ballon. und danach ist x = 0 hast du gar keine Types ? |
||
- Zuletzt bearbeitet von Broken Arrow am Sa, Mai 31, 2008 20:20, insgesamt einmal bearbeitet
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann ist das spiel aber auf langsamen pcs einfacher, als auf schnellen | ||
![]() |
Broken Arrow |
![]() Antworten mit Zitat ![]() |
---|---|---|
The Shark:
Dann ist das spiel aber auf langsamen pcs einfacher, als auf schnellen Broken Arrow: So ist es aber auch unterschiedlich schnell auf älteren Rechnern Oder lieg ich da Falsch ? ![]() |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
jo stimmt schon,. aber wenn die bewegungen noch frameunabhängig werden, dann ists überall gleich schnell.
also das mit der sekunde statt nach 50 frames ist schonmal ein guter anfang |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
bitte nutze in Zukunft die Codetags wenn Du Quellcode hinschreibst. | ||
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 |
![]() |
garret |
![]() Antworten mit Zitat ![]() |
---|---|---|
In deinem Fall bieten sich Type![]() Den Timer, der neue Ballons erstellt, brauchst du nicht mal mit einer Bedingung zu verknüpfen, da die Ballons ja automatisch erstellt werden sollen und nicht erst, wenn du den alten abgeschossen hast, oder? Dann reicht: Code: [AUSKLAPPEN] If MilliSecs() - BallonTimer > 1000 b.Ballon = New Ballon b\x = Rand(0,640) b\y = 500 BallonTimer = MilliSecs(); Timer zurücksetzen EndIf Dann gehst du später alle Type-Einträge durch und prüfst, ob ein Ballon abgeschossen wurde. Types sind ideal, wenn du die genaue Anzahl der Elemente, wie z.B. unregelmäßg erstellte Ballons, nicht kennst. MfG garret |
||
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group