История изменений
Исправление peregrine, (текущая версия) :
Ну я даже не знаю, давай прокомментирую что-ли всё что мне не понравилось
float personage_X=-5.0f, personage_Y=-5.0f;//почему оно к персонажу прибито? Что это за графическая абстракция такая?
float distance_X=10.0, distance_Y=0.0; //snake case+camel case
float dX, dY; //camel case
double DELTA_T = 0.01667; //среднее значение delta_T даваемое программой (КАПС + snake case)
//(по сути это 1000/60=16.6(6) мс/кадр)
double last_T_move;
double duration_T;//что тут T означает? time?
int duration_tick;//а тут-то чего не T?
bool bmoveLeft = false;//bmove - я даже не знаю что тут опять с codestyle
bool bmoveRight = false;
moveRight
{
bmoveRight = true; // начинаю движение
duration_T = 0.9; // длительность в сек
duration_tick = (int) (duration_T/DELTA_T); // кол-во тиков(кадров) для перемещения а куда округлять полтора землекопа?
dX = distance_X/duration_tick; // шаг перемещения
last_T_move = get_time();
}
update
{
printf("update()\n");
if (bmoveRight)
{
personage_X += dX;
printf("now_T - last_T_move = %5.7f\n", now_T - last_T_move);
if (now_T - last_T_move >= duration_T )
{
bmoveRight = false; // остановить движение
}
}
}
idle
{
const double now_T = get_time();
const double delta_T = now_T - last_T;
last_T = now_T;
printf("delta_T = %5.5f\n", delta_T);
update(now_T);
redisplay();//даже индусы так функции по перерисовке не называют, ну оно и понятно, у индусов английский вовсю используется redraw там или repaint я бы понял, но redisplay или там какая-то особая концепция display используется вокруг которой либа построена?
}
display//а почему не render/draw? Работы с дисплеем я тут не вижу
{
printf("display()\n");
render_personage();
swap_buffers();
}
Исправление peregrine, :
Ну я даже не знаю, давай прокомментирую что-ли всё что мне не понравилось
float personage_X=-5.0f, personage_Y=-5.0f;//почему оно к персонажу прибито? Что это за графическая абстракция такая?
float distance_X=10.0, distance_Y=0.0; //snake case+camel case
float dX, dY; //camel case
double DELTA_T = 0.01667; //среднее значение delta_T даваемое программой (КАПС + snake case)
//(по сути это 1000/60=16.6(6) мс/кадр)
double last_T_move;
double duration_T;//что тут T означает? time?
int duration_tick;//а тут-то чего не T?
bool bmoveLeft = false;//bmove - я даже не знаю что тут опять с codestyle
bool bmoveRight = false;
moveRight
{
bmoveRight = true; // начинаю движение
duration_T = 0.9; // длительность в сек
duration_tick = (int) (duration_T/DELTA_T); // кол-во тиков(кадров) для перемещения а куда округлять полтора землекопа?
dX = distance_X/duration_tick; // шаг перемещения
last_T_move = get_time();
}
update
{
printf("update()\n");
if (bmoveRight)
{
personage_X += dX;
printf("now_T - last_T_move = %5.7f\n", now_T - last_T_move);
if (now_T - last_T_move >= duration_T )
{
bmoveRight = false; // остановить движение
}
}
}
idle
{
const double now_T = get_time();
const double delta_T = now_T - last_T;
last_T = now_T;
printf("delta_T = %5.5f\n", delta_T);
update(now_T);
redisplay();//даже индусы так функции по перерисовке не называют, ну оно и понятно, у индусов английский вовсю используется redraw там или repaint я бы понял, но redisplay или там какая-то особая концепция display используется вокруг которой либа построена?
}
display//а почему не render/draw? Работы с дисплеем я тут не вижу
{
printf("display()\n");
render_personage();
swap_buffers();
}
Исходная версия peregrine, :
Ну я даже не знаю, давай прокомментирую что-ли всё что мне не понравилось
float personage_X=-5.0f, personage_Y=-5.0f;//почему оно к персонажу прибито? Что это за графическая абстракция такая?
float distance_X=10.0, distance_Y=0.0; //snake case+camel case
float dX, dY; //camel case
double DELTA_T = 0.01667; //среднее значение delta_T даваемое программой (КАПС + snake case)
//(по сути это 1000/60=16.6(6) мс/кадр)
double last_T_move;
double duration_T;//что тут T означает? time?
int duration_tick;//а тут-то чего не T?
bool bmoveLeft = false;//bmove - я даже не знаю что тут опять с codestyle
bool bmoveRight = false;
moveRight
{
bmoveRight = true; // начинаю движение
duration_T = 0.9; // длительность в сек
duration_tick = (int) (duration_T/DELTA_T); // кол-во тиков(кадров) для перемещения а куда округлять полтора землекопа?
dX = distance_X/duration_tick; // шаг перемещения
last_T_move = get_time();
}
update
{
printf("update()\n");
if (bmoveRight)
{
personage_X += dX;
printf("now_T - last_T_move = %5.7f\n", now_T - last_T_move);
if (now_T - last_T_move >= duration_T )
{
bmoveRight = false; // остановить движение
}
}
}
idle
{
const double now_T = get_time();
const double delta_T = now_T - last_T;
last_T = now_T;
printf("delta_T = %5.5f\n", delta_T);
update(now_T);
redisplay();//даже индусы так функции по перерисовке не называют, ну оно и понятно, у индусов английский вовсю используется redraw там или repaint я бы понял, но redisplay или там какая-то особая концепция display используется вокруг которой либа построена?
}
display//а почему не render/draw? Работы с дисплеем я тут не вижу
{
printf("display()\n");
render_personage();
swap_buffers();
}