Python pygame 模块,MOUSEBUTTONDOWN 实例源码

我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用pygame.MOUSEBUTTONDOWN

项目:PyCut    作者:FOSSRIT    | 项目源码 | 文件源码
def ProcessInput(self, events, pressed_keys):
        for event in events:
            if event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN:
                # Move to the next scene when the user pressed Enter
                pass

            if event.type == pygame.MOUSEBUTTONDOWN:
                self.start_button.isClicked(event)
                self.help_button.isClicked(event)
                self.difficulty_button.isClicked(event)

            if event.type == pygame.MOUSEBUTTONUP:
                self.start_button.isClicked(event)
                self.help_button.isClicked(event)
                self.difficulty_button.isClicked(event)

            if event.type == pygame.MOUSEMOTION:
                self.start_button.isHovered(event)
                self.help_button.isHovered(event)
                self.difficulty_button.isHovered(event)
项目:ToeBot    作者:barkdong123    | 项目源码 | 文件源码
def turn(self):
        global board,whos_turn,n_of_turn

        for event in pygame.event.get():
            if (event.type == pygame.MOUSEBUTTONDOWN):
                mouse_pos = pygame.mouse.get_pos()
                for i in range(3):
                    for j in range(3):
                        if (sqr_pos[i][j][0] < mouse_pos[0] and sqr_pos[i][j][0] + sqr_size[0] > mouse_pos[0] and
                                    sqr_pos[i][j][1] < mouse_pos[1] and sqr_pos[i][j][1] + sqr_size[1] > mouse_pos[
                            1] and board[i*3+j] == NO_ONE):

                            board[i*3+j] = whos_turn
                            n_of_turn += 1
                            who_won(tuple(board) ,whos_turn, n_of_turn)
                            reward_consider(winner,tuple(board),p1,p2)
                            whos_turn = self.ID ^ 1


            elif (event.type == pygame.K_ESCAPE):
                esc_pause()

            if (event.type == pygame.QUIT):
                sys.exit()
                # -------------------------------------------
项目:Projects    作者:it2school    | 项目源码 | 文件源码
def main():
    pygame.init()
    pygame.font.init()
    font = pygame.font.Font(None, 24)
    bg = pygame.display.set_mode((800, 600), 0, 24)
    bg.fill((255,255,255))
    bg.blit(font.render("Click to advance", 1, (0, 0, 0)), (0, 0))
    pygame.display.update()
    for cursor in [no, arrow]:
        TestCursor(cursor)
        going = True
        while going:
            pygame.event.pump()
            for e in pygame.event.get():
                if e.type == pygame.MOUSEBUTTONDOWN:
                    going = False
    pygame.quit()
项目:PyCut    作者:FOSSRIT    | 项目源码 | 文件源码
def ProcessInput(self, events, pressed_keys):
        for event in events:
            if event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN:
                # Move to the next scene when the user pressed Enter
                pass

            if event.type == pygame.MOUSEBUTTONDOWN:
                for button in self.buttons:
                    button.isClicked(event)

            if event.type == pygame.MOUSEBUTTONUP:
                for button in self.buttons:
                    button.isClicked(event)

            if event.type == pygame.MOUSEMOTION:
                for button in self.buttons:
                    button.isHovered(event)
项目:PyCut    作者:FOSSRIT    | 项目源码 | 文件源码
def ProcessInput(self, events, pressed_keys):
        """
        Process Input from user
        Inherited from SceneBase
                Args:   self
                        events - list of pygame events
                        pressed_keys
        """

        for event in events:
            if event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN:
                # Move to the next scene when the user pressed Enter
                pass

            if event.type == pygame.MOUSEBUTTONDOWN:
                self.easy_button.isClicked(event)
                self.adv_button.isClicked(event)

            if event.type == pygame.MOUSEBUTTONUP:
                self.easy_button.isClicked(event)
                self.adv_button.isClicked(event)

            if event.type == pygame.MOUSEMOTION:
                self.easy_button.isHovered(event)
                self.adv_button.isHovered(event)
