예제 #1
0
 def onMouseMotion(self, event):
     p = DemoGame.camera_to_world(event.pos)
     
     if self.use_quadtree_collision:
         r = (p[0], p[1], 8, 8)
         current_hits = self.quadtree_visualizer.quadtree.hit(r)
     
     else:
         r = pygame.Rect(p[0], p[1], 8, 8)
         current_hits = []
         indexes = r.collidelistall([pygame.Rect(r[0], r[1], r[2], r[3]) for r in self.items])
         for index in indexes:
             current_hits.append(self.items[index])
     
     for rect in self.last_hits:
         rect.color = 255, 255, 255
     
     for rect in current_hits:
         rect.color = 0, 255, 0
         
     self.last_hits = current_hits
예제 #2
0
 def onMouseDown(self, event):
     if event.button is 1:
         p = DemoGame.camera_to_world(event.pos)
         
         d = 2 ** random.randint(1,5)
         self.quadtree.insert(RectComponent(p[0], p[1], d, d))
예제 #3
0
    def onMouseMotion(self, event):
        p = DemoGame.camera_to_world(event.pos)
        r = (p[0], p[1], 1, 1)

        self.quadtree_visualizer.quadtree = QuadTree([r], (0, 0, 512, 512))