トピック
マツコウEXかい mathumotokouki

マウス処理

マウス的な処理が出来ません。 教えて下さい!
0そうだね
プレイ済み
返信[1]
親投稿
ΖΕΧ ZEX256
マウス処理とは何ですか
4そうだね
プレイ済み
返信[2]
親投稿
パソコンの矢印の事ですか
2そうだね
プレイ済み
返信[3]
親投稿
パソコンのポインターを動かすのをどうやって作るのか、かな??
1そうだね
プレイ済み
返信[4]
親投稿
「パソコンのポインターを動かすのを・・・」じゃないわ。
1そうだね
プレイ済み
返信[5]
親投稿
はる HARUHI-0913
鼠処理? 鼠的な処理?
0そうだね
プレイ済み
返信[6]
親投稿
ねずみが動きまわるプログラムを作りたいのですか?。 …どこかの猫型ロボットが気絶しそうですね(笑)。
2そうだね
プレイ済み
返信[7]
親投稿
マスク設定の事かな
0そうだね
プレイ済み
返信[8]
親投稿
SilverBlue Corei72630QM
ネズミみたいにすばしっこく壁に当たってもすぐに回避できるAIの処理を作りたいんじゃ無いですかね?
0そうだね
プレイ済み
返信[9]
親投稿
nobu divine-creator
なぜ多くの人がボケているのだろうか?(分かっていて、意図的にボケていますよね?) マウスのような処理といったら、矢印を動かして特定の位置でボタンを押したら反応するというような動きのことでしょ? 矢印をスプライトで作って、タッチ操作で移動させて、ボタンを押したら次へ進むという一連の流れですね。 それを実現するには、いろいろな命令を組み合わせなければ作れませんよ!
1そうだね
プレイ済み
返信[10]
親投稿
だにえる haru2016nen
これの事かな
1そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
マウス処理を作ったので参考にしてみてください。 変数SPDの値を変えるとマウスの速度を調整できます。
1そうだね
プレイ済み
返信[12]
親投稿
おちゃめ ochame_nako
このプログラムの簡単な解説をしておきます。 TOUCH OUT TT,TX,TYとすると変数TTにはタッチした時間、TXにはタッチしたX座標、TYにはタッチしたY座標が入ります。 TX、TYの値と同じものを上画面に表示しても良いのですが、下画面が横320ドットなのに対して上画面は400ドットなのでその方法だと横80ドット分はアイコンとなるスプライトが表示することができません。 このプログラムでは現在のTX、TYの座標と1フレーム前の座標(PX、PY)との差分を計算してそれを上画面の現在の座標に加える形によって実現しています。
0そうだね
プレイ済み
返信[13]
親投稿
おちゃめ ochame_nako
ただし、画面外に出てしまうという可能性があるためそれがないようにしなくてはなりません。 MIN(SX,最大座標)とすればSXと最大座標を比較して小さい方を選んでくれるため「SXが最大座標より大きくならない」というのがIFで判別しなくても可能になります。 同様にMAX(SX,最小座標)とすれば「SXが最小座標より小さくならない」というのが可能になります。 これをミックスしてMAX(MIN(SX,最大座標),最小座標)とすることもできるわけです。 分かりにくければIFで記述して何ら問題はありません。こういう方法もあるというのを知っておくと便利というだけです。 この差分で動かす方法ならばアイコンの速度を自由に調整が可能です。 これはSPDの値を変えることで対応が可能なのですがSPDを小さくすると精密な動作はできるけど遅すぎるSPDを大きくすると速く動くけど精密に動作できないという問題が生じます
0そうだね
プレイ済み
返信[14]
親投稿
おちゃめ ochame_nako
プログラム内でSPDの値を動的に変化させればこの問題は解決が可能です。 ゆっくり動かした時(1フレーム前との座標の差が小さいときはSPDを小さくし速く動かした時はSPDの値を大きくするように改造を行えばゆっくり精密に動かすことも速く動かすこともプログラムを書き換えをせずに行うことが可能になるということです。  SPS=MAX(SQR(POW(TX-PX),2)+SQR(POW(TY-PY),2))/16,0.5) というのを11行のIF TT>1 THENの前の行に挿入してみましょう。 ノートPCのスライドパッドみたいに指を動かす速度でアイコンの動作速度が自在に調整できるのが分かると思います。 これでもうマウスは恐くないですね!
1そうだね
プレイ済み
返信[15]
親投稿
nobu divine-creator
おちゃめさんの見本を入力してみたら、まさか本当にネズミが動くとは…! ところで、その一行を追加するとエラーになりましたが、どこかにミスがあるのですか?
0そうだね
プレイ済み
返信[16]
親投稿
おちゃめ ochame_nako
nobuさんへ 寝ぼけていたのかその1行に複数のタイプミスが見つかったのでこちらをIFの前の行に入力してください。 SPD=MAX(SQR(POW(TX-PX,2)+POW(TY-PY,2))/16,0.5)
1そうだね
プレイ済み
返信[17]
親投稿
nobu divine-creator
最初のSPSは使われていない変数だったので気が付きましたが、その他は気付けませんでした。(珍しいですね……弘法にも筆の誤り?)
0そうだね
プレイ済み
返信[18]
親投稿
おちゃめ ochame_nako
nobuさんへ それはさすがに私を買いかぶりすぎです。 私はタイプミス等のケアレスミスが結構多い方です。 そのため1回チェックをした程度では必ずどこかにミス(日本語の変換ミスも含む)があります。 さすがに上記のように1つの計算式で4箇所のミスは普段でもあり得ないレベルですが(笑)
1そうだね
プレイ済み
返信[19]
親投稿
nobu divine-creator
ケアレスミスが多い?そんな印象は無いですね。 平均的に、2~4コメントくらいの丁寧な解説を入力しているにもかかわらず、よく間違えないなぁ…と感心することが多かったくらいですけど…。(私がミスに気づけていなかっただけ?)
0そうだね
プレイ済み