Ищу учебник XPCE [закрыто
-
13-10-2019 - |
Вопрос
Я собираюсь написать простую анимацию в XPCE (Четыре очка головоломки точнее). Я абсолютно ничего не знаю о XPCE, поэтому я посмотрел учебник, но результаты разочаровывают. Может ли кто -нибудь указать мне на некоторые материалы на следующее:
- Работа с "холстом"
- анимация
- таймеры
РЕДАКТИРОВАТЬ: Хорошо, вот более подробная проблема: я хочу нарисовать две коробки, подождать две секунды, скрыть коробки, а затем запустить таймер.
new(@box1, box(100,100)),
send(W, display, @box1),
new(@box2, box(100,100)),
send(W, display, @box2, point(200, 200)),
% wait two seconds here
% hide the boxes here
new(Msg1, and(message(B1, relative_move, point(5, 0)),
message(B4, relative_move, point(0, 5)))),
send(W, attribute, attribute(timer, new(T, timer(0.1, Msg1)))),
send(T, start),
РЕДАКТИРОВАТЬ 2: Хорошо, вот еще один вопрос (я должен открыть новый вопрос?): Это код, который я использую:
get_file(0, 'glass.gif').
get_file(180, 'glass180.gif').
main(GA, GB, GC, GD) :- % e.g. main(0,0,180,0).
new(B1, figure),
get_file(GA, G1),
send(B1, display, new(BM1, bitmap(G1))),
send(BM1, transparent, @on),
send(W, display, B1, point(0,0)),
%analogically for the other three glasses
Я хотел бы установить новую растровую карту для B1
. Анкет Как я могу это сделать? Изменив BM1
быть достаточным? Или, может быть, есть альтернативное решение? Я думал о том, чтобы нарисовать как вертикальные, так и обратные очки за экраном и обменять их, но я не уверен в деталях такого решения.
Edit2 ': решил это. Для потомков:
send(B1, clear),
send(B1, display, bitmap('glass_while_animating_1.gif')),
send(timer(0.1), delay),
send(B1, clear),
send(B1, display, bitmap('glass_while_animating_2.gif')),
% etc
Решение
Поможет ли этот PDF -файл для поиска?
«Глава 5. Простая графика» рассказывает о картинке (т.е. холст).
На стр. 260 есть пример использования таймера для введения задержки, а на странице 266 показан использование таймера для мигающей графики.
На странице 40 есть упоминание об использовании «графического-> промывки», чтобы явно заставляя перерисовать прямо сейчас.