新ぴたぶろぐ
自分が書きたいことを書くだけのブログ
≡
検索
AND検索
OR検索
↑
プロフィール
Pitan
プログラミングや音MADやらが趣味
↑
最新のページ
最新の5件
2024-06-26
【アセンブリ言語】C言語コンパイルしてアセンブリ言語を解読していく
2024-05-29
PHPのチートシート
2024-05-14
WikiChree.COMの管理者の妄想?
2024-05-08
Visual Basicを使ってみた感想
2024-04-25
PHPってもう時代遅れ?それでも私がPHPを使い続ける理由
[
もっと見る
]
↑
タグ
ゲーム
サービス
プログラミング
情報技術
通信技術
[
もっと見る
]
↑
人気のページ
人気の5件
FrontPage
(29734)
RecentUpdates
(848)
【Discord】強力なスパム対策ができるボット「Wick」を紹介します。
(489)
【Minecraft】 FabricとForgeどっちがいいのだろうか?
(478)
無料のWikiソフトウェアを比較してみる
(199)
↑
カウンター
合計:
0
今日:
0
昨日:
0
オンライン:
16
トップ
ヘルプ
PukiWiki
20220728160 をテンプレートにして作成
開始行:
#include(include/oldblog,notitle)
CENTER:&ref(https://blog.pitan76.net/wp-content/uploads/2...
----
* 【LWJGL3】キー、マウス入力 #2 [#title]
#splitbody{{
LEFT:
&tag(情報技術,プログラミング,Java,LWJGL,LWJGL3);
#split
RIGHT:&size(13){投稿日: 2022-07-28 (木)};
}}
#bcontents
次はキー、マウス入力となります。
* キーの入力 [#qe0e6601]
// キーが押されているか
public boolean isKeyDown(int key) {
return GLFW.glfwGetKey(window, key) == 1;
}
// キーが押されたか
public boolean isKeyPressed(int key) {
return isKeyDown(key) && !lastKeys[key];
}
// キーが離されたか
public boolean isKeyReleased(int key) {
return !isKeyDown(key) && lastKeys[key];
}
上記のコードをWindowクラスに追加してください。
GLFW.glfwGetKeyでは引数に指定されたキーが押されているか確...
* マウスの入力 [#y241ccbb]
// マウスが押されているか
public boolean isMouseDown(int button) {
return GLFW.glfwGetMouseButton(window, button) == 1;
}
// マウスが押されたか
public boolean isMousePressed(int button) {
return isMouseDown(button) && !lastMouseButtons[butt...
}
// マウスが離されたか
public boolean isMouseReleased(int button) {
return !isMouseDown(button) && lastMouseButtons[butt...
}
こちらもWindowクラスに付け足してください。
上の項目の仕様と同じみたいです。
// 最後に押されたキー
public boolean[] lastKeys = new boolean[GLFW.GLFW_KEY_LA...
// 最後に押されたマウスボタン
public boolean[] lastMouseButtons = new boolean[GLFW.GLF...
上記の配列は上らへんに追記しておいてください。
これがないと最後に押されたキーを記録できません。
public void update() {
for (int i = 0; i < GLFW.GLFW_KEY_LAST; i++)
lastKeys[i] = isKeyDown(i);
for (int i = 0; i < GLFW.GLFW_MOUSE_BUTTON_LAST; i++)
lastMouseButtons[i] = isMouseDown(i);
// マウスなど入力されたイベントを記録する
GLFW.glfwPollEvents();
}
update関数にlastKeys, lastMouseButtonsへ最後に押されたキ...
* マウスカーソルの座標 [#w512fc1e]
// マウスカーソルのX座標を取得
public double getMouseX() {
DoubleBuffer buffer = BufferUtils.createDoubleBuffer...
GLFW.glfwGetCursorPos(window, buffer, null);
return buffer.get(0);
}
// マウスカーソルのY座標を取得
public double getMouseY() {
DoubleBuffer buffer = BufferUtils.createDoubleBuffer...
GLFW.glfwGetCursorPos(window, null, buffer);
return buffer.get(0);
}
※DoubleBufferはダブルバッファリングではありません。
Double型のバッファにglfwGetCursorPos関数がマウスカーソル...
* 動作確認 [#b093801d]
public static void main(String[] args) {
Window window = new Window();
// ウィンドウの初期化
window.init();
// 閉じるまでループ
while (!window.isClosed()) {
// イベントの更新
window.update();
if (window.isKeyPressed(GLFW.GLFW_KEY_A)) {
System.out.println("Pressed A");
}
if (window.isKeyReleased(GLFW.GLFW_KEY_A)) {
System.out.println("Released A");
}
if (window.isMousePressed(GLFW.GLFW_MOUSE_BUTTON...
System.out.println("Pressed Left");
System.out.println("CursorPos: (" + window.g...
}
if (window.isMouseReleased(GLFW.GLFW_MOUSE_BUTTO...
System.out.println("Released Left");
}
// バッファの更新
window.swapBuffers();
}
}
&ref(https://blog.pitan76.net/wp-content/uploads/2022/07/...
** コメント [#comment]
#pctrlcmt
&size(10){キーワード: 描画ライブラリ, アプリ開発, アプリ...
終了行:
#include(include/oldblog,notitle)
CENTER:&ref(https://blog.pitan76.net/wp-content/uploads/2...
----
* 【LWJGL3】キー、マウス入力 #2 [#title]
#splitbody{{
LEFT:
&tag(情報技術,プログラミング,Java,LWJGL,LWJGL3);
#split
RIGHT:&size(13){投稿日: 2022-07-28 (木)};
}}
#bcontents
次はキー、マウス入力となります。
* キーの入力 [#qe0e6601]
// キーが押されているか
public boolean isKeyDown(int key) {
return GLFW.glfwGetKey(window, key) == 1;
}
// キーが押されたか
public boolean isKeyPressed(int key) {
return isKeyDown(key) && !lastKeys[key];
}
// キーが離されたか
public boolean isKeyReleased(int key) {
return !isKeyDown(key) && lastKeys[key];
}
上記のコードをWindowクラスに追加してください。
GLFW.glfwGetKeyでは引数に指定されたキーが押されているか確...
* マウスの入力 [#y241ccbb]
// マウスが押されているか
public boolean isMouseDown(int button) {
return GLFW.glfwGetMouseButton(window, button) == 1;
}
// マウスが押されたか
public boolean isMousePressed(int button) {
return isMouseDown(button) && !lastMouseButtons[butt...
}
// マウスが離されたか
public boolean isMouseReleased(int button) {
return !isMouseDown(button) && lastMouseButtons[butt...
}
こちらもWindowクラスに付け足してください。
上の項目の仕様と同じみたいです。
// 最後に押されたキー
public boolean[] lastKeys = new boolean[GLFW.GLFW_KEY_LA...
// 最後に押されたマウスボタン
public boolean[] lastMouseButtons = new boolean[GLFW.GLF...
上記の配列は上らへんに追記しておいてください。
これがないと最後に押されたキーを記録できません。
public void update() {
for (int i = 0; i < GLFW.GLFW_KEY_LAST; i++)
lastKeys[i] = isKeyDown(i);
for (int i = 0; i < GLFW.GLFW_MOUSE_BUTTON_LAST; i++)
lastMouseButtons[i] = isMouseDown(i);
// マウスなど入力されたイベントを記録する
GLFW.glfwPollEvents();
}
update関数にlastKeys, lastMouseButtonsへ最後に押されたキ...
* マウスカーソルの座標 [#w512fc1e]
// マウスカーソルのX座標を取得
public double getMouseX() {
DoubleBuffer buffer = BufferUtils.createDoubleBuffer...
GLFW.glfwGetCursorPos(window, buffer, null);
return buffer.get(0);
}
// マウスカーソルのY座標を取得
public double getMouseY() {
DoubleBuffer buffer = BufferUtils.createDoubleBuffer...
GLFW.glfwGetCursorPos(window, null, buffer);
return buffer.get(0);
}
※DoubleBufferはダブルバッファリングではありません。
Double型のバッファにglfwGetCursorPos関数がマウスカーソル...
* 動作確認 [#b093801d]
public static void main(String[] args) {
Window window = new Window();
// ウィンドウの初期化
window.init();
// 閉じるまでループ
while (!window.isClosed()) {
// イベントの更新
window.update();
if (window.isKeyPressed(GLFW.GLFW_KEY_A)) {
System.out.println("Pressed A");
}
if (window.isKeyReleased(GLFW.GLFW_KEY_A)) {
System.out.println("Released A");
}
if (window.isMousePressed(GLFW.GLFW_MOUSE_BUTTON...
System.out.println("Pressed Left");
System.out.println("CursorPos: (" + window.g...
}
if (window.isMouseReleased(GLFW.GLFW_MOUSE_BUTTO...
System.out.println("Released Left");
}
// バッファの更新
window.swapBuffers();
}
}
&ref(https://blog.pitan76.net/wp-content/uploads/2022/07/...
** コメント [#comment]
#pctrlcmt
&size(10){キーワード: 描画ライブラリ, アプリ開発, アプリ...
ページ名:
検索
AND検索
OR検索
↑
プロフィール
Pitan
プログラミングや音MADやらが趣味
↑
最新のページ
最新の5件
2024-06-26
【アセンブリ言語】C言語コンパイルしてアセンブリ言語を解読していく
2024-05-29
PHPのチートシート
2024-05-14
WikiChree.COMの管理者の妄想?
2024-05-08
Visual Basicを使ってみた感想
2024-04-25
PHPってもう時代遅れ?それでも私がPHPを使い続ける理由
[
もっと見る
]
↑
タグ
ゲーム
サービス
プログラミング
情報技術
通信技術
[
もっと見る
]
↑
人気のページ
人気の5件
FrontPage
(29734)
RecentUpdates
(848)
【Discord】強力なスパム対策ができるボット「Wick」を紹介します。
(489)
【Minecraft】 FabricとForgeどっちがいいのだろうか?
(478)
無料のWikiソフトウェアを比較してみる
(199)
↑
カウンター
合計:
0
今日:
0
昨日:
0
オンライン:
16