-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpopUp.py
More file actions
61 lines (59 loc) · 1.94 KB
/
popUp.py
File metadata and controls
61 lines (59 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import pygame
from pygame.locals import*
class popUpTimer(object):
def __init__(self,time,popup_call,popup_time,popup_render):
self.popup_call=popup_call
self.time=time
self.popup_time=popup_time
self.popup_render=popup_render
def preEvents(self):
pygame.time.set_timer(USEREVENT+5,self.time)
def eventControler(self,event,resize,move):
if event.type==USEREVENT+5:
self.popup_call(self.popup_render,self.popup_time)
pygame.time.set_timer(USEREVENT+5,0)
class popUp(object):
def __init__(self,pos,final_pos,move,background,ident ):
self.background=background#uma superficie, pode ser imagem ou surface preenchida com cor
self.init_pos=pos
self.final_pos=final_pos
self.ident=ident
self.move=move
self.setZero()
def setZero(self):
self.pos=[self.init_pos[0],self.init_pos[1]]
self.text=None
self.pop_up=False
self.time=0
def callMasterPopup(self,pos,final_pos,move,background,ident,rendered_text,time):pass#ideia profuturo
def callPopup(self,rendered_text,time):
self.text=rendered_text
self.time=time
self.pop_up=True
def eventControler(self,event,resize,move):
if event.type==USEREVENT+4:
pygame.time.set_timer(USEREVENT+4,0)
self.time=0
def popupEngine(self):
if self.time==0:
#voltando
if self.pos[0]!=self.init_pos[0] or self.pos[1]!=self.init_pos[1]:
self.pos[0]-=self.move[0]
self.pos[1]-=self.move[1]
else:
self.pop_up=False
else:
#indo
if self.pos[0]!=self.final_pos[0] or self.pos[1]!=self.final_pos[1]:
self.pos[0]+=self.move[0]
self.pos[1]+=self.move[1]
elif self.time>0:
pygame.time.set_timer(USEREVENT+4,self.time)
self.time=(-1)
def blitPopup(self,display):
self.popupEngine()
display.blit(self.background,self.pos)#desenha o background
idented_pos=(self.pos[0]+self.ident[0],self.pos[1]+self.ident[1])#identa a posicao
display.blit(self.text,idented_pos)#desenha o texto identado
def blitOn(self,display):
if self.pop_up: self.blitPopup(display)