source: rc/puzzlebox_brainstorms_client_interface_button.py @ 33

Last change on this file since 33 was 31, checked in by sc, 12 years ago

GPL v2 header added to all files

File size: 2.6 KB
RevLine 
[18]1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3#
4# Puzzlebox - Brainstorms - Client Interface - Button
5#
6# Copyright Puzzlebox Productions, LLC (2010)
7#
[31]8# This code is released under the GNU Pulic License (GPL) version 2
9# For more information please refer to http://www.gnu.org/copyleft/gpl.html
[18]10#
[30]11# Last Update: 2010.02.04
[18]12#
13#####################################################################
14
15import puzzlebox_brainstorms_client_interface_component as component
16
17#####################################################################
18# Classes
19#####################################################################
20
21class puzzlebox_brainstorms_client_interface_button( \
22   component.puzzlebox_brainstorms_client_interface_component):
23       
24        def __init__(self, pygame, screen, \
25                           button_image, \
26                           activated_image, \
27                           x, \
28                           y, \
29                           command, \
[27]30                           match_keys, \
[18]31                           DEBUG = 0):
32               
33                self.pygame = pygame
34                self.screen = screen
35                self.button_image = button_image
36                self.DEBUG = DEBUG
37               
38                self.button_image = self.load_image(button_image)
39                self.activated_image = self.load_image(activated_image)
40               
41                self.position = (x, y)
42               
43                self.x = self.button_image.get_rect()[2]
44                self.y = self.button_image.get_rect()[3]
45               
46                self.display_position = self.position
47               
48                # display the button graphic centered over the
49                # coordinates instead of to the lower-right
50                #self.display_position = (self.position[0] - (self.x / 2), \
51                                         #self.position[1] - (self.y / 2))
52               
53                self.rect = self.button_image.get_rect()
54                self.rect[0] = self.position[0]
55                self.rect[1] = self.position[1]
56               
57               
58                self.command = command
[27]59                self.match_keys = match_keys
[18]60               
61                self.hits = 0
62               
[19]63                self.activated = False
64               
[18]65                self.display()
66       
67       
68        #####################################################################
69       
70        def display(self):
71               
[19]72                if not self.activated:
73                        self.draw_image(self.button_image, self.display_position)
[30]74               
[19]75                else:
76                        self.draw_image(self.activated_image, self.display_position)
[18]77       
78       
79        #####################################################################
80       
81        def check_collision(self, target_rect):
82               
83                collision = self.rect.colliderect(target_rect)
84               
85                if collision:
86                        self.hits = self.hits + 1
87               
88               
89                return(collision)
90
91
92#####################################################################
93# Functions
94#####################################################################
95
96#####################################################################
97# Main
98#####################################################################
99
100if __name__ == '__main__':
[25]101       
[18]102        pass
103
Note: See TracBrowser for help on using the repository browser.