當前位置: 首頁>>代碼示例>>Python>>正文


Python pyglet.window方法代碼示例

本文整理匯總了Python中pyglet.window方法的典型用法代碼示例。如果您正苦於以下問題:Python pyglet.window方法的具體用法?Python pyglet.window怎麽用?Python pyglet.window使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在pyglet的用法示例。


在下文中一共展示了pyglet.window方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: pyglet_key_down

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def pyglet_key_down(self, symbol, modifier, repeat_in=0.3):
        from pyglet.window import key
        self.last_key_down = symbol
        self.last_key_modifier = modifier
        self.next_key_repeat = time.time() + repeat_in
        is_ascii = 27 <= symbol < 255
        char = {
            key.LEFT: KEYS.LEFT_ARROW,
            key.RIGHT: KEYS.RIGHT_ARROW,
            key.UP: KEYS.UP_ARROW,
            key.DOWN: KEYS.DOWN_ARROW,
            key.ENTER: '\r',
            key.RETURN: '\r',
            key.BACKSPACE: chr(127),
        }.get(symbol, chr(symbol) if is_ascii else None)
        if not char:
            # All other characters don't count as a key press
            # (e.g., function keys, modifier keys, etc.)
            return
        if modifier & key.MOD_SHIFT:
            char = char.upper()
        self.set_needs_display()
        self.handle_input(char) 
開發者ID:PartnershipOnAI,項目名稱:safelife,代碼行數:25,代碼來源:interactive_game.py

示例2: handle_key_repeat

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def handle_key_repeat(self, dt):
        from pyglet.window import key
        if self.state.last_command == "SHELL":
            return self.handle_shell()
        elif self.state.last_command == "SAVE AS":
            return self.handle_save_as()
        if time.time() < self.next_key_repeat:
            return
        symbol, modifier = self.last_key_down, self.last_key_modifier
        self.last_key_down = self.last_key_modifier = None
        if not self.keyboard[symbol]:
            return
        has_shift = self.keyboard[key.LSHIFT] or self.keyboard[key.RSHIFT]
        if bool(modifier & key.MOD_SHIFT) != has_shift:
            return
        self.pyglet_key_down(symbol, modifier, repeat_in=0.045) 
開發者ID:PartnershipOnAI,項目名稱:safelife,代碼行數:18,代碼來源:interactive_game.py

示例3: run_gl

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def run_gl(self):
        try:
            import pyglet
        except ImportError:
            print("Cannot import pyglet. Running text mode instead.")
            print("(hit any key to continue)")
            getch()
            self.run_text()
        else:
            self.setup_run()
            self.last_key_down = None
            self.last_key_modifier = None
            self.next_key_repeat = 0
            self.window = pyglet.window.Window(resizable=True)
            self.window.set_handler('on_draw', self.render_gl)
            self.window.set_handler('on_key_press', self.pyglet_key_down)
            self.window.set_handler('on_resize', self.set_needs_display)
            self.window.set_handler('on_show', self.set_needs_display)
            self.keyboard = pyglet.window.key.KeyStateHandler()
            self.window.push_handlers(self.keyboard)
            pyglet.clock.schedule_interval(self.handle_key_repeat, 0.02)
            pyglet.app.run() 
開發者ID:PartnershipOnAI,項目名稱:safelife,代碼行數:24,代碼來源:interactive_game.py

示例4: __init__

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def __init__(self, width, height, aa):
        pyglet.window.Window.__init__(self,
                                      width,
                                      height,
                                      caption="Loxodromic transformation",
                                      resizable=True,
                                      visible=False,
                                      vsync=False)
        self._start_time = time.clock()
        self.shader = Shader(["./glsl/loxodrome.vert"], ["./glsl/loxodrome.frag"])
        self.buffer = pyglet.image.get_buffer_manager().get_color_buffer()

        texture = create_image_texture(WOOD_TEXTURE)
        gl.glActiveTexture(gl.GL_TEXTURE0)
        gl.glBindTexture(gl.GL_TEXTURE_2D, texture)

        with self.shader:
            self.shader.vertex_attrib("position", [-1, -1, 1, -1, -1, 1, 1, 1])
            self.shader.uniformf("iResolution", width, height, 0.0)
            self.shader.uniformf("iTime", 0.0)
            self.shader.uniformi("iTexture", 0)
            self.shader.uniformi("AA", aa) 
