программирование с использованием Pyclutter - PullRequest
2 голосов
/ 13 февраля 2011

Я новичок в беспорядке (и пиклаттере).Я пытался использовать Pyclutter.Я не нашел хорошего учебника для этого до сих пор.Я имею в виду ничего, что действительно объясняет правильно.Я видел несколько примеров программ, но когда я попытался использовать pyclutter, я не получил хороших результатов.Команды доступны, но их правильное использование вызывает проблемы.Я пытался отрисовать линию, используя pyclutter, но даже не смог этого сделать.Мой код:

import clutter
from clutter import cogl

stage = clutter.Stage()
stage.set_size(400, 400)

label = clutter.Text()
label.set_text("line")

stage.add(label)

clutter.cogl.set_source_color4ub (255,0,0,255)
clutter.cogl.path_line(100,100,200,200)
clutter.cogl.path_stroke()

stage.show_all()
stage.connect("destroy",clutter.main_quit)
clutter.main()

Вполне возможно, что мои ошибки действительно глупы, но я был бы очень признателен, если бы кто-нибудь мог указать мне на хороший учебник, где я могу изучить беспорядок (pyclutter).

1 Ответ

1 голос
/ 04 марта 2011

Это не будет работать, потому что cogl - это абстракция для использования OpenGL.В мире OpenGL, рисование должно быть сделано для каждого кадра.Это означает, что ваш код будет выполнен только один раз, как только ваше окно перевернется, вы не увидите строку.Вы можете создать собственный актер для этого и поместить свою инструкцию в метод do_paint ():

class MyDrawing(clutter.Actor):
    __gtype_name__ = 'MyDrawing'
    def do_paint(self):
        clutter.cogl.set_source_color4ub (255,0,0,255)
        clutter.cogl.path_line(100,100,200,200)
        clutter.cogl.path_stroke()

И затем использовать его в своем примере как текстовый актер:

stage.add(MyDrawing())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...