Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import sys, pygame, os, time

class Sprite(object):
  def __init__(self):
    pygame.init()

    #definimos la pantalla
    self.size = self.width, self.height = 448,100
    self.screen = pygame.display.set_mode(self.size)

    #Cargamos el sprite
    sprite=pygame.image.load("sprite.png");
    sprite.set_colorkey((0, 180, 48));

    #Creamos el vector con los pedazos de imagenes
    self.movimiento=[]
    self.movimiento.append(sprite.subsurface(1,1,53,71))
    self.movimiento.append(sprite.subsurface(55,1,53,71))
    self.movimiento.append(sprite.subsurface(109,1,53,71))
    self.movimiento.append(sprite.subsurface(163,1,53,71))

    #definimos la velocidad y posicion inicial
    self.speed = 0.2
    self.x=-50
    self.y=20


  def movi(self):
    i = 0
    while 1:
      for event in pygame.event.get():
        if event.type == pygame.QUIT:
          pygame.quit()
          sys.exit()

      #Agregamos la el trozo de imagen i en la posicion (x, y) de la pantalla
      #y dibujamos el piso :P
      self.screen.blit(self.movimiento[i],(self.x,self.y))
      pygame.draw.line(self.screen,(0,255,0),(0,90),(448,90))

      #Mostramos en pantalla
      pygame.display.flip()

      #Un sleep para simular la velocidad
      time.sleep(self.speed)

      #Seteamos la pantalla a negro
      self.screen.fill((0,0,0))

      #Si el indice (i) del vector llega a 3 la asiganmos a 0 para volver a mostrar desde el comienzo,
      #si no, sumamos 1 al indice
      if i == 3:
        i = 0
      else:
        i = i+1

      #Hacemos que el sprite avance de 10 en 10
      self.x = self.x + 10

      #Si sale de la pantalla que vuelva al principio
      #Aumentamos la velocidad y la mostramos en pantalla
      if self.x > 460:
        self.x = -50
        self.speed = self.speed / 2
        print "Velocidad: " + str(self.speed)


theGame = Sprite()
theGame.movi()