logo
Литература_1 / photon_old

Циклическая прокрутка кадров

Вне зависимости от того, как Вы получили кадры, мультипликация выполняется одинаково:

  1. Создайте в Вашем приложении виджет PtTimer. PhAB отображает его как чёрный прямоугольник, он не появится, когда Вы запустите своё приложение.

  2. Задайте для таймера начальный (Pt_ARG_TIMER_INITIAL) интервал и интервалы повтора (Pt_ARG_TIMER_REPEAT).

  3. Создайте для таймера ответную реакцию активизации (Pt_CB_TIMER_ACTIVATE). В ответной реакции определите следующий образ, который будет отображён, и скопируйте его в предназначенный виджет.

Например, ответная реакция таймера может быть такой:

/* Отображение следующего образа для нашего примера мультипликации. */

/* Стандартные хеадеры */

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <string.h>

/* Инструментальные хеадеры */

#include <Ph.h>

#include <Pt.h>

#include <Ap.h>

/* Локальные хеадеры */

#include "globals.h"

#include "abimport.h"

#include "proto.h"

int display_image( PtWidget_t *widget, ApInfo_t *apinfo, PtCallbackInfo_t *cbinfo ) {

/* предотвращает предупреждения (варнинги) об отсутствии ссылок */

widget = widget, apinfo = apinfo, cbinfo = cbinfo;

cur_image++;

if (cur_image >= num_images) cur_image=0;

PtSetResource (ABW_base_image, Pt_ARG_LABEL_IMAGE, images[cur_image], 0 );

PtFlush ();

return( Pt_CONTINUE );

}

ABW_base_image – это имя виджета PtLabel, в котором появляется мультипликация.

      1. Yandex.RTB R-A-252273-3
        Yandex.RTB R-A-252273-4