SDL2的pythonic API包装器。
sdl2hl的Python项目详细描述
sdl2hl是一个python包,在 SDL2库。SDL2HL使用Kevin Howell的SDL2 CFFI包调用SDL2 可以在这里找到:https://github.com/kahowell/sdl2-cffi)。SDL2HL维护 SDL2 CFFI使用CFFI和获得ZLIB许可的优势,同时提供 向用户隐藏ffi层可怕细节的api。
目标
SDL2HL的目标是:
- 在提供的功能之上提供一个简单的pythonic api 通过SDL2。
- 提供良好的文档,独立于SDL2文档。
- 尽可能多地覆盖sdl2 api,不包括 不要为用python编写的程序提供值(例如线程管理 以及共享对象加载)。
sdl2hl的一个明确的反目标是提供任何重要的功能 由SDL2提供的。SDL2HL可能是A的合理基础 更大的游戏库,但它本身不会成为一个。
版本控制
sdl2hl版本控制遵循semver 2.0标准。一旦SDL2HL达到1.0, 将努力防止向后不兼容的更改。如果A向后 不兼容的改变绝对无法避免,SDL2HL的主要版本将是 递增。然而,由于SDL2HL还没有达到1.0,现在可能有 随时打破改变。对不起的。
许可证
SDL2HL的许可证与SDL2和SDL2 CFFI的ZLIB许可证相同。更多 详细信息可以在license.txt文件中找到,该文件应该在 分配。
贡献
欢迎投稿!如果遇到错误或有请求或 建议在github上打开一个问题 https://github.com/jdoda/sdl2hl/issues。如果你想提交补丁,请 在https://github.com/jdoda/sdl2hl/pulls打开github请求。
示例
importsysimportsdl2hlBACKGROUND_COLOR=(0,0,0,255)AVATAR_COLOR=(255,0,0,255)sdl2hl.init()window=sdl2hl.Window()renderer=sdl2hl.Renderer(window)avatar=sdl2hl.Rect(w=64,h=64)whileTrue:foreventinsdl2hl.events.poll():ifevent.type==sdl2hl.QUIT:sdl2hl.quit()sys.exit()elifevent.type==sdl2hl.EventType.keydownandevent.keycode==sdl2hl.KeyCode.left:avatar.x-=1elifevent.type==sdl2hl.EventType.keydownandevent.keycode==sdl2hl.KeyCode.right:avatar.x+=1elifevent.type==sdl2hl.EventType.keydownandevent.keycode==sdl2hl.KeyCode.up:avatar.y-=1elifevent.type==sdl2hl.EventType.keydownandevent.keycode==sdl2hl.KeyCode.down:avatar.y+=1renderer.draw_color=BACKGROUND_COLORrenderer.clear()renderer.draw_color=AVATAR_COLORrenderer.fill_rect(avatar)renderer.present()