2

私はクラッター(およびpyclutter)が初めてです。私は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)を学ぶことができる良いチュートリアルを誰かが教えてくれたら本当に感謝しています。

4

1 に答える 1

1

これは機能しません。coglはOpenGLを使用するための抽象化であるためです。OpenGLの世界では、描画はフレームごとに行う必要があります。つまり、コードは1回だけ実行され、ウィンドウが反転するとすぐにその行は表示されなくなります。そのためのカスタムアクターを作成し、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())
于 2011-03-04T08:57:13.333 に答える