项目:PyCut    作者:FOSSRIT    | 项目源码 | 文件源码
def isClicked(self, event):
        if self.inRange(event.pos[0], event.pos[1]):
            if event.type == pygame.MOUSEBUTTONDOWN:
                self.initiated = True
            if self.initiated and (event.type == pygame.MOUSEBUTTONUP):
                self.engaged = True
        else: #when click or release is detected outside of range make sure this is still not initiated
            self.initiated = False

        if self.engaged:
            if self.state is STATE.ACTIVE:
                self.deselect()
            else: 
                self.select()
            self.initiated = False
            self.engaged = False
项目:Infinity-Game    作者:ISNSaintLaurent    | 项目源码 | 文件源码
def menu_info():
    rect_pointeur = pygame.Rect(pygame.mouse.get_pos(),(1,1))
    rect_retour = pygame.Rect((50,25), (180,35))
    for event in pygame.event.get():
        if event.type == pygame.QUIT :
            abientot()
            pygame.quit()
            quit()
        if event.type == pygame.MOUSEBUTTONDOWN:
            if rect_pointeur.colliderect(rect_retour):
                return 1

    fenetre.fill(blanc)
    fenetre.blit(calibri_font.render("< Retour", True, blue), (50, 30))
    fenetre.blit(InfoMenu, (0,80))

    if rect_pointeur.colliderect(rect_retour):
        fenetre.blit(calibri_font.render("< Retour", True, blue2), (50, 30))
    pygame.display.flip()

#Fonction lancée lorsque le joueur quitte et affichant un remerciement
项目:Physics-2.0    作者:rschwa6308    | 项目源码 | 文件源码
def handle_events(*args):
    settings_window, camera, scroll, done, dims, screen, bodies, G, COR = args
    for event in pg.event.get():
        if event.type == pg.VIDEORESIZE:
            width, height = event.w, event.h
            dims, screen = V2(width, height), pg.display.set_mode((width, height), pg.RESIZABLE)
        elif event.type == pg.KEYDOWN:
            scroll.key(event.key, 1)
            camera.key_down(event.key)
        elif event.type == pg.KEYUP:
            scroll.key(event.key, 0)
            camera.key_up(event.key)
        elif event.type == pg.MOUSEBUTTONDOWN:
            handle_mouse(settings_window, camera, event, bodies, dims, G, COR, scroll)
        done |= event.type == pg.QUIT
    return done, dims, screen
项目:Jeff-Long-Run    作者:matthiasrigaud    | 项目源码 | 文件源码
def manager(field):
    put_tile = False
    for event in pygame.event.get():
        if event.type == pygame.QUIT or (event.type == pygame.KEYDOWN and event.dict["key"] == pygame.K_ESCAPE):
            sys.exit()
        elif event.type == pygame.KEYDOWN and (event.dict["key"] == pygame.K_RIGHT or event.dict["key"] == pygame.K_d):
            field.change_right_move(True)
        elif event.type == pygame.KEYUP and (event.dict["key"] == pygame.K_RIGHT or event.dict["key"] == pygame.K_d):
            field.change_right_move(False)
        elif event.type == pygame.KEYDOWN and (event.dict["key"] == pygame.K_LEFT or event.dict["key"] == pygame.K_q):
            field.change_left_move(True)
        elif event.type == pygame.KEYUP and (event.dict["key"] == pygame.K_LEFT or event.dict["key"] == pygame.K_q):
            field.change_left_move(False)
        elif event.type == pygame.MOUSEBUTTONDOWN and event.dict["button"] == 4:
            field.change_tile(1)
        elif event.type == pygame.MOUSEBUTTONDOWN and event.dict["button"] == 5:
            field.change_tile(-1)
        elif event.type == pygame.MOUSEBUTTONDOWN and event.dict["button"] == 1:
            field.put_tile()
项目:wargame    作者:maximinus    | 项目源码 | 文件源码
def handle(self, message, rect):
        # we need to handle a mouse move or a mousedown
        # is that what we have?
        if message.message_id not in self.messages:
            return False
        # is the mouse in the rect?
        xpos = message.data.pos[0] - (rect.x + self.offset.x)
        ypos = message.data.pos[1] - (rect.y + self.offset.y)

        if self.rect.collidepoint(xpos, ypos):
            # mouse says inside
            # have we been clicked?
            if message.message_id == pygame.MOUSEBUTTONDOWN:
                MessageSystem.add_priority_message(self.signal)

            if self.image is self.normal_image:
                self.image = self.highlight
                self.changed = True
        else:
            if self.image is self.highlight:
                self.image = self.normal_image
                self.changed = True
项目:rpi_lcars    作者:tobykurien    | 项目源码 | 文件源码
def handleEvent(self, event, clock):
        if event.type == pygame.MOUSEBUTTONDOWN:
            # move sprite to clicked location using interpolator
            fps = clock.get_fps()
            x, y = event.pos

            self.line = Interpolator(
                self.rect.center,
                (x, y),
                0.5, # duration of interpolation
                fps, # current frames per second
                1.0, # type of interpolation
                0.5  # middle?
            )

            self.dirty = 1
项目:rpi_lcars    作者:tobykurien    | 项目源码 | 文件源码
def handleEvents(self, event, fpsClock):
        if event.type == pygame.MOUSEBUTTONDOWN:
            # Play sound
            self.sound_beep1.play()

        if event.type == pygame.MOUSEBUTTONUP:
            if (not self.layer2[0].visible):
                for sprite in self.layer1: sprite.visible = False
                for sprite in self.layer2: sprite.visible = True
                Sound("assets/audio/enter_authorization_code.wav").play()
            elif (self.pin_i == len(str(self.pin))):
                # Ran out of button presses
                if (self.correct == 4):
                    self.sound_granted.play()
                    from screens.main import ScreenMain
                    self.loadScreen(ScreenMain())
                else:
                    self.sound_deny2.play()
                    self.sound_denied.play()
                    self.reset()

        return False
项目:openag_brain    作者:OpenAgInitiative    | 项目源码 | 文件源码
def button(self,msg,x,y,w,h,inactive_color,active_color, action=None):
        clicked = False
        for event in self.event_queue:
            if event.type == pygame.MOUSEBUTTONDOWN:
                clicked = True
        mouse = pygame.mouse.get_pos()

        if x+w > mouse[0] > x and y+h > mouse[1] > y:
            pygame.draw.rect(self.screen, active_color,(x,y,w,h))
            if clicked and action is not None:
                action()
        else:
            pygame.draw.rect(self.screen, inactive_color,(x,y,w,h))

        font = pygame.font.SysFont('monospace', 25)
        textSurf, textRect = self.textObjects(msg, font, [255,255,255])
        textRect.center = ( (x+(w/2)), (y+(h/2)) )
        self.screen.blit(textSurf, textRect)
项目:eduActiv8    作者:imiolek-ireneusz    | 项目源码 | 文件源码
def handle(self, event):
        gd.BoardGame.handle(self, event)  # send event handling up
        if event.type == pygame.MOUSEBUTTONDOWN and self.show_msg == False and self.start_sequence == False:
            if 0 <= self.board.active_ship < self.square_count:
                active = self.board.ships[self.board.active_ship]
                if active.unit_id in self.chosen:
                    active.initcolor = self.highlight_color
                    active.color = self.highlight_color
                    len1 = len(self.found)
                    self.found.add(active.unit_id)
                    len2 = len(self.found)
                    if len2 > len1:
                        self.level.game_step += 1
                        self.mainloop.redraw_needed[1] = True

                    if len(self.found) == self.current_count:
                        self.completed_mode = True
                        self.ai_enabled = True
                else:
                    active.initcolor = (255, 0, 0)
                    active.color = (255, 0, 0)
                    self.game_over_mode = True
                    self.ai_enabled = True
项目:eduActiv8    作者:imiolek-ireneusz    | 项目源码 | 文件源码
def handle(self, event):
        gd.BoardGame.handle(self, event)  # send event handling up
        if event.type == pygame.MOUSEBUTTONDOWN:
            if self.abc_len > self.board.active_ship > -1:
                self.active_i = self.board.ships[self.board.active_ship]
                if self.active_i.unit_id < self.abc_len:
                    self.active_item = self.active_i
                    if self.prev_item is not None:
                        self.prev_item.color = self.letter_color
                        self.prev_item.update_me = True
                    self.active_item.color = (255, 255, 255)
                    self.create_card(self.active_item)
                    self.active_item.update_me = True
                    self.prev_item = self.active_item
                    self.mainloop.redraw_needed[0] = True
            else:
                if self.prev_item is not None:
                    self.prev_item.color = (255, 255, 255)
