예제 #1
0
    def on_touch_up(self, touch):
        if self.init_pos is None:
            return

        self.final_pos = touch.x, touch.y
        x1, y1 = self.init_pos
        d = int(utils.distance(self.final_pos, self.init_pos))

        mouse_x_y = touch.x, touch.y
        if d > 20:
            vertices = utils.constructTriangleFromLine(self.init_pos,
                                                       mouse_x_y)
            self.game.renderer.add_triangle(vertices, self.color)
            self.saved = d
        elif self.saved is not None:
            vertices = utils.constructTriangleFromLine(
                self.init_pos,
                (self.init_pos[0], self.init_pos[1] - self.saved))
            self.game.renderer.add_triangle(vertices, self.color)

        if self.draw_altitude is not None and self.draw_triangle is not None:
            self.game.canvas.remove(self.draw_altitude)
            self.game.canvas.remove(self.draw_triangle)

        self.draw_altitude = None
        self.draw_triangle = None
        self.init_pos = None
        self.final_pos = None
예제 #2
0
파일: tools.py 프로젝트: vipulroxx/physics
    def on_touch_up(self, touch):
        if self.init_pos is None:
            return

        self.final_pos = touch.x, touch.y
        x1, y1 = self.init_pos
        d = int(utils.distance(self.final_pos, self.init_pos))
        
        mouse_x_y = touch.x, touch.y
        if d>20:
            vertices = utils.constructTriangleFromLine(self.init_pos,
                                                   mouse_x_y)
            self.game.renderer.add_triangle(vertices, self.color)
            self.saved = d
        elif self.saved is not None:
            vertices = utils.constructTriangleFromLine(
                self.init_pos,
                (self.init_pos[0], self.init_pos[1]-self.saved))
            self.game.renderer.add_triangle(vertices, self.color)

        if self.draw_altitude is not None and self.draw_triangle is not None:
            self.game.canvas.remove(self.draw_altitude)
            self.game.canvas.remove(self.draw_triangle)

        self.draw_altitude = None
        self.draw_triangle = None
        self.init_pos = None
        self.final_pos = None
예제 #3
0
파일: tools.py 프로젝트: vipulroxx/physics
    def draw(self, x, y):
        x1, y1 = self.init_pos

        if self.draw_triangle is not None:
            mouse_x_y = x, y

            vertices = utils.constructTriangleFromLine(self.init_pos, mouse_x_y)
            self.draw_triangle.points = vertices
            self.draw_altitude.points = [x, y, x1, y1]
        else:
            with self.game.canvas:
                self.color = utils.random_color()
                Color(*self.color, mode="rgba")
                self.draw_triangle = Triangle(
                    points=utils.get_triangle_points(x1, y1, x, y))
                Color(*utils.random_color(), mode="rgba")
                self.draw_altitude = \
                    Line(points=[x1, y1, x, y],
                         width=LINE_WIDTH, cap="square")
예제 #4
0
    def draw(self, x, y):
        x1, y1 = self.init_pos

        if self.draw_triangle is not None:
            mouse_x_y = x, y

            vertices = utils.constructTriangleFromLine(self.init_pos,
                                                       mouse_x_y)
            self.draw_triangle.points = vertices
            self.draw_altitude.points = [x, y, x1, y1]
        else:
            with self.game.canvas:
                self.color = utils.random_color()
                Color(*self.color, mode="rgba")
                self.draw_triangle = Triangle(
                    points=utils.get_triangle_points(x1, y1, x, y))
                Color(*utils.random_color(), mode="rgba")
                self.draw_altitude = \
                    Line(points=[x1, y1, x, y],
                         width=LINE_WIDTH, cap="square")