匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

processingについての質問です。


マウスで操作するゲームを作るとき、ウィンドウモードでマウスカーソルを画面から出ないようにすることは可能でしょうか?

(robotを利用してカーソルを定位置に固定しつつ移動を検出して擬似カーソルを動かす…ということをやろうとしたのですが、
固定直後にmouseX、mouseYを取得したときの値が不定なためにうまくいきませんでした。)

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2015/11/23 21:47:23
  • 終了:2015/12/07 21:50:04
匿名質問者

質問者から

匿名質問者2015/11/25 14:46:47

自己解決しましたのでサンプルを置いておきます。



import java.awt.AWTException;
import java.awt.Robot;

//擬似カーソル
int x, y;
//画面の中央
int sx, sy;

Robot robot;

void setup() {
size(400, 300);
sx=x=width/2;
sy=y=height/2;

try {
robot = new Robot();
}
catch (AWTException e) {
e.printStackTrace();
}
noCursor();
}

void draw() {
background(255);
triangle(x, y, x+10, y+5, x+5, y+10);
}

void mouseMoved() {
if (focused)
resetMousePosition();
}

void mouseDragged() {
if (focused)
resetMousePosition();
}

void resetMousePosition() {
int dx=mouseX-sx;
int dy=mouseY-sy;

//カーソルを中央に引き戻す
robot.mouseMove(getLocationOnScreen().x + sx, getLocationOnScreen().y + sy);

x+=dx;
y+=dy;

//擬似カーソルを画面内に
x=constrain(x, 10, width-10);
y=constrain(y, 10, height-10);
}

回答(0件)

回答はまだありません

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません