Wpis z mikrobloga

Mam zrobić program wyświetlający trójkąt jeżdżący od jednej do drugiej krawędzi okienka, z szybkością ustawianą na suwaku.

Mam to zrobione na 2 sposoby: zmieniając częstotliwość z jaką timer wywołuje przesunięcie, oraz zmieniając odległość o jaką przesuwa się obraz w pojedynczym wywołaniu slotu timera, przy stałej częstotliwości odświeżania. Który jest poprawniejszy?



void
```**```
 MyGLWidget::on_timer() //takie same dla obu sposobów
``````
{
``````
    
```**```
if
```**```
(Y > 0.3) Kierunek = 
```**```
true
```**```
;
``````
    
```**```
else
```**```
 
```**```
if
```**```
 (Y < -0.3) Kierunek = 
```**```
false
```**```
;
``````
    
```**```
if
```**```
 (Kierunek)
``````
    {
``````
        Y -= 
```**```
float
```**```
 (Predkosc) /1000;
``````
        X += 
```**```
float
```**```
 (Predkosc) /1000;
``````
    }
``````
    
```**```
else
```**```
    {
``````
        Y += 
```**```
float
```**```
 (Predkosc) /1000;
``````
        X -= 
```**```
float
```**```
 (Predkosc) /1000;
``````
    }
``````
    updateGL();
``````
}
```**```
void
```**```
 MyGLWidget::setFPS(
```**```
const
```**```
 
```**```
int
```**```
 &value) //sposób 1 -wywoływane przy zmianie częstotliwości 
``````
{
``````
    timer.setInterval(value);
``````
}
```**```
void
```**```
 MyGLWidget::setPredkosc(
```**```
const
```**```
 
```**```
int
```**```
 &value) //sposób 2- wywoływane przy zmianie przesunięcia
``````
{
``````
    Predkosc = value;
``````
}

#qt

#programowanie
  • 5
@duffman: Nie, dla kaƶdego odświeƶenia oblicz deltę czasu od ostatniego wywołania, oblicz o ile powinien się przesunąć trójkąt w tym czasie, przesuń o tyle.