Rätselhaftes Ruckeln

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Justus

Betreff: Rätselhaftes Ruckeln

BeitragSa, Sep 24, 2005 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich weiß nicht wieso, aber folgender Code produziert einen springenden Clown, der allerdings nach einem bestimmten Schema zu ruckeln anfängt !?

Die Zustände wechseln etappenweise im Stil

Normales Springen >
Phase mit kleinen Rucklern >
Normales Springen >
kleine Ruckler >
usw.

Woran liegt das? Ich habe mich bereits für meine EInlieferung in die Nervernklinik vorbereitet, aber Simi hat bei dem Code das gleuiche Phänomen.

1.10 BMAX und noch nen Syncmod gemacht, daran kanns nicht liegen...

Hier der Code:

Code: [AUSKLAPPEN]
'----------------
'Globale Variablen
'----------------
Global startspeed# = 17.0
Global clown_x# = 400
Global clown_y# = 300
Global speed# = 10
Global gravi# = 0.3
Global ani
Global bg_angle


Graphics 800,600,0,60
SeedRnd MilliSecs()


SetMaskColor 255,0,255
AutoMidHandle 1
Global img_clown                 = LoadAnimImage                ("clown.png",48,63,0,3)

SetClsColor 255,255,255

Repeat
        Cls

                DrawImage img_clown,clown_x,clown_y,ani
                clown_y# = clown_y# + speed#
                speed# = speed# + gravi#
               
                If clown_y > 600-ImageHeight(img_clown) Then
                        speed# = -startspeed
                EndIf
               
               
        Flip
        FlushMem()
Until KeyHit(KEY_ESCAPE)


Und die Clowngrafik:

user posted image

Travis

BeitragSa, Sep 24, 2005 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
An deinem Programm selbst liegt es wohl nicht. Bei mir läuft es jedenfalls ruckelfrei.
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Justus

BeitragSa, Sep 24, 2005 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du genau hingeschaut? Sie sind manchmal nur sehr klein, aber da. Und bei Simi sind sie auch da.

Mit anderen BMAX progs hab ich das Problem nicht...

Travis

BeitragSa, Sep 24, 2005 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann da echt keine Ruckler finden. Habt ihr vielleicht noch Programme im Hintergrund laufen? Ich habe mal einen FPS-Counter eingebaut - die Framerate liegt immer genau bei 60.

Code: [AUSKLAPPEN]

'----------------
'Globale Variablen
'----------------
Global startspeed# = 17.0
Global clown_x# = 400
Global clown_y# = 300
Global speed# = 10
Global gravi# = 0.3
Global ani
Global bg_angle


Graphics 800,600,0,60
SeedRnd MilliSecs()


SetMaskColor 255,0,255
AutoMidHandle 1
Global img_clown                 = LoadAnimImage                ("clown.png",48,63,0,3)
Global img_clown_height = ImageHeight(img_clown)

SetClsColor 0,0,128

Repeat
 Cls

  SetRotation 0
  DrawText("FPS: " + FPS(), 0, 0)

  SetRotation speed#*360*.03
  DrawImage img_clown,clown_x,clown_y,ani
  clown_y# = clown_y# + speed#
  speed# = speed# + gravi#
               
  If clown_y > 600-Img_clown_height Then speed# = -startspeed
                         
  Flip
 FlushMem()
Until KeyHit(KEY_ESCAPE)


' ---- Frames per Second ----
Global FPSSEC = MilliSecs(), FPSCOUNT, FRAMES

Function FPS()
 
  FRAMES = FRAMES + 1
  If MilliSecs() - FPSSEC => 1000 Then
   FPSCOUNT = FRAMES
   FRAMES = 0
   FPSSEC = MilliSecs()
  EndIf

 Return FPSCOUNT
End Function
' ---- Frames per Second ----
[/syntax]
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Justus

BeitragSa, Sep 24, 2005 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
mmmhh. Das mit der Framerate wusste ich auch vorher schon, denn der Code hier ist ja nur ein Beispielcode und im eigentlichen Spiel hatte ich nen FPS-Counter drin.

MemLeaks sind es auch nicht.

Allerings sind die Ruckler im Vollbildmodus weg, wie ich gerade bemerkt habe...

Außerdem waren die Ruckler nicht immer da. Könntest du vielleicht mal einen SyncMod machen und auf 1.10 updaten, wenn du es noch nicht gemacht hast?

Travis

BeitragSo, Sep 25, 2005 9:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich benutze (noch) nur die Demo von BlitzMax.
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Artemis

BeitragSo, Sep 25, 2005 10:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei mir gibts auch nur im Fenstermodus das ruckeln (BMax 1.10 und SyncMods).
Im Vollbild bei 32 oder 16 Bit gibts keine ruckler.

TheShadow

Moderator

BeitragSo, Sep 25, 2005 11:01
Antworten mit Zitat
Benutzer-Profile anzeigen
soweit ich weiß läuft es im Vollbild bei 100% Systemleistung.
Der Win-Desktop und alle zusatzprogs bringen das Spiel zum ruckeln...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Justus

BeitragSo, Sep 25, 2005 12:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Der Win-Desktop und alle zusatzprogs bringen das Spiel zum ruckeln...


Aber dann würden doch auch die FPS in den Keller gehen, oder?
 

Serge

BeitragSo, Sep 25, 2005 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
es war früher nicht da und dann schon?
Könnte es vlt. an DirectX liegen? früher gabs ja nur OpenGL. Wobei ich grad nicht im Kopf habe was von anfang an voreingestellt ist, wenn OpenGL kanns ja nicht daran liegen Smile
Da es nur in Fenstermodus auftritt, könnte es vlt. daran liegen dass es mit anderer Hertzanzahl läuft als Die Framerate im Spiel?
http://www.dark-matter-soft.de
 

Daniel Knobe

BeitragSo, Sep 25, 2005 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem hab ich auch stell einfach OpenGL ein dann leuft es wieder Normal Smile

Justus

BeitragSo, Sep 25, 2005 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Aha. Vielen Dank für die Antwort.

Entschuldigt bitte die Noob-Frage, aber wie stellt man OpenGL ein ? Embarassed

simi

BeitragSo, Sep 25, 2005 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
SetGraphicsDriver GLMax2DDriver()

Suco-X

Betreff: ......

BeitragSo, Sep 25, 2005 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
setgraphicsdriver glmax2ddriver() für OGL
setgraphicsdriver d3d7max2ddriver() für DX
Natürlich vor Graphics angeben.
EDIT: Verschwinde da oben, du vordrängler. Wink
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Justus

BeitragMi, Sep 28, 2005 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Treiberupdate hat auch die allerletzten Ruckler beseitigt Mr. Green

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group