Lyの日常

主が楽しくプログラムをカキカキするブログ

マウスカーソルを非表示にしたり任意の位置に移動させたり、ω、

どうも、ω、

最近FPSにはまってまして
自分もFPS作ろうかなぁと思いまして
とりあえずFPSってマウスカーソルが非表示じゃないっすか
ってことでカーソルを非表示にする方法をご紹介

Windows

http://wisdom.sakura.ne.jp/system/winapi/win32/win44.html
こちらのサイトをご紹介
主が下手に紹介するよりましでしょう、ω、

Mac

はっきり言ってググってもなかなか見つからないです
探りながらようやく実行できました

#include <ApplicationServices/ApplicationServices.h>

ApplicationServicesはアップルから提供される
デベロッパ用のフレームワークをインクルード

CGDisplayHideCursor( CGDirectDisplayID display );

名前でわかる通りカーソルを非表示にするメソッドです
リファレンスが英語で引数のCGDirectDisplayIDというのはまだ謎ですが
とりあえず0を与えれば問題なく動きました、ω、

CGWarpMouseCursorPosition( CGPoint newCursorPosition );

引数に与えた位置にカーソルを移動させるメソッドです
CGPointというのは構造体で

struct CGPoint {
  CGFloat x;
  CGFloat y;
};

となっています
CGFloatはリファレンスには載っていませんが
コードを読むとdoubleでした

CGPoint pos;
pos.x = 0;
pos.y = 0;  // コンストラクタ用意しろよぉ、ω、
CGWarpMouseCursorPosition(pos);

これで動くかと思います

ただ座標系がモニターの左上が原点
となっているのでまだ使い勝手が悪い状態です
またなにかいい方法を模索中。ω。