開發者ID:neozhaoliang,項目名稱:pywonderland,代碼行數:24,代碼來源:loxodrome.py

示例5: on_key_release

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def on_key_release(symbol, modifiers):
    global player

    global bigScreen
    global smallScreen

    if symbol == key.SPACE:
        player.jump()

    if symbol == key.PAGEUP:
        if smallScreen == True:
                glScalef(2.0, 2.0, 2.0)
                window.set_size(window.width * 2, window.height * 2)
                smallScreen = False
                bigScreen = True
    if symbol == key.PAGEDOWN:
            if bigScreen:
                glScalef(0.5, 0.5, 0.5)
                window.set_size(window.width / 2 , window.height /2)
                smallScreen = True
                bigScreen = False

# Handle mouse presses 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:25,代碼來源:window.py

示例6: begin_clear_background

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def begin_clear_background():
    global asteroids
    global bullets
    global animations

    for bullet in bullets:
        bullet.delete()

    for animation in animations:
        animation.delete()

    asteroids = []
    bullets = []
    animations = []
    player.visible = False

# --------------------------------------------------------------------------
# Create window
# -------------------------------------------------------------------------- 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:21,代碼來源:astraea.py

示例7: draw

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def draw(self, x, y):
        '''Abstract render method.

        The cursor should be drawn with the "hot" spot at the given
        coordinates.  The projection is set to the pyglet default (i.e.,
        orthographic in window-space), however no other aspects of the
        state can be assumed.

        :Parameters:
            `x` : int
                X coordinate of the mouse pointer's hot spot.
            `y` : int
                Y coordinate of the mouse pointer's hot spot.

        '''
        raise NotImplementedError('abstract') 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:18,代碼來源:__init__.py

示例8: _PlatformEventHandler

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def _PlatformEventHandler(data):
    '''Decorator for platform event handlers.

    Apply giving the platform-specific data needed by the window to associate
    the method with an event.  See platform-specific subclasses of this
    decorator for examples.

    The following attributes are set on the function, which is returned
    otherwise unchanged:

    _platform_event
        True
    _platform_event_data
        List of data applied to the function (permitting multiple decorators
        on the same method).
    '''
    def _event_wrapper(f):
        f._platform_event = True
        if not hasattr(f, '_platform_event_data'):
            f._platform_event_data = []
        f._platform_event_data.append(data)
        return f
    return _event_wrapper 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:25,代碼來源:__init__.py

示例9: on_resize

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def on_resize(self, width, height):
        '''A default resize event handler.

        This default handler updates the GL viewport to cover the entire
        window and sets the ``GL_PROJECTION`` matrix to be orthogonal in
        window space.  The bottom-left corner is (0, 0) and the top-right
        corner is the width and height of the window in pixels.

        Override this event handler with your own to create another
        projection, for example in perspective.
        '''
        gl.glViewport(0, 0, width, height)
        gl.glMatrixMode(gl.GL_PROJECTION)
        gl.glLoadIdentity()
        gl.glOrtho(0, width, 0, height, -1, 1)
        gl.glMatrixMode(gl.GL_MODELVIEW) 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:18,代碼來源:__init__.py

