Skip to content

Ugbot/haskell-sdl2-examples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Haskell SDL2 Examples

Some simple SDL2 examples in Haskell

Check out the inspiration here

Setup

The following paths can be renamed to whatever you like; I don't get the packages from Hackage as the SDL2 Image bindings provided below are simpler

These instructions will only work if you have SDL2 and SDL2Image on your system; as this is platform-specific I'm not going to cover it - Google is your friend!

The library locations and folder names are just suggestions, put them wherever suits you.

git clone https://github.com/palf/haskellSDL2Examples.git your_folder_name
git clone https://github.com/polarina/sdl2.git hlibs/sdl2
git clone https://github.com/ods94065/sdl2-image.git hlibs/sdl2-image

cd your_folder_name
cabal sandbox init --sandbox=sandbox
cabal sandbox add-source ../hlibs/sdl2
cabal sandbox add-source ../hlibs/sdl2-image
cabal install --only-dependencies

Running Examples

All examples can be executed through cabal

cabal run lessonxx
(where xx is the lesson number as two digits)

To run the first lesson,

cabal run lesson01

Lesson Output

  • Lesson 01 - a white box which remains for two seconds
  • Lesson 02 - "Hello World" text taken from a bitmap (remains for 2 seconds)
  • Lesson 03 - a window with instructions to close it (remains until closed)
  • Lesson 04 - instructions to press arrow keys, followed by content changing on key press
  • Lesson 05 - a stretched image in the window
  • Lesson 06 - a "png loaded" message, loaded from a png (!)
  • Lesson 07 - a "rendering texture" message
  • Lesson 08 - a red box with a green outline, a blue strikethrough and yellow vertical dots
  • Lesson 09 - the text "Here's a viewport" in three different locations
  • Lesson 10 - a stick figure sitting on a hill
  • Lesson 11 - a different coloured dot in each corner of the window
  • Lesson 12 - a coloured window that changes when pressing any of Q, W, E, A, S, D
  • Lesson 13 - press 'w' and 's' to fade in or out the foreground
  • Lesson 14 - a walking animation
  • Lesson 15 - an arrow that rotates with the Q, W, E, A and D keys

About

SDL2 tutorial code in Haskell

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 100.0%