source: remote_control/puzzlebox_brainstorms_client_interface_button.py @ 43

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

GPL v2 header added to all files

File size: 2.6 KB
Line 
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3#
4# Puzzlebox - Brainstorms - Client Interface - Button
5#
6# Copyright Puzzlebox Productions, LLC (2010)
7#
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
10#
11# Last Update: 2010.02.04
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, \
30                           match_keys, \
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
59                self.match_keys = match_keys
60               
61                self.hits = 0
62               
63                self.activated = False
64               
65                self.display()
66       
67       
68        #####################################################################
69       
70        def display(self):
71               
72                if not self.activated:
73                        self.draw_image(self.button_image, self.display_position)
74               
75                else:
76                        self.draw_image(self.activated_image, self.display_position)
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__':
101       
102        pass
103
Note: See TracBrowser for help on using the repository browser.