warum so unscharfes bild bei bewegung
Übersicht

KleinenbremerBetreff: warum so unscharfes bild bei bewegung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey Leute, hab seit langem mal wieder mit BB angefangen, um für unsre WG nen Spaß-Flugsimulator/Ballern/Rennen zu programmierne. leider viel mir bereits bei einem Test der Flugphysik auf. Vielleicht liegts an meinem TFT (Syncmaster 940Bm 2 jahre alter samsung). aber bei anderen spielen (unter windows und linux) ist das bild auch bei bewegung scharf. Wenn ich das auf dem Röhrenmonitor von meinem Kumpel laufen lasse, ist es ohne timer scharf, mit unscharf. bei mir auf tft immer unscharf....
Habe ich etwas falsch programmiert?: Ihr könnt den code testen, wenn ihr ins verzeichnis ein ca 50*50 bild kopiert. wie gesagt, ist nur zum testen... Ich habe übrigens das ganze mit,ohne,mit selbstgebauten timer,... probiert. fliegen tut man mit pfeiltasten (gas geben hoch, steuern links/rechts) Code: [AUSKLAPPEN] ;######################## ;die grafikeinstellungen Graphics 1024,768,0,1 SetBuffer BackBuffer() timer=CreateTimer(50) ClsColor 100,100,255 ; ;das laden des flugzeugbildes TFormFilter 1 image=LoadImage("plane.bmp") Dim images(71) For z=0 To 71 images(z)=CopyImage(image) MidHandle images(z) RotateImage images(z),5*z Next ;Der Player Typ, mit koordinaten, beiwerten,geschwindigkeiten.. Type pl Field x#,y# Field sx#,sy# Field angle# Field s# Field g# Field rs# Field a# Field ca#,cw# Field direction# End Type ;hier wird er erstellt. Global pl1.pl=New pl pl1\g#=0.1 pl1\s#=0.1 pl1\rs#=4 pl1\ca#=0.6 pl1\x=400 pl1\y=400 pl1\cw#=0.001 pl1\angle=45 While Not KeyHit(1) ;steuern If KeyDown(200) Then pl1\sx#=pl1\sx#+Cos(pl1\angle#)*pl1\s# pl1\sy#=pl1\sy#+Sin(pl1\angle#)*pl1\s# EndIf If KeyDown(203) Then pl1\angle#=pl1\angle#-pl1\rs# End If If KeyDown(205) Then pl1\angle#=pl1\angle#+pl1\rs# End If ;Berechnen...noch sehr unübersichtlich, aber interessiert hier ja auch nicht pl1\rs#=4*Cos(diff#) diff#=pl1\angle#-pl1\direction# If diff#<-180 Then diff#=diff#+360 If diff#>180 Then diff#=diff#-360 ;widerstand#=(0.9999-0.0001*Abs(diff#)/90)^(pl1\sx#^2+pl1\sy#^2) widerstand#=(pl1\sx#^2+pl1\sy#^2)*pl1\cw# pl1\sy#=pl1\sy#+pl1\g#-pl1\a#*Cos(-(pl1\direction#))+widerstand#*Sin(pl1\direction#+180) pl1\sx#=pl1\sx#+pl1\a#*Sin(pl1\direction#)+widerstand*Cos(pl1\direction#+180) ;pl1\sx#=pl1\sx#*widerstand# ;pl1\sy#=pl1\sy#*widerstand# pl1\direction#=(ATan2(pl1\sy#,pl1\sx#)) pl1\a#=(pl1\sx#^2+pl1\sy#^2)^0.5*pl1\ca#*Sin(-2*diff#+5)/20 While KeyDown (28) Wend pl1\y#=pl1\y#+pl1\sy# pl1\x#=pl1\x#+pl1\sx# If pl1\x>1280 Then pl1\x=0 If pl1\x<0 Then pl1\x=1280 ;zeichnen If pl1\angle#<-180 Then pl1\angle#=pl1\angle#+360 If pl1\angle#>180 Then pl1\angle#=pl1\angle#-360 wnumber=Int((pl1\angle#+360)Mod 360 /5) wnumber=wnumber Mod 72 ;ab hier dürften die Probleme beginnen####### DrawImage images(wnumber),pl1\x#,pl1\y# Color 255,255,255 Text 10,10,pl1\direction# Text 10,30,diff# Text 10,50,pl1\angle# Color 0,255,0 Line pl1\x,pl1\y,pl1\x+20*Cos(pl1\direction#),pl1\y#+20*Sin(pl1\direction#) Color 255,255,255 Line pl1\x,pl1\y,pl1\x+20*Cos(pl1\direction#+diff#),pl1\y#+20*Sin(pl1\direction#+diff#) WaitTimer (timer) Flip ;Delay (20-(MilliSecs()-time)) Wend ;########### ;danke für tips...!! |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm.. du schaltest TFormFilter![]() Wenn du einen Timer verwendest, benutze auch "Flip 0" |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist die native Auflösung von dem TFT 1024 *768? Weil wenn man einen TFT nicht in seiner nativen Auflösung verwendet wird das Bild unscharf. | ||
Play Satyr! |
Kleinenbremer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hey,
tformfilter hab ich vergessen wieder zu ändern, war nur nen test. Die Auflösung habe ich beim code geändert, falls einer den testen will. mein monitor hat 1280*1024, was auch bei mir normalerweise im code steht. flip 0, muss ich mal testen, wenn ich zu hause bin. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group