项目:eduActiv8    作者:imiolek-ireneusz    | 项目源码 | 文件源码
def handle(self, event):
        gd.BoardGame.handle(self, event)  # send event handling up
        if event.type == pygame.MOUSEBUTTONDOWN and self.show_msg == False and self.start_sequence == False:
            if 0 <= self.board.active_ship < self.square_count:
                active = self.board.ships[self.board.active_ship]
                if active.unit_id in self.chosen:
                    active.initcolor = self.highlight_color
                    active.color = active.initcolor
                    self.found.add(active.unit_id)
                    if len(self.found) == self.current_count:
                        self.completed_mode = True
                        self.ai_enabled = True
                else:
                    active.initcolor = (255, 0, 0)
                    active.color = active.initcolor
                    self.game_over_mode = True  # self.game_over()
                    self.ai_enabled = True
项目:eduActiv8    作者:imiolek-ireneusz    | 项目源码 | 文件源码
def handle(self, event):
        # TO DO
        if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
            self.mouse_dn = True
        elif event.type == pygame.MOUSEBUTTONUP and event.button == 1 and self.mouse_dn:
            self.menu.active_cat = self.cat_id
            if self.menu.active_cat_o is not None:
                if self.menu.active_cat_o != self:
                    self.menu.active_cat_o.deactivate()
            self.activate()

            self.menu.mainloop.redraw_needed[1] = True
            self.menu.mainloop.redraw_needed[2] = True

        elif event.type == pygame.MOUSEMOTION:
            self.on_mouse_over()
项目:eduActiv8    作者:imiolek-ireneusz    | 项目源码 | 文件源码
def handle(self, event):
        # TO DO
        if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
            self.mouse_dn = True
        elif event.type == pygame.MOUSEBUTTONUP and event.button == 1 and self.mouse_dn:
            pass
            """
            self.menu.active_cat = self.cat_id
            #self.tab_l_scroll = (self.scroll_l // self.scroll_step)
            if self.menu.mainloop.config.settings["sounds"]:
                s3.play()
            self.menu.mainloop.redraw_needed[1] = True
            self.menu.mainloop.redraw_needed[2] = True
            """
        elif event.type == pygame.MOUSEMOTION:
            self.on_mouse_over()
项目:pyDino    作者:lucaspbordignon    | 项目源码 | 文件源码
def show(self):
        # Setup
        self.display.set_screen_caption('Main Menu')
        last_mouse_click = (-1, -1)
        for event in pygame.event.get():
            if (event.type == pygame.QUIT):
                return (False, '', None)
            if (event.type == pygame.MOUSEBUTTONDOWN):
                last_mouse_click = pygame.mouse.get_pos()

        # New game button
        if (self.show_button(last_mouse_click, 'new_game')):
            return (True, 'choose_char', None)

        # Login button
        if (self.show_button(last_mouse_click, 'login')):
            return (True, 'login', None)

        # Logo
        self.display.display_single_image(self.buttons['pydino'][2],
                                          self.buttons['pydino'][0])

        # Default choice
        return (True, 'main_menu', None)
项目:Peppy    作者:project-owner    | 项目源码 | 文件源码
def handle_event(self, event):
        """ Slider event handler

        :param event: event to handle
        """
        if not self.visible:
            return
        mouse_events = [pygame.MOUSEBUTTONUP, pygame.MOUSEBUTTONDOWN, pygame.MOUSEMOTION]        
        if getattr(event, "source", None):
            self.event_source_local = False
        else:
            self.event_source_local = True        

        if event.type in mouse_events:
            pos = event.pos        
            if not self.bounding_box.collidepoint(pos):
                return            
            self.mouse_action(event)
        elif event.type == USER_EVENT_TYPE:
            self.user_event_action(event)
项目:Peppy    作者:project-owner    | 项目源码 | 文件源码
def mouse_action(self, event):
        """ Mouse event handler

        :param event: event to handle
        """
        pos = event.pos

        if self.selected and not(self.last_knob_position < pos[0] < self.last_knob_position + self.knob_width and pos[1] > self.bounding_box.y) and event.type != pygame.KEYUP:
            return

        button_press_simulation = getattr(event, "p", None)

        if event.type == pygame.MOUSEBUTTONUP and self.clicked:
            self.release_action(pos)                
        elif event.type == pygame.MOUSEBUTTONDOWN and self.bounding_box.collidepoint(pos):
            self.press_action()            
        elif event.type == pygame.MOUSEMOTION and (pygame.mouse.get_pressed()[0] or button_press_simulation) and self.bounding_box.collidepoint(pos) and self.clicked:
            self.motion_action(pos)
