123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- import pygame
- pg = pygame
- pygame.init()
- #window = pygame.display.set_mode((600, 300))#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
- window = pygame.display.set_mode((600, 300),pg.RESIZABLE,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
- #window = pygame.display.set_mode((600, 300),pg.NOFRAME,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
- #window = pygame.display.set_mode((1600, 900),pg.NOFRAME,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
- #window = pygame.display.set_mode((600, 300),pygame.FULLSCREEN) #x left->right ,y top-> bottom
- # pygame.display.set_mode((self.width, int(self.height+(self.height*0.15))) ,pygame.FULLSCREEN)
- pg.display.set_caption('LibreLight Animation')
- def event_read():
- inc = 1
- for event in pg.event.get():
- print("event",event)
- move_x = 0
- move_y = 0
- move_z = 0
- rot_x = 0
- rot_y = 0
- rot_z = 0
- if event.type== pg.QUIT:
- print("quit")
- pg.quit()
- quit()
- sys.exit()
- if "key" in dir(event):
- if event.key == 27: #ESC pg.KEYDOWN:
- print("quit")
- pg.quit()
- quit()
- sys.exit()
- class Grid():
- def __init__(self):
- pixA = []
- for c in range(10):
- row = []
- for r in range(10):
- color = [r,r,r]
- row.append(color)
- pixA.append(row)
- self.pixA = pixA
- self.red = 0
- self.green = 0
- self.blue = 0
- self.blue_dir = 1
- def draw(self):
- pixA = self.pixA
- pixel_array = pygame.PixelArray(window)
- #pixel_array.open()
- a_x_max = len(pixel_array[0])
- a_y_max = len(pixel_array)
-
- b_x_max = len(pixA[0])
- b_y_max = len(pixA)
-
- b_h = int(a_x_max / b_x_max)
- b_w = int(a_y_max / b_y_max)
- self.red = 0
- self.green = 0
- #blue = 255
- for r,row in enumerate(pixA):
- self.red += 30
- if self.red > 255:
- self.red = 255
- self.green = 0
- if self.blue > 255:
- self.blue = 255
- self.blue_dir = 0
- if self.blue <= 0:
- self.blue = 0
- self.blue_dir = 1
- for c,col in enumerate(row):
- self.green += 30
- if self.green > 255:
- self.green = 255
- color = pygame.Color(self.red,self.green,self.blue)
- #print("x:{:3} y:{:3} {:3} {:3} c:{}".format(x,y,x+bc,y+br,color))
- x = r*b_w
- y = c*b_h
- #pixel_array[r*b_w][c*b_h] = color
- pixel_array[x:x+b_w-1,y:y+b_h-1] = color
- pixel_array.close()
- #one = 0
-
- if self.blue_dir:
- self.blue += 2
- else:
- self.blue -= 2
- class Gobo1():
- def __init__(self,x=20,y=20):
- self.pos_x = 10
- self.pos_x_dir = 1
- self.pos_y = 30
- self.pos_y_dir = 1
- self.r = 7
- self.r_dir = 1
- self.pos_x=x
- self.pos_y=y
- def draw(self,color=[255,255,255]):
- #pixel_array = pygame.PixelArray(window)
- pixel_array = {}
- self.color = pygame.Color(color[0],color[1],color[2])
-
- x=self.pos_x
- y=self.pos_y
- x-=self.r
- y-=self.r
- pixel_array[x:x+10,y:y+10] = self.color
- x+=self.r*2
- pixel_array[x:x+10,y:y+10] = self.color
- y+=self.r*2
- x-=self.r
- pixel_array[x:x+10,y:y+10] = self.color
- pixel_array.close()
- if self.pos_x > 300:
- self.pos_x_dir = 0
- if self.pos_x <= 10:
- self.pos_x_dir = 1
- if self.pos_x_dir:
- self.pos_x += 1
- else:
- self.pos_x -= 1
- if self.r > 20:
- self.r_dir = 0
- if self.r <=7:
- self.r_dir = 1
- if self.r_dir:
- self.r+=1
- else:
- self.r-=1
- run = True
- one = 1
- blue = 0
- blue_dir = 1
- pos_x_dir = 1
- #pixel_array = pygame.PixelArray(window)
- import time
- time.sleep(1)
- grid = Grid()
- gobo1 = Gobo1()
- gobo2 = Gobo1(20,150)
- while run:
- event_read()
- if one:
- window.fill(0)
- grid.draw()
- rect = pygame.Rect(window.get_rect().center, (0, 0)).inflate(*([min(window.get_size())//2]*2))
- pygame.display.flip()
- #gobo1.draw()#20,10)
- #pygame.display.flip()
- #gobo2.draw(color=[255,0,0])
- #pygame.display.flip()
-
- pygame.display.flip()
- pg.time.wait(10)
- pygame.quit()
- exit()
|