本文整理汇总了Python中VisionEgg.FlowControl.Presentation.run_forever方法的典型用法代码示例。如果您正苦于以下问题:Python Presentation.run_forever方法的具体用法?Python Presentation.run_forever怎么用?Python Presentation.run_forever使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VisionEgg.FlowControl.Presentation
的用法示例。
在下文中一共展示了Presentation.run_forever方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PyroServer
# 需要导入模块: from VisionEgg.FlowControl import Presentation [as 别名]
# 或者: from VisionEgg.FlowControl.Presentation import run_forever [as 别名]
import VisionEgg
VisionEgg.start_default_logging(); VisionEgg.watch_exceptions()
from VisionEgg.Core import *
from VisionEgg.FlowControl import Presentation
from VisionEgg.Gratings import *
from VisionEgg.PyroHelpers import *
pyro_server = PyroServer()
# get visionegg stimulus ready to go
screen = get_default_screen()
stimulus = SinGrating2D(temporal_freq_hz=0.0)
viewport = Viewport(screen=screen,stimuli=[stimulus])
p = Presentation(go_duration=(5.0,'seconds'),viewports=[viewport])
# make a controller, serve it via pyro, and glue it to the Presentation
tf_controller = PyroConstantController(during_go_value=0.0)
pyro_server.connect(tf_controller,'tf_controller')
p.add_controller(stimulus,'temporal_freq_hz', tf_controller)
quit_controller = PyroConstantController(during_go_value=0)
pyro_server.connect(quit_controller,'quit_controller')
p.add_controller(p,'quit', quit_controller)
# get listener controller and register it
p.add_controller(None,None, pyro_server.create_listener_controller())
# initialize graphics to between presentations state
p.run_forever()
示例2: VisionEggView
# 需要导入模块: from VisionEgg.FlowControl import Presentation [as 别名]
# 或者: from VisionEgg.FlowControl.Presentation import run_forever [as 别名]
#.........这里部分代码省略.........
return img
def _create_color(self, name):
try:
if isinstance(name, tuple):
return Color(*name).normalize()
else:
return Color(str(name)).normalize()
except ValueError:
self._logger.warn('No such pygame.Color: %s' % str(name))
def _set_font_color(self):
""" Set the standard font color by pygame name. """
self._font_color = (self._create_color(self._font_color_name) or
Color(1, 1, 1, 255).normalize())
def _set_bg_color(self):
""" Set the standard background color by pygame name. """
c = (self._create_color(self._bg_color) or
Color(0, 0, 0, 255).normalize())
self.screen.set(bgcolor=c)
def present_frames(self, num_frames):
""" Launch the presentation main loop for a given number of
frames.
"""
self.presentation.set(go_duration=(num_frames, 'frames'))
self.presentation.go()
def present(self, sec):
self.presentation.set(go_duration=(sec, 'seconds'))
self.presentation.go()
def update(self):
""" Repaint the canvas for one frame to update changed stimuli.
"""
self.present_frames(1)
def center_word(self, text, color=None):
""" Set the standard word in the screen center. """
self._center_text.set(text=text)
self._center_text.set(colors=color or (self._font_color for l in
self._center_text))
def clear_center_word(self):
""" Remove the center word from the screen. """
self.center_word('')
self.update()
def present_center_word(self, text, seconds, color=None):
self.center_word(text, color)
self.present(seconds)
self.clear_center_word()
def ask(self, question=True):
""" Loop indefinitely until answered() is called. If question is
True, a question mark is shown in the center.
"""
if question:
self.center_word('?')
self.presentation.run_forever()
self.presentation.set(quit=False)
self.clear_center_word()
def answered(self):
""" Abort the current presentation (usually the question mark)
after subject input. For thread safety, the screen shouldn't be
changed here.
"""
self.presentation.set(quit=True)
def show_fixation_cross(self):
""" Display the pyff parameter 'fixation_cross_symbol' for the
period of time given by pyff parameter 'fixation_cross_time'.
"""
self.center_word(self._fixation_cross_symbol)
self._trigger(marker.FIXATION_START, wait=True)
self.present(self._fixation_cross_time)
self._trigger(marker.FIXATION_END, wait=True)
def countdown(self):
""" Display a countdown according to pyff parameters
'countdown_start' and 'countdown_symbol_duration'.
"""
self._trigger(marker.COUNTDOWN_START, wait=True)
for i in self._iter(reversed(xrange(self._countdown_start + 1))):
self.center_word(str(i))
self.present(self._countdown_symbol_duration)
self._trigger(marker.COUNTDOWN_END, wait=True)
self.clear_center_word()
def close(self):
""" Shut down the screen. """
self._screen_acquired = False
self.screen.close()
def quit(self):
""" Stop the presentation. """
self.presentation.set(quit=True)
self.presentation.set(go_duration=(1, 'frames'))