PythonでDXライブラリを利用してみた
後でググると既にやっている人がおられましたが、これ結局移植しちゃってますよね。
今回はDXライブラリの作者から配布されているC#用パッケージを素で利用するだけというお手軽版です(新たにライブラリとか作らなくてもDxLibのC#用パッケージとPythonさえあれば動く)。
通常のDXライブラリは.lib形式となっているのでPythonから直で利用できません。そこでDXライブラリの「VisualC# 用パッケージ」を見てみると、"DxDLL.cs", "DxLib.dll"...などが入っています。
PythonからDLLの関数は簡単に呼び出せるので、Python 3.4.0、DXライブラリ Ver3.12a、64bit環境で検証。DxLib_x64.dllをPythonスクリプトと同じフォルダにおいてやります。
- DxLib_text.py
import sys from ctypes import * if __name__ == '__main__': dxlib = cdll.DxLib_x64 dxlib.dx_ChangeWindowMode(1) # TRUE = 1 if dxlib.dx_DxLib_Init() == -1: sys.exit() dxlib.dx_SetDrawScreen(-2) # DX_SCREEN_BACK = -2 while dxlib.dx_ProcessMessage() == 0: dxlib.dx_ClearDrawScreen() dxlib.dx_DrawBox(100, 100, 200, 200, dxlib.dx_GetColor(255, 255, 255), 0) # FALSE = 0 dxlib.dx_ScreenFlip() dxlib.dx_DxLib_End()
動きました。さらに拡張子を.pywにしてやれば、コンソール画面が出ないのでアプリケーションっぽくなります。