From d715ffb7ef74a393a5c8013967fa617fadd81e30 Mon Sep 17 00:00:00 2001 From: Tucan444 Date: Fri, 10 Sep 2021 21:08:42 +0200 Subject: [PATCH] _ --- UI/Objects/Multiscene.py | 5 +-- .../{ => Sample_Scenes}/BasicMultiscene.py | 2 +- UI/Scenes/{ => Sample_Scenes}/BasicScene.py | 0 .../LuminousCircleEffectMultiscene.py | 43 +++++++++++++++++++ .../LuminousCircleEffectScene.py | 4 +- .../MultisceneInMultiscene.py | 2 +- .../{ => Sample_Scenes}/RopeMultiscene.py | 2 +- UI/Scenes/{ => Sample_Scenes}/RopeScene.py | 0 UI/light_update_sample.py | 9 ++-- UI/main.py | 12 +++--- 10 files changed, 60 insertions(+), 19 deletions(-) rename UI/Scenes/{ => Sample_Scenes}/BasicMultiscene.py (94%) rename UI/Scenes/{ => Sample_Scenes}/BasicScene.py (100%) create mode 100644 UI/Scenes/Sample_Scenes/LuminousCircleEffectMultiscene.py rename UI/Scenes/{ => Sample_Scenes}/LuminousCircleEffectScene.py (73%) rename UI/Scenes/{ => Sample_Scenes}/MultisceneInMultiscene.py (93%) rename UI/Scenes/{ => Sample_Scenes}/RopeMultiscene.py (94%) rename UI/Scenes/{ => Sample_Scenes}/RopeScene.py (100%) diff --git a/UI/Objects/Multiscene.py b/UI/Objects/Multiscene.py index e76dc8a..e825142 100644 --- a/UI/Objects/Multiscene.py +++ b/UI/Objects/Multiscene.py @@ -22,12 +22,11 @@ class Multiscene(Scene): subscene.subscene_size = subscene.screen_size subscene.resize_screen(self.to_ints((self.matrix @ subscene.subscene_size).tolist()), True) + self.s = pygame.display.set_mode(self.screen_size) + self.subscenes_prepared = True def light_update(self): - for subscene in self.subscenes: - subscene.light_update() - for object_ in self.l_objects: object_.update() object_.blit() diff --git a/UI/Scenes/BasicMultiscene.py b/UI/Scenes/Sample_Scenes/BasicMultiscene.py similarity index 94% rename from UI/Scenes/BasicMultiscene.py rename to UI/Scenes/Sample_Scenes/BasicMultiscene.py index b7d0a8c..0952bb0 100644 --- a/UI/Scenes/BasicMultiscene.py +++ b/UI/Scenes/Sample_Scenes/BasicMultiscene.py @@ -1,5 +1,5 @@ from UI.Objects.Multiscene import Multiscene -from UI.Scenes.BasicScene import BasicScene +from UI.Scenes.Sample_Scenes.BasicScene import BasicScene from numpy import array as a from UI.Objects.nr_objects.Line import Line diff --git a/UI/Scenes/BasicScene.py b/UI/Scenes/Sample_Scenes/BasicScene.py similarity index 100% rename from UI/Scenes/BasicScene.py rename to UI/Scenes/Sample_Scenes/BasicScene.py diff --git a/UI/Scenes/Sample_Scenes/LuminousCircleEffectMultiscene.py b/UI/Scenes/Sample_Scenes/LuminousCircleEffectMultiscene.py new file mode 100644 index 0000000..8b85798 --- /dev/null +++ b/UI/Scenes/Sample_Scenes/LuminousCircleEffectMultiscene.py @@ -0,0 +1,43 @@ +from UI.Objects.Multiscene import Multiscene +from UI.Objects.nr_objects.light_objects.LuminousCircleEffect import LuminousCircleEffect +from UI.Scenes.Sample_Scenes.LuminousCircleEffectScene import LuminousCircleEffectScene +from numpy import array as a + +from UI.Objects.nr_objects.Line import Line + + +class LuminousCircleEffectMultiscene(Multiscene): + def __init__(self, scene_size): + + self.s__size = [600, 400] + + super().__init__(self.s__size[0], self.s__size[1], scene_size) + + s0 = LuminousCircleEffectScene([200, 400]) + + s1 = LuminousCircleEffectScene([400, 400]) + s1.position = a([200, 0]) + + l0 = Line(a([200, 0]), a([200, 400]), 10, (255, 100, 100), self) + + lce0 = LuminousCircleEffect(a([200, 320]), 60, (255, 100, 100), self) + + self.sort_objects(s0, s1, l0, lce0) + + self.i = 0 + + def progress(self): + if self.i == 1: + self.subscenes[0].subscene_size[0] += 1 + self.subscenes[1].subscene_size[0] -= 1 + self.subscenes[1].position[0] += 1 + + self.nr_objects[0].a[0] += 1 + self.nr_objects[0].b[0] += 1 + + self.l_objects[0].position[0] += 1 + + self.resize_subscenes() + self.i = 0 + else: + self.i += 1 diff --git a/UI/Scenes/LuminousCircleEffectScene.py b/UI/Scenes/Sample_Scenes/LuminousCircleEffectScene.py similarity index 73% rename from UI/Scenes/LuminousCircleEffectScene.py rename to UI/Scenes/Sample_Scenes/LuminousCircleEffectScene.py index 0cea863..77f9fcb 100644 --- a/UI/Scenes/LuminousCircleEffectScene.py +++ b/UI/Scenes/Sample_Scenes/LuminousCircleEffectScene.py @@ -11,6 +11,6 @@ class LuminousCircleEffectScene(Scene): super().__init__(*s__size, screen_size, bg) - ce0 = LuminousCircleEffect(a([300, 200]), 100, (80, 120, 80), self, circles_n=600) + lce0 = LuminousCircleEffect(a([300, 200]), 100, (80, 120, 80), self, circles_n=60) - self.sort_objects(ce0) + self.sort_objects(lce0) diff --git a/UI/Scenes/MultisceneInMultiscene.py b/UI/Scenes/Sample_Scenes/MultisceneInMultiscene.py similarity index 93% rename from UI/Scenes/MultisceneInMultiscene.py rename to UI/Scenes/Sample_Scenes/MultisceneInMultiscene.py index 3a75641..f74c3bb 100644 --- a/UI/Scenes/MultisceneInMultiscene.py +++ b/UI/Scenes/Sample_Scenes/MultisceneInMultiscene.py @@ -1,5 +1,5 @@ from UI.Objects.Multiscene import Multiscene -from UI.Scenes.BasicMultiscene import BasicMultiscene +from UI.Scenes.Sample_Scenes.BasicMultiscene import BasicMultiscene from numpy import array as a from UI.Objects.nr_objects.Line import Line diff --git a/UI/Scenes/RopeMultiscene.py b/UI/Scenes/Sample_Scenes/RopeMultiscene.py similarity index 94% rename from UI/Scenes/RopeMultiscene.py rename to UI/Scenes/Sample_Scenes/RopeMultiscene.py index 107c8ea..af7c552 100644 --- a/UI/Scenes/RopeMultiscene.py +++ b/UI/Scenes/Sample_Scenes/RopeMultiscene.py @@ -2,7 +2,7 @@ from numpy import array as a from UI.Objects.Multiscene import Multiscene from UI.Objects.nr_objects.Line import Line -from UI.Scenes.RopeScene import RopeScene +from UI.Scenes.Sample_Scenes.RopeScene import RopeScene class RopeMultiscene(Multiscene): diff --git a/UI/Scenes/RopeScene.py b/UI/Scenes/Sample_Scenes/RopeScene.py similarity index 100% rename from UI/Scenes/RopeScene.py rename to UI/Scenes/Sample_Scenes/RopeScene.py diff --git a/UI/light_update_sample.py b/UI/light_update_sample.py index 7b0e558..8085c68 100644 --- a/UI/light_update_sample.py +++ b/UI/light_update_sample.py @@ -1,17 +1,18 @@ from numpy import array as a import time -from UI.Scenes.LuminousCircleEffectScene import LuminousCircleEffectScene + +from UI.Scenes.Sample_Scenes.LuminousCircleEffectMultiscene import LuminousCircleEffectMultiscene +from UI.Scenes.Sample_Scenes.LuminousCircleEffectScene import LuminousCircleEffectScene screen_size = a([1000, 800]) -scene = LuminousCircleEffectScene(screen_size) +scene = LuminousCircleEffectMultiscene(screen_size) scene.update() for i in range(400): - scene.update() - scene.save(f"Render/{i}.png", screen_size) + scene.light_update() time.sleep(0.05) diff --git a/UI/main.py b/UI/main.py index 04d4616..6661561 100644 --- a/UI/main.py +++ b/UI/main.py @@ -1,17 +1,15 @@ import pygame.mouse -from UI.Scenes.BasicScene import BasicScene -from UI.Scenes.BasicMultiscene import BasicMultiscene -from UI.Scenes.MultisceneInMultiscene import MultisceneInMultiscene -from UI.Scenes.RopeScene import RopeScene -from UI.Scenes.RopeMultiscene import RopeMultiscene -from UI.Scenes.LuminousCircleEffectScene import LuminousCircleEffectScene +from UI.Scenes.Sample_Scenes.BasicMultiscene import BasicMultiscene +from UI.Scenes.Sample_Scenes.BasicScene import BasicScene +from UI.Scenes.Sample_Scenes.LuminousCircleEffectMultiscene import LuminousCircleEffectMultiscene +from UI.Scenes.Sample_Scenes.LuminousCircleEffectScene import LuminousCircleEffectScene from numpy import array as a import time screen_size = a([200, 500]) -scene = LuminousCircleEffectScene(screen_size) +scene = LuminousCircleEffectMultiscene(screen_size) mouse_pos = [0, 0] clicked = False