项目:pool    作者:max-kov    | 项目源码 | 文件源码
def game_over(self, p1_won):
        font = config.get_default_font(config.game_over_label_font_size)
        if p1_won:
            text = "PLAYER 1 WON!"
        else:
            text = "PLAYER 2 WON!"
        rendered_text = font.render(text, False, (255, 255, 255))
        self.canvas.surface.blit(rendered_text, (config.resolution - font.size(text)) / 2)
        pygame.display.flip()
        pygame.event.clear()
        paused = True
        while paused:
            event = pygame.event.wait()
            if event.type == pygame.QUIT or event.type == pygame.KEYDOWN or event.type == pygame.MOUSEBUTTONDOWN:
                paused = False
        self.is_game_over = True
项目:AIFun    作者:Plottel    | 项目源码 | 文件源码
def main():
    pygame.init()
    pygame.font.init()
    font = pygame.font.Font(None, 24)
    bg = pygame.display.set_mode((800, 600), 0, 24)
    bg.fill((255,255,255))
    bg.blit(font.render("Click to advance", 1, (0, 0, 0)), (0, 0))
    pygame.display.update()
    for cursor in [no, arrow]:
        TestCursor(cursor)
        going = True
        while going:
            pygame.event.pump()
            for e in pygame.event.get():
                if e.type == pygame.MOUSEBUTTONDOWN:
                    going = False
    pygame.quit()
项目:PyBot    作者:Pentabyteman    | 项目源码 | 文件源码
def update(self, event):
        try:
            if not self.contains(*event.pos):
                if not self.focussed:
                    return
        except AttributeError:
            return
        if event.type == pygame.MOUSEMOTION:
            if self.contains(*event.pos):
                self.focussed = True
                self.mouse_entered()
            else:
                self.focussed = False
                self.mouse_left()
            self.mouse_moved(event)
        elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
            if self.contains(*event.pos):
                self.clicked(event)
项目:LovelySpace    作者:lmb753    | 项目源码 | 文件源码
def Refresh(self):
        self.ResetKeys()
        events = pygame.event.get()
        for event in events:
            if(event.type == pygame.KEYDOWN):
                self.CheckInputCache(event.key)
                self.pressed[event.key] = True
                self.keyDown[event.key] = True

                self.instantKey = event.key

            elif(event.type == pygame.KEYUP):
                self.pressed[event.key] = False
                self.keyUp[event.key] = True

            elif(event.type == pygame.MOUSEBUTTONDOWN):
                self.pressed[self.mouseButtons[event.button-1]] = True
                self.btnDown[self.mouseButtons[event.button-1]] = True

            elif(event.type == pygame.MOUSEBUTTONUP):
                self.pressed[self.mouseButtons[event.button-1]] = False
                self.btnUp[self.mouseButtons[event.button-1]] = True
项目:CoolesSpiel    作者:AlinaGri    | 项目源码 | 文件源码
def update(self, *args):
        """
        Perform any updates on the Widget if needed;
        basic implementation of focus, active-state and border-rendering;
        used for interaction in more advanced, derivated Widget-classes

        parameters:     tuple arguments for the update (first argument should be an instance pygame.event.Event)
        return values:  -
        """
        if self.isActive() and len(args) > 0:
            event = args[0]
            if event.type == pygame.MOUSEBUTTONDOWN:
                self.setFocused(self.rect.collidepoint(event.pos))
        if self.isDirty():
            self.rect   = self._border.getBounds(self._bounds)
            self.image  = self._border.getBorderedImage(self._getAppearance(*args))
            if not self.isActive():
                inactive = self.image.copy()
                inactive.fill(disabeledOverlay)
                self.image.blit(inactive, (0, 0))
项目:CoolesSpiel    作者:AlinaGri    | 项目源码 | 文件源码
def __eventProcessing(self):
        '''
        fuehrt bei einem event die entsprechende Aktion aus
        bewegen oder schiessen
        Parameter:      -
        return values:  -
        '''
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                self.done = True
            elif event.type == pygame.KEYDOWN:
                self.player1.update(self.mymap)
                self.shaderUpdate = True
                self.sendPos((self.player1.rect.centerx, self.player1.rect.centery))
            elif event.type == pygame.MOUSEBUTTONDOWN:
                bullet = self.player1.shot(event.pos)
                if not bullet == None:
                    self.sendShot(event.pos)
