https://github.com/justgook/elm-tiled-decode
https://github.com/justgook/elm-tiled-decode
decode decoder gamedev tiled-map-editor
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/justgook/elm-tiled-decode
- Owner: justgook
- Created: 2018-03-05T18:15:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-06-08T10:37:18.000Z (about 8 years ago)
- Last Synced: 2025-10-20T15:38:56.925Z (8 months ago)
- Topics: decode, decoder, gamedev, tiled-map-editor
- Language: Elm
- Homepage: http://package.elm-lang.org/packages/justgook/elm-tiled-decode/latest
- Size: 26.4 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
A library for building decoders for [Tiled](http://www.mapeditor.org/) levels.
## Motivation
I can not find good library that decodes Tiled data and is up to date, and use JavaScript ports was not an option.
## Examples
```elm
import Html
import Http
import Tiled.Decode as Tiled
type Message
= LevelLoaded (Result Http.Error Tiled.Level)
load : String -> Cmd Message
load url =
Http.send LevelLoaded <| Http.get url Tiled.decode
main : Program Never Tiled.Level Message
main =
Html.program
{ init = ( Tiled.empty, load "./some_tiled_level.json" )
, update = update
, subscriptions = \_ -> Sub.none
, view = view
}
view : Tiled.Level -> Html.Html Message
view model =
Html.text (toString model)
update : Message -> Tiled.Level -> ( Tiled.Level, Cmd msg )
update msg model =
case msg of
LevelLoaded (Ok level) ->
( level, Cmd.none )
LevelLoaded (Err _) ->
( model, Cmd.none )
```