Иногда бывают тупиковые ситуации, когда при использовании циклов невозможно отобразить например процесс или банально сообщить о начале коннекта к серверу.
Код #! /usr/bin/env python # -*- coding: utf_8 -*-
from direct.directbase import DirectStart from direct.gui.OnscreenText import OnscreenText
class demo:
def __init__(self): # Вывод текста self.text = OnscreenText(text = '0', scale = 0.07) # Событие от пробела. base.accept('space', self.loop) # Функция при нажатии на пробел def loop (self):
for i in range(500):
# Меняем текст. self.text.setText(str(i)) # Рендерим. base.graphicsEngine.renderFrame()
demo()
base.run()
Если не использовать строку base.graphicsEngine.renderFrame(), то вы не увидите изменений, пока не выйдете из цикла своего. Однако в данном примере это замедляет работу движка, так как приходиться еще отрисовывать по запросу, помимо основного цикла.
|