Esempio n. 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
Esempio n. 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))
Esempio n. 3
0
        self.use_quadtree_collision = not self.use_quadtree_collision
        if self.use_quadtree_collision:
            print 'Using QuadTree Collision Detection'
        else:
            print 'Using PyGame Rect Collision'
        
    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

game = DemoGame((512, 512), NewScene)
game.run()
    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))