トップページ > 記事閲覧
認識されない原因について2
名前:ゆゆ 日時: 2016/12/29 06:08

様々な方法を試したのですが、やはり、だめでしたので、質問させてください。 DXライブラリでWiiリモコンを使用しようと思い、 http://www.cg-ya.net/imedia/wiiremote/wiiyourself_install/ のサイトを参考に導入を試みたところ、エラーは出ませんが、認識されませんでした。 コンソールアプリケーションではうまく接続されました。また、DirectXでもできましたが、 DXライブラリだけはできませんでした。 いろいろ調べながら何度も試したりしたのですが、やはりうまくいきませんでした。 そこで今回、コンソールアプリケーションで得たデータをDXライブラリに送信して、Wiiリモコンのデータを得ようと考えました。 まず、プロセス間のデータ送受信(メモリの共有)はファイルマッピングをすることでうまくいきました。 しかし、問題は、なんと、DXライブラリを起動している間、コンソールでもWiiリモコンを認識することができないのです。 DXライブラリのゲームを閉じた瞬間、接続が開始されます。 DirectXではうまくいきます。 DXライブラリで認識されない原因は何かわかりませんでしょうか? Wiiリモコンを使うとなれば、DirectXで1から作り直すしか方法はないでしょうか・・・? できれば、ファイルマッピングではない方法でやりたいのですが・・・(DirectXでできたように) DXライブラリ外のことですので、無理でしたら無理、とご回答くだされば大丈夫です。。 が、できれば解決させたいです。
メンテ

Page: 1 |

Re: 認識されない原因について ( No.1 )
名前:ゆゆ 日時:2016/12/26 05:57

更新しました
メンテ
Re: 認識されない原因について2 ( No.2 )
名前:管理人 日時:2016/12/26 23:25

詳しく調べてみないと分かりませんが、DirectInput が関係しているかもしれません DxLib_Init を呼ぶ前の箇所に SetUseDirectInputFlag( FALSE ) ; という記述を増やして、DirectInput を使用しない設定にすれば認識するかもしれませんので、 よろしければお試しになってみてください m(_ _)m
メンテ
Re: 認識されない原因について2 ( No.3 )
名前:ゆゆ 日時:2016/12/27 15:06

試してみましたが、やはり、ダメでした。 コードが間違っているかもしれない、と思って見てみましたが間違っていませんでした。 今回もDirectX(Aボタンを押すと画像を表示する)、 コンソール共に成功したので、Wiiリモコン自体はPCに接続されています。 DXライブラリでは、 ...省略(WinMain関数内) wiimote remote; while (!remote.Connect(wiimote::FIRST_AVAILABLE)){ DrawFormatString(0, 0, GetColor(255, 255, 255), "接続試行中..."); ScreenFlip(); WaitTimer(17); } ...省略(メインループより前) ↓ 接続試行中...と表示されたままになります。 DirectXやコンソールであれば、1〜2秒程で接続されます。 しかし、DXライブラリでは接続されません。 while(!remote.Connect(wiimote::FIRST_AVAILABLE)); にしてみても同じです。(無限ループ状態) 今作っているゲームに原因があるかもしれないと思い、 念のためDXライブラリのプログラムを新規につくり、試しましたが、 やはり同じ結果でした。 なにか、ほかに原因があるようです...。
メンテ
Re: 認識されない原因について2 ( No.4 )
名前:管理人 日時:2016/12/28 20:19

だめでしたか… 恐らく DxLib_Init を呼ぶ前であれば接続されると思うのですが、 接続されたあとに DxLib_Init を呼んだ場合はどうなりますでしょうか?
メンテ
Re: 認識されない原因について2 ( No.5 )
名前:ゆゆ 日時:2016/12/28 22:30

試してみましたが、接続されませんでした。 接続試行中...が表示されたままです。 DXライブラリはマルチバイトですが、そういうことが関係していたりするのでしょうか... と思って、コンソールの方をマルチバイトに変えましたが、 普通に問題なく接続されました。
メンテ
Re: 認識されない原因について2 ( No.6 )
名前:管理人 日時:2016/12/29 02:15

DxLib_Init を呼ばなくても接続されないということでしょうか? そうなるとDXライブラリを使用していなくても接続されないと言うことに… コンソールでは正常に接続されるということですが、DXライブラリはコンソールアプリでも 使用することができますので( コンソールウインドウとは別にDXライブラリのウインドウが表示されます )、 よろしければ接続が成功するコンソールアプリで DxLib_Init や DrawLine などDXライブラリの関数を 普通に使用したプログラムを試してみていただけないでしょうか?
メンテ
Re: 認識されない原因について2 ( No.7 )
名前:ゆゆ 日時:2016/12/29 06:36

申し訳ございません! DxLib_Init()の前、というのは、wiiリモコンの設定でした.... SetUseDirectInputFlag( FALSE ) ; をあとに書くか前に書くか、ということだと完全に勘違いしていました... 接続されたあとに DxLib_Init を呼んだ場合はどうなりますでしょうか? を SetUseDirectInputFlag( FALSE ) ;を DxLib_Initのあとに呼んだ場合はどうなりますでしょうか? と取り違えておりました... 実は、DxLib_Init()の前に接続することで成功いたしました。 申し訳ございませんでした。 これで、使用できるようになりました。エラーや例外も出ませんでした。 使用するときにはゲームを再起動するようにしようと思います。 ご回答ありがとうございました! ところで、今の状態で大丈夫なのですが、 DxLib_Init()の後で設定した場合接続されないの理由は、ご見当がつきますでしょうか? コンソールでも、DxLib_Init()がこちらのゲームで実行されていた場合、 接続できません。 憶測でも大丈夫です。
メンテ
Re: 認識されない原因について2 ( No.8 )
名前:管理人 日時:2016/12/30 01:50

上手くいった様でなによりです (^ ^; > ところで、今の状態で大丈夫なのですが、 > DxLib_Init()の後で設定した場合接続されないの理由は、ご見当がつきますでしょうか? いえ、何が原因か全く見当がつきません 『DXライブラリで行っている処理の内の何かが wiimote の動作に影響を与えている』 という事実以上のことは推測もできていません 原因を突き止めても『なるほどこれが原因だったのか、納得』となる確率と、『なんでこれを 実行すると wiimote の動作に支障が出るんだ?意味が分からない…』となる可能性が半々の ような気がします…
メンテ
Re: 認識されない原因について2 ( No.9 )
名前:ゆゆ (解決) 日時:2016/12/30 06:52

分かりました。 このままの状態で十分なので、大丈夫です! 様々ご検討くださり、本当にありがとうございました!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存