当前位置: 首页>>代码示例>>Python>>正文


Python Scene.rotate_view方法代码示例

本文整理汇总了Python中scene.Scene.rotate_view方法的典型用法代码示例。如果您正苦于以下问题:Python Scene.rotate_view方法的具体用法?Python Scene.rotate_view怎么用?Python Scene.rotate_view使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在scene.Scene的用法示例。


在下文中一共展示了Scene.rotate_view方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: App

# 需要导入模块: from scene import Scene [as 别名]
# 或者: from scene.Scene import rotate_view [as 别名]

#.........这里部分代码省略.........
        vbox.pack_start(control_box2, expand=False, fill=False)

        self.window = gtk.Window()
        self.window.set_position(gtk.WIN_POS_CENTER)
        self.window.set_default_size(640, 480)
        self.window.add(vbox)

        self.window.connect('destroy', self.quit)
        self.btn_play.connect('clicked', self.play)
        self.btn_rewind.connect('clicked', self.rewind)
        self.btn_prev_move.connect('clicked', self.prev_move)
        self.btn_next_move.connect('clicked', self.next_move)
        self.btn_top.connect('clicked', self.view_top)
        self.btn_quit.connect('clicked', self.quit)

        self.chk_loop.connect('toggled', self.toggle_loop)
        self.chk_ortho.connect('toggled', self.toggle_ortho)

        self.play = True
        self.loop = False
        self.ortho = False

        gtk.gdk.threads_init()
        self.thread = threading.Thread(target=self.mainloop)
        self.thread.daemon = True
        self.thread.start()

    def show_window(self):
        self.window.show_all()

    def quit(self, event):
        gtk.main_quit()

    def play(self, event):
        self.play = not self.play
        self.update_play_button()

    def update_play_button(self):
        if self.play:
            self.btn_play.set_label('Pause')
        else:
            self.btn_play.set_label('Play')

    def rewind(self, event):
        self.play = False
        self.update_play_button()
        self.reset_bot()
        self.entry_move.set_text(str(self.bot.move_count))

    def prev_move(self, event):
        self.bot.prev_move()
        self.entry_move.set_text(str(self.bot.move_count))

    def next_move(self, event):
        # finish the current move
        self.bot.t = Bot.T_MAX
        self.bot.update(animate=False)
        try:
            self.bot.next_move()
        except StopIteration:
            pass
        self.bot.t = 0
        self.entry_move.set_text(str(self.bot.move_count))

    def toggle_loop(self, widget):
        self.loop = widget.get_active()

    def toggle_ortho(self, widget):
        self.ortho = widget.get_active()
        if self.ortho:
            self.scene.set_ortho()
        else:
            self.scene.set_perspective()

    def reset_bot(self):
        while self.bot.pop_params():
            pass # empty the stack
        self.bot.push_params()
        self.bot.t = 0
        self.bot.next_move(reset=True)

    def view_top(self, event):
        self.scene.rotate_view(90, -90)

    def mainloop(self):
        time.sleep(1)
        while True:
            try:
                move = self.bot.move_count
                self.bot.update(self.play)
                if self.bot.move_count != move:
                    self.entry_move.set_text(str(self.bot.move_count))
            except StopIteration:
                self.play = self.loop
                self.update_play_button()
                self.bot.t = Bot.T_MAX
                #self.reset_bot()

            self.scene.invalidate()
            time.sleep(.008)
开发者ID:dkobozev,项目名称:quadropod,代码行数:104,代码来源:app.py


注:本文中的scene.Scene.rotate_view方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。