C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[15]: マウス動作の記憶再生について


(過去ログ 70 を表示中)

[トピック内 18 記事 (1 - 18 表示)]  << 0 >>

■40684 / inTopicNo.1)  マウス動作の記憶再生について
  
□投稿者/ たぬき (17回)-(2009/09/01(Tue) 11:53:39)

分類:[.NET 全般] 

こんにちは。
いつも質問回答ありがとうございます。

今回の質問なんですが、
http://www.geocities.co.jp/SiliconValley/7406/tips/mouse/mouse3.html
今このサイトを参考にして、マウス動作記憶再生アプリケーションを作成しています。
ですが、記憶するとき参考の
LogAdd(String.Format("Mouse : Move ({0}, {1}, {2})", mov.X, mov.Y, mov.Z))
mov = New Vector3(0, 0, 0) 'クリア
End If
LogAdd(String.Format("Mouse : Button {0} {1}", dt.Offset, IIf(dt.Data <> 0, "Down", "Up")))
この部分を
mouse_x.add(string.format(mov.x))
というように変換してarraylistに記憶させようと思ったのですがうまくいきません!!!
座標を記憶させるにはどのようにしたらよいでしょうか?回答よろしくお願いします。


引用返信 編集キー/
■40686 / inTopicNo.2)  Re[1]: マウス動作の記憶再生について
□投稿者/ gtk2k (63回)-(2009/09/01(Tue) 13:05:04)
単に
mouse_x.add(mov.x)
じゃだめなん?
引用返信 編集キー/
■40687 / inTopicNo.3)  Re[2]: マウス動作の記憶再生について
□投稿者/ たぬき (18回)-(2009/09/01(Tue) 13:09:43)
No40686 (gtk2k さん) に返信
mouse_x.add(mov.x)
でも配列に追加されてなかったです。
arraylistを書く位置がおかしいんですかね?!
引用返信 編集キー/
■40689 / inTopicNo.4)  Re[3]: マウス動作の記憶再生について
□投稿者/ gtk2k (64回)-(2009/09/01(Tue) 13:54:06)
ちゃんとnewしている?
それか間違ったところでnewしてない?

引用返信 編集キー/
■40702 / inTopicNo.5)  Re[4]: マウス動作の記憶再生について
□投稿者/ たぬき (19回)-(2009/09/01(Tue) 19:45:11)
No40689 (gtk2k さん) に返信
> ちゃんとnewしている?
> それか間違ったところでnewしてない?
newってこういうことですよね?
Dim mouse_X As New ArrayList
一番最初でしてます。
まだうまくいかないです。
引用返信 編集キー/
■40705 / inTopicNo.6)  Re[5]: マウス動作の記憶再生について
□投稿者/ gtk2k (65回)-(2009/09/01(Tue) 20:02:22)
No40702 (たぬき さん) に返信
> ■No40689 (gtk2k さん) に返信
>>ちゃんとnewしている?
>>それか間違ったところでnewしてない?
> newってこういうことですよね?
> Dim mouse_X As New ArrayList
> 一番最初でしてます。
> まだうまくいかないです。

一番最初って、Formクラス内の一番最初?
それとも、Addしている関数内の一番最初?
引用返信 編集キー/
■40706 / inTopicNo.7)  Re[6]: マウス動作の記憶再生について
□投稿者/ たぬき (20回)-(2009/09/01(Tue) 20:11:45)
No40705 (gtk2k さん) に返信

> 一番最初って、Formクラス内の一番最初?
> それとも、Addしている関数内の一番最初?

Formクラス内です!
引用返信 編集キー/
■40717 / inTopicNo.8)  Re[7]: マウス動作の記憶再生について
□投稿者/ やじゅ (1298回)-(2009/09/01(Tue) 22:18:23)
やじゅ さんの Web サイト
No40706 (たぬき さん) に返信

部分部分だけ見せられて正しいと思っても、全体で見たら間違っているかもしれない。
そういう場合、ソースリストを全般的に掲載するのも手だと思うんだけどね。

引用返信 編集キー/
■40720 / inTopicNo.9)  Re[8]: マウス動作の記憶再生について
□投稿者/ たぬき (21回)-(2009/09/01(Tue) 22:48:31)
2009/09/04(Fri) 10:39:28 編集(投稿者)
2009/09/04(Fri) 10:39:25 編集(投稿者)

No40717 (やじゅ さん) に返信

引用返信 編集キー/
■40722 / inTopicNo.10)  Re[9]: マウス動作の記憶再生について
□投稿者/ Azulean (436回)-(2009/09/01(Tue) 23:42:21)
No40720 (たぬき さん) に返信
> ソースコードです!!
長くてそんなに読んでいないのと、実際に動かしていないのですが、確認です。

>                     If indicate Then
>                         mouse_X.Add(move.X)
>                         mouse_Y.Add(String.Format(move.Y))
>                         move = New Vector3(0, 0, 0)
>                     End If

この if 文の中に入っていることは確認できているのでしょうか?
ブレークポイントを貼るなり、デバッグログとして出力するなりして確認して下さい。
疑ったことは、そもそも Add の所を通っていない可能性です。

引用返信 編集キー/
■40727 / inTopicNo.11)  Re[9]: マウス動作の記憶再生について
□投稿者/ やじゅ (1299回)-(2009/09/01(Tue) 23:55:27)
やじゅ さんの Web サイト
No40720 (たぬき さん) に返信
> ■No40717 (やじゅ さん) に返信
> わかりました。ありがとうございます。
> ソースコードです!!

