人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

processingについての質問です。

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

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

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :キャンセル
└ 回答数 : 0/0件

▽最新の回答へ

質問者から

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



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.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