Skip to content

Instantly share code, notes, and snippets.

@topherPedersen
Created September 5, 2018 23:37
Show Gist options
  • Select an option

  • Save topherPedersen/8210cf08abed3f9d73e86a26fe82cd31 to your computer and use it in GitHub Desktop.

Select an option

Save topherPedersen/8210cf08abed3f9d73e86a26fe82cd31 to your computer and use it in GitHub Desktop.
Object Oriented Tkinter/Turtle Graphics Template for 2D Python Games
# Import the Tkinter & Turtle Graphics Modules
import Tkinter
import turtle
# Create Game Window
screen = turtle.Screen()
screen.screensize(500, 500, "black")
# Create Sprite Object Which Inherits from Turtle
class Sprite(turtle.Turtle):
def __init__(self):
turtle.Turtle.__init__(self)
# Create Sprite
screen.addshape("sprite.gif")
mySprite = Sprite()
mySprite.hideturtle() # hide turtle until the the duck image replaces the placeholder shape
mySprite.penup() # prevent sprite from drawing on screen as it moves
mySprite.left(90) # rotate sprite for proper placement on screen
mySprite.shape("sprite.gif") # Set Image for Sprite
mySprite.setposition(0, 0)
mySprite.showturtle()
# Create Player Controls
def up():
global mySprite
mySprite.setposition(mySprite.xcor(), mySprite.ycor() + 10)
def down():
global mySprite
mySprite.setposition(mySprite.xcor(), mySprite.ycor() - 10)
def left():
global mySprite
mySprite.setposition(mySprite.xcor() - 10, mySprite.ycor())
def right():
global mySprite
mySprite.setposition(mySprite.xcor() + 10, mySprite.ycor())
def fire():
print("FIRE! (space bar pressed)")
# Set Event Listeners for Player Controls
screen.onkey(up, "Up")
screen.onkey(down, "Down")
screen.onkey(left, "Left")
screen.onkey(right, "Right")
screen.onkey(fire, "space")
screen.listen()
# Main Game Loop (Keeps Game Window From Closing)
Tkinter.mainloop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment