demo_animation.py 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651
  1. import pygame
  2. import pygame.gfxdraw
  3. import math
  4. import random
  5. import os
  6. pg = pygame
  7. pygame.init()
  8. main_size=(600,300)
  9. main_size=(1600,900)
  10. #window = pygame.display.set_mode(main_size,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  11. #window = pygame.display.set_mode(main_size,pg.RESIZABLE|pygame.DOUBLEBUF,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  12. window = pygame.display.set_mode(main_size,pg.RESIZABLE)#,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  13. #window = pygame.display.set_mode(main_size,pg.NOFRAME,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  14. #window = pygame.display.set_mode(main_size,pg.NOFRAME,32)#,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  15. #window = pygame.display.set_mode(main_size,pygame.FULLSCREEN) #x left->right ,y top-> bottom
  16. # pygame.display.set_mode((self.width, int(self.height+(self.height*0.15))) ,pygame.FULLSCREEN)
  17. #pg.display.set_mode(window,pg.DOUBLEBUF) #|pg.OPENGL)
  18. pg.display.set_caption('LibreLight Animation')
  19. def colorize(image, newColor):
  20. image = image.copy()
  21. image.fill((0, 0, 0, 255), None, pygame.BLEND_RGBA_MULT)
  22. image.fill(newColor[0:4] , None, pygame.BLEND_RGBA_ADD)
  23. return image
  24. img2 = pygame.image.load(os.path.join( 'brush.png'))
  25. img2 = pygame.transform.scale(img2, (25, 25))
  26. img2.set_colorkey([0,0,0] ) #pygame.image.BLACK)
  27. #player_rect2 = img2.get_rect(center=(200, 200))
  28. #window.blit(img2, player_rect2)
  29. class _Particale():
  30. def __init__(self,x,y,xvel,yvel,radius,color):
  31. self.x = x
  32. self.y = y
  33. self.xvel = xvel
  34. self.yvel = yvel
  35. self.radius = radius
  36. self.color = color
  37. self.time = time.time()
  38. self.start = time.time()
  39. self.start2 = random.randint(1,20)/10.
  40. if self.start2 > 1.8:
  41. self.start2 += random.randint(1,20)/10.
  42. self.colors = [(255,255,0),(255,210,0),(255,90,0)]
  43. self.color = random.choice(self.colors)
  44. def draw(self,win):
  45. if time.time() > self.time+0.05:
  46. self.x += self.xvel
  47. self.y += self.yvel
  48. self.time = time.time()
  49. if self.start+self.start2 < time.time():
  50. self.radius -= 0.1
  51. #if time.time() > self.time+0.2:
  52. #pygame.draw.circle(win, color, (int(self.x),int(self.y)),self.radius)
  53. color = self.color
  54. x= round(self.x)
  55. y= round(self.y)
  56. r = round(self.radius)
  57. if len(color) == 3:
  58. color = list(color)
  59. color.append(0)
  60. #pygame.gfxdraw.filled_circle(win, x,y ,r,color )#[0,0,255])
  61. #pygame.gfxdraw.aacircle(win, x,y ,r,color )#[0,0,255])
  62. r = round(r*5)
  63. #img3 = img2.copy()
  64. #img3 = colorize(img2, color ) #(0, 0, 255,15) )
  65. #img3 = colorize(img2,(255, 120, 255,15) )
  66. img3 = colorize(img2,color )
  67. img3 = pygame.transform.scale(img3, (r, r))
  68. player_rect3 = img3.get_rect(center=(x,y))
  69. window.blit(img3, player_rect3)
  70. class Particales():
  71. def __init__(self):
  72. self.data = []
  73. def add(self,x,y):
  74. for z in range(random.randint(1,3)):
  75. s = 10
  76. xvel = random.randint(0,s) -(s/2)
  77. yvel = random.randint(0,s) -(s/2)
  78. r = random.randint(1,2)
  79. p = _Particale(x ,y ,xvel ,yvel,r,(255,255,255))
  80. self.data.append(p)
  81. def draw(self,win):
  82. rem = []
  83. for p in self.data:
  84. p.draw(win)
  85. if p.radius <= 0:
  86. rem.append(p)
  87. for p in rem:
  88. self.data.remove(p)
  89. particales = Particales()
  90. def event_read():
  91. inc = 1
  92. for event in pg.event.get():
  93. print("event",event)
  94. move_x = 0
  95. move_y = 0
  96. move_z = 0
  97. rot_x = 0
  98. rot_y = 0
  99. rot_z = 0
  100. if event.type== pg.QUIT:
  101. print("quit")
  102. pg.quit()
  103. quit()
  104. sys.exit()
  105. if "key" in dir(event):
  106. if event.key == 27: #ESC pg.KEYDOWN:
  107. print("quit")
  108. pg.quit()
  109. quit()
  110. sys.exit()
  111. class Grid():
  112. def __init__(self):
  113. pixA = []
  114. for c in range(10):
  115. row = []
  116. for r in range(10):
  117. color = [r,r,r]
  118. row.append(color)
  119. pixA.append(row)
  120. self.pixA = pixA
  121. self.red = 0
  122. self.green = 0
  123. self.blue = 0
  124. self.blue_dir = 1
  125. def draw(self):
  126. pixA = self.pixA
  127. #pixel_array = pygame.PixelArray(window)
  128. pixel_array = {} # pygame.PixelArray(window)
  129. #pixel_array.open()
  130. a_x_max = main_size[1] #n600 #pixel_array[0])
  131. a_y_max = main_size[0] #300 #pixel_array)
  132. b_x_max = len(pixA[0])
  133. b_y_max = len(pixA)
  134. b_h = int(a_x_max / b_x_max)
  135. b_w = int(a_y_max / b_y_max)
  136. self.red = 0
  137. self.green = 0
  138. #blue = 255
  139. for r,row in enumerate(pixA):
  140. self.red += 30
  141. if self.red > 255:
  142. self.red = 255
  143. self.green = 0
  144. if self.blue > 255:
  145. self.blue = 255
  146. self.blue_dir = 0
  147. if self.blue <= 0:
  148. self.blue = 0
  149. self.blue_dir = 1
  150. for c,col in enumerate(row):
  151. self.green += 30
  152. if self.green > 255:
  153. self.green = 255
  154. color = pygame.Color(self.red,self.green,self.blue)
  155. #print("x:{:3} y:{:3} {:3} {:3} c:{}".format(x,y,x+bc,y+br,color))
  156. x = r*b_w
  157. y = c*b_h
  158. #pixel_array[r*b_w][c*b_h] = color
  159. #pixel_array[x:x+b_w-1,y:y+b_h-1] = color
  160. k = "{}:{},{}:{} {}".format(x,x+b_w-1,y,y+b_h-1,color) #x,x+10,y,y+10)
  161. pixel_array[k] = (x,x+b_w-1,y,y+b_h-1,color)
  162. #pixel_array.close()
  163. #one = 0
  164. if self.blue_dir:
  165. self.blue += 10
  166. else:
  167. self.blue -= 10
  168. return pixel_array
  169. class Flow():
  170. def __init__(self,x,y,ang=0):
  171. self._pos_center = (x,y)
  172. self._quadrant = 0
  173. self._ang = ang
  174. self._ang_dir = 1
  175. self._r = 2 #
  176. self._orbit = 100 # orbit,umlaufbahn
  177. self._color_org = [255,255,0]
  178. self._color = [0,0,255,255]
  179. self._x=0
  180. self._y=0
  181. self._ix = 0
  182. self._iy = 0
  183. def rotate(self):
  184. q = 0
  185. if self._ang_dir:
  186. self._ang += 0.5 # degree
  187. else:
  188. self._ang -= 1 # degree
  189. if self._ang >= 360:
  190. self._ang = 0 #self._ang -360
  191. elif self._ang < 0:
  192. self._ang = 360
  193. self._ix = 0 # math.sin(math.radians(ang))*self._orbit
  194. self._iy = int(self._orbit *2 * (self._ang /360)) # math.sqrt(self._orbit**2 - self._ix**2)
  195. def draw(self,x,y):
  196. self._pos_center = (x,y)
  197. self.rotate()
  198. self._x = int(self._pos_center[0] + self._ix)
  199. self._y = int(self._pos_center[1] + self._iy)
  200. f=1
  201. if self._ang > 300:
  202. f = (self._ang -300) / 60
  203. f = 1-f
  204. rgb = self._color_org # = [255,255,0]
  205. #self._color = [ int(rgb[0]*f) , int(rgb[1]*f) ,int(rgb[2]*f) ,0]
  206. elif self._ang < 60:
  207. f = self._ang / 60
  208. rgb = self._color_org # = [255,255,0]
  209. #self._color = [ int(rgb[0]*f) , int(rgb[1]*f) ,int(rgb[2]*f) ,0 ]
  210. self._color[3] = int(f*255)
  211. #print(self._color)
  212. #print("ang {} {} {:3} {:3} {}".format( self._ang,self._quadrant,self._x,self._y,self._color))
  213. #print(self._ang,f)
  214. #print(self,"Q:",int(self._quadrant),self._ang)
  215. return (self._x,self._y,self._color)
  216. class Planet():
  217. def __init__(self,x,y,ang=0):
  218. self._pos_center = (x,y)
  219. self._quadrant = 0
  220. self._ang = ang
  221. self._ang_dir = 1
  222. self._r = 2 #
  223. self._orbit = 60 # orbit,umlaufbahn
  224. self._color_org = [255,255,0]
  225. self._color = [0,255,0]
  226. self._x=0
  227. self._y=0
  228. self._ix = 0
  229. self._iy = 0
  230. def rotate(self):
  231. q = 0
  232. if self._ang_dir:
  233. self._ang += 2 # degree
  234. else:
  235. self._ang -= 1 # degree
  236. if self._ang >= 360:
  237. self._ang = 0 #self._ang -360
  238. elif self._ang < 0:
  239. self._ang = 360
  240. ang = self._ang
  241. self._quadrant = ang//90
  242. ang -= self._quadrant * 90
  243. self._ix = math.sin(math.radians(ang))*self._orbit
  244. self._iy = math.sqrt(self._orbit**2 - self._ix**2)
  245. y = self._iy
  246. x = self._ix
  247. if self._quadrant == 1:
  248. self._iy = -x
  249. self._ix = y
  250. elif self._quadrant == 2:
  251. self._iy = -y
  252. self._ix = -x
  253. elif self._quadrant == 3:
  254. self._iy = x
  255. self._ix = -y
  256. def draw(self,x,y):
  257. self._pos_center = (x,y)
  258. self.rotate()
  259. self._x = int(self._pos_center[0] + self._ix)
  260. self._y = int(self._pos_center[1] + self._iy)
  261. if self._ang > 300:
  262. f = (self._ang -300) / 60
  263. f = 1-f
  264. rgb = self._color_org # = [255,255,0]
  265. self._color = [ int(rgb[0]*f) , int(rgb[1]*f) ,int(rgb[2]*f) ]
  266. elif self._ang < 60:
  267. f = self._ang / 60
  268. rgb = self._color_org # = [255,255,0]
  269. self._color = [ int(rgb[0]*f) , int(rgb[1]*f) ,int(rgb[2]*f) ]
  270. #print("ang {} {} {:3} {:3} {}".format( self._ang,self._quadrant,self._x,self._y,self._color))
  271. #print(self,"Q:",int(self._quadrant),self._ang)
  272. return (self._x,self._y,self._color)
  273. class Animation():
  274. def __init__(self,x=20,y=20,speed=1,_dir=1):
  275. self.pos_x=x
  276. self.pos_x_dir = 1
  277. self.pos_y=y
  278. self.pos_y_dir = 1
  279. self.r = 7
  280. self.r_dir = 1
  281. self.speed = speed
  282. self.ang = 0
  283. self.ix=0
  284. self.iy=0
  285. self.planetes = []
  286. a = 360
  287. d = 3
  288. for i in range(d+1):
  289. i=i+1
  290. p = Flow(self.pos_x,self.pos_y,ang=a/d*i)
  291. p._ang_dir = _dir
  292. self.planetes.append(p)
  293. def rotate(self):
  294. self.ix = math.sin(math.radians(0))*self.r
  295. self.iy = math.sqrt(self.r**2 - self.ix**2)
  296. self.ang+=1
  297. if self.ang >= 360:
  298. self.ang = 0
  299. def draw(self,color=[255,255,255,255]):
  300. self.rotate()
  301. #pixel_array = pygame.PixelArray(window)
  302. pixel_array = {}
  303. self.color = pygame.Color(color[0],color[1],color[2],color[3])
  304. x=self.pos_x
  305. y=self.pos_y
  306. for i,planet in enumerate(self.planetes):
  307. px,py,pcolor = planet.draw(x,y)
  308. k = "{}.{}:{},{}:{}".format(i,px,px+10,py,py+10)
  309. pixel_array[k] = (px,px,py,py , pcolor )
  310. if self.pos_x > 300:
  311. self.pos_x_dir = 0
  312. if self.pos_x <= self.speed:
  313. self.pos_x_dir = 1
  314. if self.pos_x_dir:
  315. self.pos_x += self.speed
  316. else:
  317. self.pos_x -= self.speed
  318. if self.r > 20:
  319. self.r_dir = 0
  320. if self.r <=7:
  321. self.r_dir = 1
  322. if self.r_dir:
  323. self.r+=1
  324. else:
  325. self.r-=1
  326. return pixel_array
  327. class Gobo1():
  328. def __init__(self,x=20,y=20,speed=1,_dir=1,r=17):
  329. self.pos_x=x
  330. self.pos_x_dir = 1
  331. self.pos_y=y
  332. self.pos_y_dir = 1
  333. self.r = r
  334. self.r_dir = 1
  335. self.speed = speed
  336. self.ang = 0
  337. self.ix=0
  338. self.iy=0
  339. self.planetes = []
  340. a = 360
  341. d = 3
  342. for i in range(d+1):
  343. i=i+1
  344. p = Planet(self.pos_x,self.pos_y,ang=a/d*i)
  345. p._ang_dir = _dir
  346. self.planetes.append(p)
  347. def rotate(self):
  348. self.ix = math.sin(math.radians(0))*self.r
  349. self.iy = math.sqrt(self.r**2 - self.ix**2)
  350. self.ang+=1
  351. if self.ang >= 360:
  352. self.ang = 0
  353. def draw(self,color=[255,255,255]):
  354. self.rotate()
  355. #pixel_array = pygame.PixelArray(window)
  356. pixel_array = {}
  357. self.color = pygame.Color(color[0],color[1],color[2])
  358. x=self.pos_x
  359. y=self.pos_y
  360. for i,planet in enumerate(self.planetes):
  361. px,py,pcolor = planet.draw(x,y)
  362. k = "{}.{}:{},{}:{}".format(i,px,px+10,py,py+10)
  363. pixel_array[k] = (px,px,py,py , pcolor )
  364. if self.pos_x > 1600:
  365. self.pos_x_dir = 0
  366. if self.pos_x <= self.speed:
  367. self.pos_x_dir = 1
  368. if self.pos_x_dir:
  369. self.pos_x += self.speed
  370. else:
  371. self.pos_x -= self.speed
  372. if self.r > 20:
  373. self.r_dir = 0
  374. if self.r <=7:
  375. self.r_dir = 1
  376. if self.r_dir:
  377. self.r+=1
  378. else:
  379. self.r-=1
  380. return pixel_array
  381. def vdim(color,dim):
  382. color[0] = int(color[0]/255*dim)
  383. color[1] = int(color[1]/255*dim)
  384. color[2] = int(color[2]/255*dim)
  385. return color
  386. run = True
  387. one = 1
  388. blue = 0
  389. blue_dir = 1
  390. pos_x_dir = 1
  391. #pixel_array = pygame.PixelArray(window)
  392. import time
  393. #time.sleep(1)
  394. grid = Grid()
  395. gobo1 = Gobo1(main_size[0],main_size[1]/3,speed=3)
  396. gobo2 = Gobo1(200,150,speed=0,_dir=0,r=5)
  397. gobo3 = Gobo1(main_size[0]/2,main_size[1]/3,speed=0,r=30)
  398. anim1 = Animation(main_size[0]/2,main_size[1]/2,speed=1)
  399. #eg.
  400. img = pygame.image.load(os.path.join( 'brush.png'))
  401. img = pygame.transform.scale(img, (25, 25))
  402. img.set_colorkey([0,0,0] ) #pygame.image.BLACK)
  403. player_rect = img.get_rect(center=(200, 200))
  404. #window.blit(img, player_rect)
  405. while run:
  406. event_read()
  407. if one:
  408. if 0:
  409. d=grid.draw()
  410. d1=gobo1.draw()#20,10)
  411. d2=gobo2.draw()#20,10)
  412. d3=gobo3.draw()#20,10)
  413. a1=anim1.draw()#20,10)
  414. window.fill(0) #[255,0,0])
  415. pg.time.wait(10)
  416. pg.time.wait(10)
  417. pg.time.wait(10)
  418. pixel_array = pygame.PixelArray(window)
  419. vd = 255#80
  420. for k in d:
  421. i = d[k]
  422. #rect = pygame.draw.circle(window,i[4] , (i[0]+12,i[2]+12) ,10)
  423. #rect = pygame.gfxdraw.aacircle(window, i[0]+12,i[2]+12 ,10,i[4])
  424. #print(i)
  425. i = list(i)
  426. i[4] = vdim(i[4],vd)
  427. rect = pygame.gfxdraw.box(window, (i[0],i[2] ,i[1]-5,i[3]-5) ,i[4])
  428. #rect = pygame.Rect(window.get_rect().center, (0, 0)).inflate(*([min(window.get_size())//2]*2))
  429. #pygame.display.flip()
  430. for k in d1:
  431. i = d1[k]
  432. #print( k,"i",i)
  433. #pixel_array[i[0]:i[1],i[2]:i[3]] = i[4] #(x,x+10,y,y+10 , self.color )
  434. i = list(i)
  435. i[4] = vdim(i[4],vd)
  436. #arect = pygame.draw.circle(window,i[4] , (i[0],i[2]) ,10)
  437. #rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,10,i[4])
  438. rect = pygame.gfxdraw.filled_circle(window, i[0],i[2] ,20,i[4] )#[0,0,255])
  439. rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,20,i[4] )#[0,0,255])
  440. for k in d2:
  441. i = d2[k]
  442. i = list(i)
  443. i[4] = vdim(i[4],vd)
  444. #print( k,"i",i)
  445. #pixel_array[i[0]:i[1],i[2]:i[3]] = i[4] #(x,x+10,y,y+10 , self.color )
  446. #rect = pygame.draw.circle(window,i[4] , (i[0],i[2]) ,10)
  447. #rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,10,[0,0,255])
  448. rect = pygame.gfxdraw.filled_circle(window, i[0],i[2] ,20,i[4] )#[0,0,255])
  449. rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,20,i[4] )#[0,0,255])
  450. for k in d3:
  451. i = d2[k]
  452. i = list(i)
  453. i[4] = vdim(i[4],vd)
  454. #print( k,"i",i)
  455. #pixel_array[i[0]:i[1],i[2]:i[3]] = i[4] #(x,x+10,y,y+10 , self.color )
  456. #rect = pygame.draw.circle(window,i[4] , (i[0],i[2]) ,10)
  457. #rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,10,[0,0,255])
  458. rect = pygame.gfxdraw.filled_circle(window, i[0],i[2] ,10,i[4] )#[0,0,255])
  459. rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,10,i[4] )#[0,0,255])
  460. for k in a1:
  461. i = a1[k]
  462. #print( k,"i",i)
  463. #pixel_array[i[0]:i[1],i[2]:i[3]] = i[4] #(x,x+10,y,y+10 , self.color )
  464. #print("anim",i)
  465. i = list(i)
  466. _v = i[4]
  467. vd = 200
  468. #_v = vdim(i[4],vd)
  469. rect = pygame.gfxdraw.filled_circle(window, i[0],i[2] ,10,_v )#[0,0,255])
  470. rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,10,i[4] )#[0,0,255])
  471. vd = 255
  472. #_v = vdim(i[4],vd)
  473. #rect = pygame.draw.circle(window,i[4] , (i[0],i[2]) ,10)
  474. rect = pygame.gfxdraw.filled_circle(window, i[0],i[2] ,20,_v )#[0,0,255])
  475. rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,20,i[4] )#[0,0,255])
  476. #pixel_array.close()
  477. #pygames.fill([255,0,0,127],(10,10))
  478. if 1:
  479. #window.fill(10)
  480. vd =255
  481. d1=gobo1.draw()#20,10)
  482. d2=gobo2.draw()#20,10)
  483. d3=gobo3.draw()#20,10)
  484. a1=anim1.draw()#20,10)
  485. window.fill(0) #[255,0,0])
  486. for k in d1:
  487. i = d1[k]
  488. #print( k,"i",i)
  489. #pixel_array[i[0]:i[1],i[2]:i[3]] = i[4] #(x,x+10,y,y+10 , self.color )
  490. i = list(i)
  491. i[4] = vdim(i[4],vd)
  492. #arect = pygame.draw.circle(window,i[4] , (i[0],i[2]) ,10)
  493. ##rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,10,i[4])
  494. #rect = pygame.gfxdraw.filled_circle(window, i[0],i[2] ,20,i[4] )#[0,0,255])
  495. rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,20,i[4] )#[0,0,255])
  496. #particales.add(i[0],i[2])
  497. #particales.draw(window)
  498. #pygame.gfxdraw.pixel(window,i[0],i[2],i[4])
  499. #pygame.gfxdraw.pixel(window,i[0]+1,i[2],i[4])
  500. #pygame.gfxdraw.pixel(window,i[0]+1,i[2]+1,i[4])
  501. #pygame.gfxdraw.pixel(window,i[0],i[2]+1,i[4])
  502. #pygame.gfxdraw.pixel(window,i[0]-1,i[2]+1,i[4])
  503. #pygame.gfxdraw.pixel(window,i[0]-1,i[2],i[4])
  504. #pygame.gfxdraw.pixel(window,i[0]-1,i[2]-1,i[4])
  505. for k in d2:
  506. i = d2[k]
  507. #print( k,"i",i)
  508. #pixel_array[i[0]:i[1],i[2]:i[3]] = i[4] #(x,x+10,y,y+10 , self.color )
  509. i = list(i)
  510. i[4] = vdim(i[4],vd)
  511. #rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,10,i[4] )#[0,0,255])
  512. pygame.gfxdraw.line(window,i[0],i[2]-10,i[0],i[2]+10,(255,0,255))
  513. for k in d3:
  514. i = d3[k]
  515. i = list(i)
  516. i[4] = vdim(i[4],vd)
  517. #rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,30,i[4] )#[0,0,255])
  518. rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,30,i[4] )#[0,0,255])
  519. pygame.gfxdraw.box(window,(i[0]-10,i[2]-10,20,20),(255,255,0))
  520. for k in a1:
  521. i = a1[k]
  522. #print( k,"i",i)
  523. #pixel_array[i[0]:i[1],i[2]:i[3]] = i[4] #(x,x+10,y,y+10 , self.color )
  524. #print("anim",i)
  525. i = list(i)
  526. _v = i[4]
  527. vd = 200
  528. #_v = vdim(i[4],vd)
  529. #rect = pygame.gfxdraw.filled_circle(window, i[0],i[2] ,10,_v )#[0,0,255])
  530. #rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,10,i[4] )#[0,0,255])
  531. vd = 255
  532. #_v = vdim(i[4],vd)
  533. #rect = pygame.draw.circle(window,i[4] , (i[0],i[2]) ,10)
  534. rect = pygame.gfxdraw.filled_circle(window, i[0],i[2] ,20,_v )#[0,0,255])
  535. rect = pygame.gfxdraw.aacircle(window, i[0],i[2] ,20,i[4] )#[0,0,255])
  536. #print(i)
  537. #particales.add(i[0],i[2])
  538. #particales.draw(window)
  539. #pygame.gfxdraw.pixel(window,i[0],i[2],i[4])
  540. #pygame.gfxdraw.pixel(window,i[0]+1,i[2],i[4])
  541. #pygame.gfxdraw.pixel(window,i[0]+1,i[2]+1,i[4])
  542. #pygame.gfxdraw.pixel(window,i[0],i[2]+1,i[4])
  543. #pygame.gfxdraw.pixel(window,i[0]-1,i[2]+1,i[4])
  544. #pygame.gfxdraw.pixel(window,i[0]-1,i[2],i[4])
  545. #pygame.gfxdraw.pixel(window,i[0]-1,i[2]-1,i[4])
  546. window.blit(img, player_rect)
  547. #pygame.display.flip()
  548. #gobo2.draw(color=[255,0,0])
  549. #pygame.display.flip()
  550. #pg.time.wait(10)
  551. pygame.display.flip()
  552. pg.time.wait(10)
  553. pygame.quit()
  554. exit()