#! /usr/bin/env python import pygame from pygame.locals import * from twisted.internet.protocol import DatagramProtocol from twisted.internet import reactor, task class Network(DatagramProtocol): def datagramReceived(self, data, (host, port)): print "received %r from %s:%d" % (data, host, port) class Player(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self, self.containers) self.image = pygame.Surface((32, 32)) clr=75 for i in range(32): clr += 4 self.image.fill((clr, 0, 0), (i, 0, 1, 32)) self.rect = self.image.get_rect() def update(self): self.rect.center = pygame.mouse.get_pos() #Network.transport.write(self.rect.x, ('208.101.16.146', 9999)) class Other(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self, self.containers) self.image = pygame.Surface((32, 32)) clr=75 for i in range(32): clr += 4 self.image.fill((0, clr, 0), (i, 0, 1, 32)) self.rect = self.image.get_rect() def setCenter(self, pos): self.rect.center = pos class Game: def __init__(self): pygame.init() event_loop = task.LoopingCall(self.pygame_loop) event_loop.start(0.2, now=True) self.display_loop = task.LoopingCall(self.update) def pygame_loop(self): for event in pygame.event.get(): #print event if((event.type == KEYDOWN and event.key == K_ESCAPE) or event.type == QUIT): reactor.stop() def update(self): print "lol" pygame.display.set_caption("Online Test Thingy") self.screen = pygame.display.set_mode((640, 480), HWSURFACE|DOUBLEBUF) self.sprites = pygame.sprite.RenderUpdates() Player.containers = self.sprites Other.containers = self.sprites self.other = Other() self.player = Player() pygame.mouse.set_visible(0) self.other.setCenter((320, 240)) self.screen.fill((0, 0, 255)) clr=55 for i in range(65): clr += 3 self.screen.fill((0, 0, clr), (i*10, 0, 10, 480)) self.sprites.draw(self.screen) self.sprites.update() pygame.display.flip() if __name__ == "__main__": Game() reactor.listenUDP(0, Network()) reactor.run()