Re: 【提案】キーを押した瞬間と離した瞬間も検知できる関数の追加 ( No.1 ) |
- 名前:管理人 日時:2021/05/15 02:01
新関数のご提案ありがとうございます
ただ、ご提案頂いた関数を正しく使用できるのは、押した瞬間、離した瞬間の情報を取得する処理を
GetHitKeyStateAll のみで正しく組める方だけかな…と思うので、
『関数は追加するものの、関数リファレンスには載せない』という方向で実装しようかと思います
( DxLib.h をご覧になられるような、ご提案の関数を正しく理解して使えるような
中級者以上の方が見つけて使用されるイメージです )
関数名なのですが、通りすがりのオールドユーザーさんは CheckAllKey と書かれていますが、
CheckAllKey という名前の関数はありませんので、こちらは GetHitKeyStateAll のことを
指している、という認識で合っていますでしょうか?
GetHitKeyStateAll に押し始めの変化、離した時の変化の情報を追加した関数ということで
Hit を Toggle に変更して GetToggleKeyStateAll にしようかなと考えています
( ただ、この関数名だと『押しっぱなし』の情報が得られないような印象になってしまうので、
GetHitKeyStateAllEx や GetHitKeyStateAll2 などのベタな関数名にした方が良いかもしれませんが… )
|
Re: 【提案】キーを押した瞬間と離した瞬間も検知できる関数の追加 ( No.2 ) |
- 名前:通りすがりのオールドユーザー 日時:2021/05/21 21:52
管理人さま
検討ありがとうございます。
細かいチェック抜けていてすみません、名前とかは一任いたします。
個人的には、変化点を取れるという点で、Toggle という名前が入っていたほうがいいかなと思います。
|
Re: 【提案】キーを押した瞬間と離した瞬間も検知できる関数の追加 ( No.3 ) |
- 名前:あいおい? 日時:2021/05/22 16:40
離したを -1、押していないを 0、押したを 1、押し続けているを 2として、処理を組むと『押しっぱなし』の情報のも得られて良いと思います
言語は C# ですが自分はこんな感じで実装しています
ttps://github.com/AioiLight/Amaoto/blob/amaoto-refined/Amaoto/Key.cs
|
Re: 【提案】キーを押した瞬間と離した瞬間も検知できる関数の追加 ( No.4 ) |
- 名前:なんとなく 日時:2021/05/26 14:55
既に GetHitKeyStateAll なるものが用意されているなら
せいぜい
void UpdateKeyStateInfo( unsigned char *Buff ) //要素数256の配列を突っ込む
{
char CurrState[256];
GetHitKeyStateAll( CurrState );
for( int i=0; i<256; ++i ){ Buff[i] = (Buff[i]<<1) | CurrState[i]; }
}
みたいなのをユーザが自分の用途に従って書くだけで済むような話に見える.
> そこそこ組まないといけない
と訴えるほどのことでもないのでは?
|
Re: 【提案】キーを押した瞬間と離した瞬間も検知できる関数の追加 ( No.5 ) |
- 名前:あいおい? 日時:2021/05/26 15:44
(まあ、自力で書けば済む話ではありますが
ゲームエンジン的な側面も持ち合わせているので 入力制御の実装が弱いと言いたくなる気持ちは分かります)
|
Re: 【提案】キーを押した瞬間と離した瞬間も検知できる関数の追加 ( No.6 ) |
- 名前:なんとなく 日時:2021/05/26 17:55
例えば,「押しっぱなし」の期間の長さを知りたい人にとっては提案された形の処理では役に立たないわけで.
たった数行のコードを書けば必要なものを作れるだけのAPIを既に用意しているのに,
さらに個々のわがままを聞いて無暗やたらとライブラリを拡張するのはどうなのかなぁ,とか.
|
Re: 【提案】キーを押した瞬間と離した瞬間も検知できる関数の追加 ( No.7 ) |
- 名前:名無三 日時:2021/05/26 19:41
ゲームエンジン的側面と言うのもありますしそもそもDXLIBより低レベルのwin32APIでリリース取れるんですからあったほうが良いでしょうよ、使い所も少なくないですし
|
Re: 【提案】キーを押した瞬間と離した瞬間も検知できる関数の追加 ( No.8 ) |
- 名前:ひろかず 日時:2021/05/26 23:22
個人的意見ですが、今更キー入力の拡張バージョンを追加されても使用される方がいらっしゃるのか疑問を感じます。
利用ユーザーそれぞれが使いやすいようにラッピングして使用しているかと思います。
もし、拡張されるのであれば、押しっぱなしのフレーム数が取得できると有り難いです。
あいおい?さんと、なんとなくさんのご意見を合体させて、
離した -1
押していない 0
押している 1〜(押しているフレーム数)
という形ではいかがでしょうか?
|
Re: 【提案】キーを押した瞬間と離した瞬間も検知できる関数の追加 ( No.9 ) |
- 名前:通りすがりのオールドユーザー 日時:2021/05/27 01:30
個人的には、公開からかなり経つものの、まだまだ初学者にかなり優しい取っつきやすいライブラリだと感じています。
昔々使い始めた頃に、キーを離した状態から押し下げた時の判定(例えば、インベーダーゲームのショットを撃つようなとき)の取り方が分からず、秒間60連射してしまってなかなか解決策が分からず困ったことがありました。
その後も、年単位で離れて、久々にちょこっと使う時に、(以前使ってたソースは使えない前提があって)いちいちそのラッピング関数とか、ラッピングするほどでもない時に処理を作るのもなーと思ってました。
そういう経緯から、その辺がラッピングされた関数がライブラリ側であったら便利だなとか、初学者でもすぐ使える関数あったら便利だろなという所からの提案です。
|