项目:Python-DataStructuresAndAlgorithms    作者:nikist97    | 项目源码 | 文件源码
def process_input(self, events):
        if not self.end_state[0]:
            for event in events:
                if event.type == pygame.MOUSEBUTTONDOWN:
                    if event.button == 1:
                        mouse_position = pygame.mouse.get_pos()
                        x = int(mouse_position[0] / self.square_width)
                        y = int(mouse_position[1] / self.square_width)
                        if (x, y) not in self.players[1].positions:
                            if self.players[0].add_position(x, y, self.minimax_board):
                                computer_position = pruned_minimax(self.minimax_board)
                                if not end_state(self.minimax_board)[0]:
                                    self.players[1].add_position(computer_position[0][0], computer_position[0][1],
                                                                 self.minimax_board, 1)
        else:
            for event in events:
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_RETURN:
                        self.clear()
                    elif event.key == pygame.K_SPACE:
                        self.clear(True)

    # the update method checks if the board is in an end state:
项目:Pygame-Defaults    作者:sclowes    | 项目源码 | 文件源码
def check(self, event=None): # checks for inputs
        if self.off:
            return False
        if event is None:
            return False
        else:
            if event.type == pygame.MOUSEBUTTONDOWN: # if the mousewheel is being used then offset the text so it looks like it is scrolling up and down
                if event.button == 5:
                    if self.offSet + 4 > self.height - self.rect[3]:
                        pass
                    else:
                        self.offSet += 4
                elif event.button == 4:
                    if self.offSet - 4 < 0:
                        pass
                    else:
                        self.offSet -= 4
        return False
项目:generals-bot    作者:harrischristiansen    | 项目源码 | 文件源码
def mainViewerLoop(self):
        while not self._receivedUpdate: # Wait for first update
            time.sleep(0.5)

        self._initViewier()

        while self._runPygame:
            for event in pygame.event.get(): # User did something
                if event.type == pygame.QUIT: # User clicked quit
                    self._runPygame = False # Flag done
                elif event.type == pygame.MOUSEBUTTONDOWN: # Mouse Click
                    self._handleClick(pygame.mouse.get_pos())
                elif event.type == pygame.KEYDOWN: # Key Press Down
                    self._handleKeypress(event.key)

            if self._receivedUpdate:
                self._drawViewer()
                self._receivedUpdate = False

            time.sleep(0.2)

        pygame.quit() # Done. Quit pygame.
项目:renpy-shader    作者:bitsawer    | 项目源码 | 文件源码
def handleEvents(self):
        self.mouse = self.get(MOUSE)

        for event, pos in self.context.events:
            self.mouse = pos

            handled = self.mode.handleEvent((event, pos))
            if not handled:
                if event.type == pygame.MOUSEBUTTONDOWN:
                    self.handleMouseDown(event, pos)
                elif event.type == pygame.MOUSEMOTION:
                    self.handleMouseMotion(pos)
                elif event.type == pygame.MOUSEBUTTONUP:
                    self.handleMouseUp(pos)

        if self.mouse:
            self.set(MOUSE, self.mouse)
项目:Projects    作者:it2school    | 项目源码 | 文件源码
def show (image):
    screen = pygame.display.get_surface()
    screen.fill ((255, 255, 255))
    screen.blit (image, (0, 0))
    pygame.display.flip ()
    while 1:
        event = pygame.event.wait ()
        if event.type == pygame.QUIT:
            raise SystemExit
        if event.type == pygame.MOUSEBUTTONDOWN:
            break
项目:pygame_cards    作者:vannov    | 项目源码 | 文件源码
def process_events(self):
        """ Processes mouse events and quit event """
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                self.stopped = True
                self.render_thread.join()
                self.game_controller.cleanup()
                sys.exit()
            elif event.type == pygame.MOUSEBUTTONUP:
                self.process_mouse_event(False, self.is_double_click())
            elif event.type == pygame.MOUSEBUTTONDOWN:
                self.process_mouse_event(True)
项目:alien_invasion    作者:samnew    | 项目源码 | 文件源码
def check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets):
    """?????????"""
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            stats.save_high_score()
            sys.exit()

        elif event.type == pygame.KEYDOWN:
            check_keydown_events(event, ai_settings, screen, stats,sb, ship, aliens, bullets)
        elif event.type == pygame.KEYUP:
            check_keyup_events(event, ship)
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_x, mouse_y = pygame.mouse.get_pos()
            check_play_button(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets, mouse_x, mouse_y)
项目:opseilen    作者:Baal221    | 项目源码 | 文件源码
def Update(self, events):
        for event in events:
            if event.type == pygame.MOUSEMOTION:
                if self.Rect.collidepoint(event.pos):                    
                    self.Text = (pygame.font.Font(None, 40)).render(self.DefaultText, 1, (255, 190, 0))            
                else:
                    self.Text = (pygame.font.Font(None, 40)).render(self.DefaultText, 1, (130, 130, 130))
            elif event.type == pygame.MOUSEBUTTONDOWN:
                if self.Rect.collidepoint(event.pos):                    
                    return self.Action()
        return self
项目:opseilen    作者:Baal221    | 项目源码 | 文件源码
def process_events():
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        if event.type == pygame.MOUSEBUTTONDOWN:
            button.click(event.pos)
    return False
项目:PyCut    作者:FOSSRIT    | 项目源码 | 文件源码
def ProcessInput(self, events, pressed_keys):
        """
        Process input from user
        Inherits from SceneBase
                Args:   self
                        events - pygame events
                        pressed_keys
        """

        for event in events:
            if event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN:
                # Move to the next scene when the user pressed Enter
                pass

            if event.type == pygame.MOUSEBUTTONDOWN:
                for button in self.buttons:
                    button.isClicked(event)
                if self.leveling_up:
                    self.continue_button.isClicked(event)

            if event.type == pygame.MOUSEBUTTONUP:
                for button in self.buttons:
                    button.isClicked(event)
                if self.leveling_up:
                    self.continue_button.isClicked(event)

            if event.type == pygame.MOUSEMOTION:
                #for button in self.buttons:
                #    button.isHovered(event)
                if self.leveling_up:
                    self.continue_button.isHovered(event)
项目:PyCut    作者:FOSSRIT    | 项目源码 | 文件源码
def _mousedown_cb(self, widget, event):
        self.__button_state[event.button-1] = 1
        return self._mouseevent(widget, event, pygame.MOUSEBUTTONDOWN)
项目:mqtt-control-panel    作者:colinodell    | 项目源码 | 文件源码
def process_input(self):
        # Process touchscreen input
        from alarmpanel.button import STATE_PRESSED
        for event in pygame.event.get():
            if event.type is pygame.MOUSEBUTTONDOWN:
                pos = pygame.mouse.get_pos()
                for b in self._buttons:
                    if b.down(pos): break
            elif event.type is pygame.MOUSEBUTTONUP:
                pos = pygame.mouse.get_pos()
                for b in self._buttons:
                    if b.up(pos): pass
                    # Redraw other buttons which might be stuck in the down position
                    elif b.state == STATE_PRESSED:
                        b.set_state(STATE_DEFAULT)
项目:Galaxian-Against-COMP140    作者:tomjlw    | 项目源码 | 文件源码
def check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets):
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            check_keydown_events(event, ai_settings, screen, ship, bullets)
        elif event.type == pygame.KEYUP:
            check_keyup_events(event, ship)
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_x, mouse_y = pygame.mouse.get_pos()
            check_play_button(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets, mouse_x, mouse_y)
项目:LD39    作者:Bobsleigh    | 项目源码 | 文件源码
def notify(self, event):
        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == MOUSE_LEFT:
                if self.rect.collidepoint(event.pos):
                    self.method()
项目:LD39    作者:Bobsleigh    | 项目源码 | 文件源码
def notify(self, event):
        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:
                self.onLeftClick(event)
        elif self.selected:
            self.input.update(event)
项目:LD39    作者:Bobsleigh    | 项目源码 | 文件源码
def notify(self, event):
        if event.type == pygame.MOUSEBUTTONDOWN:
            if self.rect.collidepoint(event.pos):
                self.callback()
