Created
September 5, 2018 23:37
-
-
Save topherPedersen/8210cf08abed3f9d73e86a26fe82cd31 to your computer and use it in GitHub Desktop.
Object Oriented Tkinter/Turtle Graphics Template for 2D Python Games
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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