Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import sys
- import sdl2.ext
- if len(sys.argv) == 1:
- print ("Usage: imv <filename>")
- sys.exit(0)
- sdl2.ext.init()
- factory = sdl2.ext.SpriteFactory(sdl2.ext.SOFTWARE)
- sprite = factory.from_image(sys.argv[1])
- rw,rh = sprite.size
- w = rw
- h = rh
- if w > 640:
- w = 640
- if h > 480:
- h = 480
- window = sdl2.ext.Window(sys.argv[1], size=(w, h))
- window.show()
- spriterenderer = factory.create_sprite_render_system(window)
- spriterenderer.render(sprite)
- movspeed = 30
- lastx = 0
- lasty = 0
- def move(x,y):
- global lastx
- global lasty
- lastx = lastx + x * movspeed
- lasty = lasty + y * movspeed
- if lastx > 0:
- lastx = 0
- if lasty > 0:
- lasty = 0
- if rh + lasty - h < 0:
- lasty = h - rh
- if rw + lastx - w < 0:
- lastx = w - rw
- sprite.x = lastx
- sprite.y = lasty
- spriterenderer.render(sprite)
- running = True
- while running:
- events = sdl2.ext.get_events()
- for event in events:
- if event.type == sdl2.SDL_QUIT:
- running = False
- break
- if event.type == sdl2.SDL_KEYDOWN:
- if event.key.keysym.sym == sdl2.SDLK_UP:
- move(0, 1)
- elif event.key.keysym.sym == sdl2.SDLK_DOWN:
- move(0, -1)
- elif event.key.keysym.sym == sdl2.SDLK_LEFT:
- move(1, 0)
- elif event.key.keysym.sym == sdl2.SDLK_RIGHT:
- move(-1, 0)
- sdl2.SDL_Delay(10)
- sdl2.ext.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement