Exemplo n.º 1
0
    def loadForms(self, src):
        mi = loadImage(src)

        start_pos = []
        start_c = []
        forms = []

        #start_c = color(0)
        #start_p = PVector(0,0)
        for x in range(mi.width):
            for y in range(mi.height):
                if not (mi.get(x, y) == color(0)
                        or mi.get(x, y) == color(255)):
                    start_pos.append(PVector(x, y))
                    start_c.append(mi.get(x, y))

        for k in range(len(start_pos)):
            tiles = []
            self.floodFill(mi, tiles, floor(start_pos[k].x),
                           floor(start_pos[k].y), start_c[k])
            form = Form(
                tiles,
                PVector(
                    575 + random(-50, 25), height / 2 + height /
                    (len(start_pos) + 3) * (k - len(start_pos) / 2)))
            if start_c[k] == color(255, 0, 0):
                form.setStateAll(1)
            if start_c[k] == color(0, 255, 0):
                form.setStateAll(2)
            if start_c[k] == color(0, 0, 255):
                form.setStateAll(3)

            form.angle = floor(random(4) + 1) * HALF_PI
            forms.append(form)
        return forms