Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

Pointer Lock APIを用いたマウス操作 #41

Open
23tas9 opened this issue Nov 12, 2022 · 3 comments
Open

Pointer Lock APIを用いたマウス操作 #41

23tas9 opened this issue Nov 12, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@23tas9
Copy link

23tas9 commented Nov 12, 2022

追加する機能の内容 | Describe the solution you'd like

Pointer Lock API を用いたマウスの固定及び移動量などの取得

その機能の追加によって解決する問題| Is your feature request related to a problem? Please describe.

Web版ではCursor::SetPos()が使えない
(ブラウザでマウスカーソルの位置を設定することはできない?)ので、マウスでの操作を行う際(3Dゲームでの視点移動など)に、画面端でマウスの移動が止まってしまいそれ以上操作ができない(Discordでの質問 )

Pointer Lock APIを用いることでカーソルを固定しマウスの移動量を取得できるため上記問題を解決出来る。

備考 | Additional context

(個人的な意見になりますが)
ポインタのロックと移動量の取得はWeb版に限らずOpenSiv3D本体でも扱うと思うので、これらの機能を通常版でも扱えればいいなぁと思います。

@nokotan
Copy link
Owner

nokotan commented Nov 14, 2022

プラットフォーム共通な API の実装を Siv3D 本体に依頼しました。
この機能の実装が急ぎである場合は、一旦プラットフォーム固有版で実装します。

実装予定

/**
* @remarks ユーザー操作のタイミングで呼び出してください。さもなければ、意図したタイミングにマウスの固定が行えません。
*/
void s3d::Platform::Web::Cursor::Lock();
void s3d::Platform::Web::Cursor::Unlock();

@nokotan
Copy link
Owner

nokotan commented Nov 14, 2022

参考資料

@23tas9
Copy link
Author

23tas9 commented Nov 15, 2022

プラットフォーム共通な API の実装を Siv3D 本体に依頼しました。 この機能の実装が急ぎである場合は、一旦プラットフォーム固有版で実装します。

実装予定

/**
* @remarks ユーザー操作のタイミングで呼び出してください。さもなければ、意図したタイミングにマウスの固定が行えません。
*/
void s3d::Platform::Web::Cursor::Lock();
void s3d::Platform::Web::Cursor::Unlock();

ありがとうございます!

@nokotan nokotan added this to the v0.6.6 milestone Nov 15, 2022
@nokotan nokotan removed this from the v0.6.6 milestone Jan 19, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
Status: No status
Development

No branches or pull requests

2 participants