项目:photobooth    作者:LoiX07    | 项目源码 | 文件源码
def handle_event(self, event):
        """ Handle events of the GUI"""
        if event.type == pygame.MOUSEBUTTONUP:
            log.debug('Received a new event: %s', str(event))
            pos = pygame.mouse.get_pos()
            self.handle_mouseup(pos)
        elif event.type == pygame.MOUSEBUTTONDOWN:
            log.debug('Received a new event: %s', str(event))
            pos = pygame.mouse.get_pos()
            self.handle_mousedown(pos)
        elif event.type == pygame.KEYDOWN:
            log.debug('Received a new event: %s', str(event))
            self.handle_key_pressed(event.key)
项目:oficina2017    作者:helioh2    | 项目源码 | 文件源码
def big_bang(inic, tela,
             quando_tick=lambda e: e, \
             frequencia=28, \
             desenhar=lambda e: pg.Surface((0,0)), \
             quando_tecla=lambda e, k: e, \
             quando_mouse=lambda e, x, y, ev: e, \
             parar_quando=lambda e: False):

    pg.init()
    estado = inic
    clock = pg.time.Clock()


    while True:

        pg.display.flip()

        if parar_quando(estado):
            print(estado)
            sys.exit(0)

        for event in pg.event.get():
            if event.type == pg.QUIT:
                print(estado)
                sys.exit(0)

            if event.type == pg.KEYDOWN:
                estado = quando_tecla(estado, event.key)

            elif event.type in [pg.MOUSEBUTTONDOWN, pg.MOUSEBUTTONUP, pg.MOUSEMOTION]:
                x, y = pg.mouse.get_pos()
                estado = quando_mouse(estado, x, y, event.type)

        estado = quando_tick(estado)

        tela.fill(COR_BRANCO)
        desenhar(estado)

        clock.tick(frequencia)
项目:PyGameWidgets    作者:EricsonWillians    | 项目源码 | 文件源码
def on_click(self, event, function, *args):
        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:
                if self.rect.R.collidepoint(event.pos):
                    function(*args) if args else function()
项目:PyGameWidgets    作者:EricsonWillians    | 项目源码 | 文件源码
def on_mouse_button_click(self, event, mouse_button, function, *args):
        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == mouse_button:
                if self.rect.R.collidepoint(event.pos):
                    function(*args) if args else function()
项目:wargame    作者:maximinus    | 项目源码 | 文件源码
def __init__(self, text, signal, align=Align.NONE):
        # make a label of the text - but we only want the image
        label = GuiLabel(text, (0, 0, 0), (214, 214, 214)).image
        # get the contents to render themselves
        border = Resources.configs.get(self.border_config)
        image = add_border(label, border, Resources.get_image(border.image))
        rect = pygame.Rect(0, 0, image.get_width(), image.get_height())
        super().__init__(rect, image, align, False)
        self.messages = [pygame.MOUSEMOTION, pygame.MOUSEBUTTONUP, pygame.MOUSEBUTTONDOWN]
        self.highlight = self.get_highlight()
        self.normal_image = self.image
        self.signal = signal
        self.changed = False
项目:rpi_lcars    作者:tobykurien    | 项目源码 | 文件源码
def handleEvent(self, event, clock):
        handled = False
        if not self.visible:
            self.focussed = False
            return handled

        if self.groups()[0].UI_PLACEMENT_MODE:
            if event.type == pygame.MOUSEBUTTONDOWN:
                self.pressed_time = pygame.time.get_ticks()
                self.focussed = True

            if event.type == pygame.MOUSEMOTION:
                if (self.focussed and pygame.time.get_ticks() - self.pressed_time > 1000):
                    self.long_pressed = True
                    self.rect.top = event.pos[1]
                    self.rect.left = event.pos[0]
                    self.dirty = 1            

            if event.type == pygame.MOUSEBUTTONUP:
                if self.handler:
                    self.handler(self, event, clock)
                    handled = True

                if self.focussed and self.long_pressed:
                    print event.pos[1], event.pos[0]

                self.pressed_time = 0
                self.long_pressed = False
                self.focussed = False

        return handled
项目:rpi_lcars    作者:tobykurien    | 项目源码 | 文件源码
def handleEvents(self, event, fpsClock):
        if event.type == pygame.MOUSEBUTTONDOWN:
            self.beep1.play()

        if event.type == pygame.MOUSEBUTTONUP:
            return False