自己紹介

低層をがむしゃらに走る自称プログラマ ちょっとWebとかに手を出してる

ブログ アーカイブ

ラベル DXライブラリ の投稿を表示しています。 すべての投稿を表示
ラベル DXライブラリ の投稿を表示しています。 すべての投稿を表示

2010年10月18日月曜日

四苦八苦

VB.netマルチスレッドで動かしているプログラムで

DX.GetMouseInput()

を利用できない。
私の書き方が悪いのか、なんか良く解らんが困った。

とりあえず、
WinAPIのGetAsyncKeyStateで代用

同時に問題が発生。
DX.GetMouseInput()
の場合、当然だがウィンドウ内でクリックされた時に
「ボタンが押されたよ」と返事が来るわけだが、

GetAsyncKeyStateの場合は
画面上でなくても「ボタンが押されたよ」と返事が来る。

そこで、DXライブラリによって生成されたWindowが
Active状態でのみ判定を起こすことにした

DX.GetWindowActiveFlag()

かなりブサイクな挙動だけどできたー!やったー!


'マウス左クリック
        If DX.GetWindowActiveFlag() Then
            If GetAsyncKeyState(Keys.LButton) Then
                _Mouse = DX.MOUSE_INPUT_LEFT
            End If
        End If

2010年10月17日日曜日

小言

しらなんだ、DXライブラリは、VB.netでも動くんだ
これで色々と楽になりそう。

使い方
1.公式からC#のDXライブラリを取ってくる
2.VSでDXライブラリを使いたいプロジェクトを開く
3.プロジェクト→参照の追加
4.参照を追加→DXLibDotNet.dllを参照する
5.Releaseフォルダ及びDebugフォルダに
(VisualStudioフォルダのProject→開いたプロジェクト→bin)
DxLib.DLLを入れる
6.Imports DxLibDLL と入れて
あとはDX.と入力するとインテリジェンス君が色々教えてくれる

実際使ってみると
Formとは別窓にウィンドウが出ます
素敵!