示例10: close

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def close(self):
        '''Close the window.

        After closing the window, the GL context will be invalid.  The
        window instance cannot be reused once closed (see also `set_visible`).

        The `pyglet.app.EventLoop.on_window_close` event is dispatched on
        `pyglet.app.event_loop` when this method is called.
        '''
        from pyglet import app
        if not self._context:
            return
        app.windows.remove(self)
        self._context.destroy()
        self._config = None
        self._context = None
        if app.event_loop:
            app.event_loop.dispatch_event('on_window_close', self) 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:20,代碼來源:__init__.py

示例11: set_minimum_size

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def set_minimum_size(self, width, height):
        '''Set the minimum size of the window.

        Once set, the user will not be able to resize the window smaller
        than the given dimensions.  There is no way to remove the
        minimum size constraint on a window (but you could set it to 0,0).

        The behaviour is undefined if the minimum size is set larger than
        the current size of the window.

        The window size does not include the border or title bar.

        :Parameters:
            `width` : int
                Minimum width of the window, in pixels.
            `height` : int
                Minimum height of the window, in pixels.

        '''
        raise NotImplementedError('abstract') 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:22,代碼來源:__init__.py

示例12: set_maximum_size

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def set_maximum_size(self, width, height):
        '''Set the maximum size of the window.

        Once set, the user will not be able to resize the window larger
        than the given dimensions.  There is no way to remove the
        maximum size constraint on a window (but you could set it to a large
        value).

        The behaviour is undefined if the maximum size is set smaller than
        the current size of the window.

        The window size does not include the border or title bar.

        :Parameters:
            `width` : int
                Maximum width of the window, in pixels.
            `height` : int
                Maximum height of the window, in pixels.

        '''
        raise NotImplementedError('abstract') 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:23,代碼來源:__init__.py

示例13: set_vsync

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def set_vsync(self, vsync):
        '''Enable or disable vertical sync control.

        When enabled, this option ensures flips from the back to the front
        buffer are performed only during the vertical retrace period of the
        primary display.  This can prevent "tearing" or flickering when
        the buffer is updated in the middle of a video scan.

        Note that LCD monitors have an analogous time in which they are not
        reading from the video buffer; while it does not correspond to
        a vertical retrace it has the same effect.

        With multi-monitor systems the secondary monitor cannot be
        synchronised to, so tearing and flicker cannot be avoided when the
        window is positioned outside of the primary display.  In this case
        it may be advisable to forcibly reduce the framerate (for example,
        using `pyglet.clock.set_fps_limit`).

        :Parameters:
            `vsync` : bool
                If True, vsync is enabled, otherwise it is disabled.

        '''
        raise NotImplementedError('abstract') 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:26,代碼來源:__init__.py

示例14: set_exclusive_mouse

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def set_exclusive_mouse(self, exclusive=True):
        '''Hide the mouse cursor and direct all mouse events to this
        window.

        When enabled, this feature prevents the mouse leaving the window.  It
        is useful for certain styles of games that require complete control of
        the mouse.  The position of the mouse as reported in subsequent events
        is meaningless when exclusive mouse is enabled; you should only use
        the relative motion parameters ``dx`` and ``dy``.

        :Parameters:
            `exclusive` : bool
                If True, exclusive mouse is enabled, otherwise it is disabled.

        '''
        raise NotImplementedError('abstract') 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:18,代碼來源:__init__.py

示例15: set_icon

# 需要導入模塊: import pyglet [as 別名]
# 或者: from pyglet import window [as 別名]
def set_icon(self, *images):
        '''Set the window icon.

        If multiple images are provided, one with an appropriate size
        will be selected (if the correct size is not provided, the image
        will be scaled).

        Useful sizes to provide are 16x16, 32x32, 64x64 (Mac only) and
        128x128 (Mac only).

        :Parameters:
            `images` : sequence of `pyglet.image.AbstractImage`
                List of images to use for the window icon.

        '''
        pass 
開發者ID:shrimpboyho,項目名稱:flappy-bird-py,代碼行數:18,代碼來源:__init__.py


注:本文中的pyglet.window方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。