HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1219
ornHSPでWiimoteLibを使う方法を教えてください。8未解決


orn

リンク

2009/12/19(Sat) 18:12:01|NO.29351

初めましてornといいます。

最近インターネットで見つけたWiimoteLibというもののサンプルで遊んでいます。

しかし、そのサンプルというのはC#で書かれていて私は読めません。

どうにか、WiimoteLibをHSPで使う方法がないかインターネットを探っているのですが、
検討もつきません。

何かご存知の方、ご協力お願いします。



<補足>
・WiimoteLibの紹介ページ http://www.kosaka-lab.com/tips/



この記事に返信する


ORZ

リンク

2009/12/19(Sat) 23:44:18|NO.29356

一部転載
>WiimoteLibはCodePlexで公開されているライブラリです。
>WiimoteLibを用いることで.NET環境で簡単にWiiRemoteを制御することができます。
>Version1.6.0からはWiiremoteだけでなくWii Fitにも対応しています。


>.NET環境で
アッー



orn

リンク

2009/12/20(Sun) 10:53:54|NO.29361

ORZさん回答ありがとうございます。
もう少し具体的に言ってもらえれば幸いです。

私も説明不足でしたね。
現在の状況としては...

1.「WiimoteLib.dll」を使用するとできるらしい。
2.ヘッダファイル(.as)を作らなければいけないことがわかった。
3.DLLをHSPで読み込むには「#uselib""」でできることがわかった。
4.命令を登録するために「#cfunc 」と記述しなければいけないのが分かった。
5.ここが問題...「#cfunc 」のパラメータが分からない!!。

現在、C#のソースコードで解析をしていますが、HSP以外は専門外です。

現在の状況をソースコードで表すと...


#uselib"WiimoteLib.dll" #cfunc ??????????????????????????????? と、こんな状況に陥っています。 (?=分からない) 簡単に話すと、「DLLの命令の登録の仕方が分からない」という状態です。 誰かご存知の方、できるだけご協力お願いします。



珠後

リンク

2009/12/20(Sun) 11:06:44|NO.29362

.NET環境のDLLは、通常のWin32形式の呼び出し規約では呼び出せず、
.NET用のマネージコードアプリケーションでしか呼び出せなかったと思います。



orn

リンク

2009/12/20(Sun) 13:37:42|NO.29363

珠後さん回答ありがとうございます。
>.NET用のマネージコードアプリケーションでしか呼び出せなかったと思います。
まさか、HSPじゃ無理?



ORZ

リンク

2009/12/20(Sun) 16:50:43|NO.29366

少しは察するということを知りんさい。
丁寧に珠後さんが補足してくれたというのに、これでは珠後さんに失礼。

.net云々は置いといて結論を言うと「無理」
少なくとも俺は無理だと理解してる。事前に調べたなら、C++/CLIでライブラリをラップする、という
考えに至るかもしれませんが、それでも無理


ひょっとしたらとんでもなく非生産的な手段で実現可能かもしれないがシラネ。
ビズアルスタディオをダウンロードする作業に戻るんだ!



tsuka

リンク

2009/12/20(Sun) 19:11:59|NO.29368

確か、以前、HSPでWiiRemoteを使うプログラムを見かけました。
そのときは、GlovePIEというソフトを仲立ちにして値を取得してましたね。
http://carl.kenner.googlepages.com/glovepie

あとここも。
http://homepage3.nifty.com/ghpk/lab/sixaxis/index.htm



A_A

リンク

2009/12/20(Sun) 21:42:22|NO.29370

.NETやC#のDLLはCOM経由で呼び出せるそうです。
(万能ではないです・・イベントとか取得できないと思う。詳しい人でもいてくれればねぇ)

//.NET 2以降
//ファイル名を指定して実行
//C:\WINDOWS\system32\regsvr32.exe mscoree.dll

WiimoteLib.Wiimote のクラスの呼び込みまでは上手く行きましたが、
Wiiなんてもってませんのでテストできなかった・・・。


検索キーワード

ICorRuntimeHost とか CreateInstanceFrom  など。

ソースはどうしようか・・・



GENKI

リンク

2009/12/20(Sun) 22:21:43|NO.29371

呼ばれたような気がしたので参上。
WiimoteLibはよく知らないので、代替案だけ置いていきます。

WiiRemote(Wiiリモコン)からのデータ取得はWinAPIだけで出来るはずです。
単純に値を取得するだけならHSP単品で出来るでしょう。

ただし、以前SIXAXIS(PS3用コントローラ)の傾きとか圧力とかHSPで使えるようにしてみたのですが、このときはデータ取得時にシングルスレッドのままだとデータ取得が0.5秒程度遅れました。
そのためマルチスレッドにする必要があり、C++でプラグインを作成して対応しました。(HSPだけでマルチスレッドにする方法がわからなかったので。)
Wiiリモコンでも同様の現象があるかもしれないということは頭の片隅においておいたほうがいいかもしれません。


ところで、WiimoteLibでHSP用にプラグイン作れば問題解決だと思いますが、どうなんでしょうか?
あ、私はWiiリモコン持ってないので作りません。(手を出してみたいけどヒマが無い…。orz)



ONION software Copyright 1997-2021(c) All rights reserved.