投稿モードは、図表モードがよかったな。それは置いといて。
特におかしいとは思えないんだけど、mouse_X.Add(move.X)は実行されているの?
どうやって、うまくいかないかの確認をしたのだろう? (私の目はふしあな・・・)

ソースリスト的にはコーディング記法に気を遣って、Dim mouse_X As New ArrayList
Dim→Privateにして、Formのメンバ変数とローカル変数と区別が付くように
"m_"とか"_"などを接頭辞または接尾辞を付けるとか、例 m_mouse_X
またはPascal表記(先頭英大文字)として、Mouse_Xとするとか(他のメンバ変数とあわせるならこっちだね)
引用返信 編集キー/
■40728 / inTopicNo.12)  Re[10]: マウス動作の記憶再生について
□投稿者/ たぬき (22回)-(2009/09/01(Tue) 23:55:58)
No40722 (Azulean さん) に返信

> この if 文の中に入っていることは確認できているのでしょうか?
> ブレークポイントを貼るなり、デバッグログとして出力するなりして確認して下さい。
> 疑ったことは、そもそも Add の所を通っていない可能性です。

回答ありがとうございます!!
そこでブレークポイントをして確かめてみたのですが、Addはcount=0なので、通っていないかもしれません。
何故か分かるでしょうか??
引用返信 編集キー/
■40730 / inTopicNo.13)  Re[11]: マウス動作の記憶再生について
□投稿者/ Azulean (438回)-(2009/09/02(Wed) 00:05:07)
2009/09/02(Wed) 00:08:37 編集(投稿者)

No40728 (たぬき さん) に返信
> 回答ありがとうございます!!
> そこでブレークポイントをして確かめてみたのですが、Addはcount=0なので、通っていないかもしれません。
> 何故か分かるでしょうか??

即答すると、分かりません。
そのコードを実行して、デバッグして、調査・考察等すれば分かるかもしれませんが、それは たぬきさん 自身でぜひとも行って頂きたいと思います。

疑わしいと思っている箇所:
 ・Case Else に来ることはあるのか。Offset の値がどういったものか見直す。
 (Case Else は Offset が 0, 4, 8 のいずれでもない時にしか来ません)
 ・buffer には必ず 2 つ以上の要素が格納されているか?
 (indicate が True になってからしか Add されることはないので、今のロジックでは buffer に 2 つ以上の要素が必要です)
 ・buffer は Nothing ではないか?
 (buffer が Nothing だとそもそも実行されません)
 ・OnMouseEvent は実行されているか?
 (関数を呼び出す構造が書けていないとそもそも実行されません)
引用返信 編集キー/
■40830 / inTopicNo.14)  Re[12]: マウス動作の記憶再生について
□投稿者/ たぬき (23回)-(2009/09/04(Fri) 10:37:24)
No40730 (Azulean さん) に返信
> 2009/09/02(Wed) 00:08:37 編集(投稿者)
>
回答ありがとうございます!
問題は、やっぱりCase Elseのところでした。ありがとうございました!




それでもうひとつ質問ができたんですけど・・・
DirectXは、GetCursorなどとは違い座標移動したときしか取得しないのでその間の待ち時間が検知できなくて困っています。
自分でも考えているのですが、中々いい方法が考えられなくて。。。
なにかいい方法が分かる方がいらっしゃるなら是非教えてください。
引用返信 編集キー/
■40832 / inTopicNo.15)  Re[10]: マウス動作の記憶再生について
□投稿者/ たぬき (25回)-(2009/09/04(Fri) 10:43:48)
No40727 (やじゅ さん) に返信

実行されてませんでした。。。
回答ありがとうございます!


分かりました!次のプログラムからはそこも気をつけて作成したいと思います。
ポイントありがとうございます(^^♪
引用返信 編集キー/
■40890 / inTopicNo.16)  Re[13]: マウス動作の記憶再生について
□投稿者/ たぬき (26回)-(2009/09/05(Sat) 17:07:02)
No40830に返信
>DirectXは、GetCursorなどとは違い座標移動したときしか取得しないのでその間の待ち時間が検知できなくて困っています。
自分でも考えているのですが、中々いい方法が考えられなくて。。。
なにかいい方法が分かる方がいらっしゃいませんか?

引用返信 編集キー/
■40894 / inTopicNo.17)  Re[14]: マウス動作の記憶再生について
□投稿者/ やじゅ (1310回)-(2009/09/05(Sat) 18:36:55)
やじゅ さんの Web サイト
No40890 (たぬき さん) に返信
>DirectXは、GetCursorなどとは違い座標移動したときしか取得しないのでその間の待ち時間が検知できなくて困っています。
> 自分でも考えているのですが、中々いい方法が考えられなくて。。。
> なにかいい方法が分かる方がいらっしゃいませんか?

経過時間をマウス移動時に記憶すればいいんじゃないの
再生時に経過時間を元に再生すればいいわけだし。

処理時間を正確に計測するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/412stopwatch/stopwatch.html
引用返信 編集キー/
■40896 / inTopicNo.18)  Re[15]: マウス動作の記憶再生について
□投稿者/ たぬき (27回)-(2009/09/05(Sat) 23:18:50)
No40894 (やじゅ さん) に返信

その手がありました!!!
ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -