「SDL」キーの正確な判定

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SDL2;

namespace てすと
{
class Class1
{
static void Main()
{
if(SDL.SDL_Init(SDL.SDL_INIT_EVERYTHING) < 0) throw new Exception();
SDL.SDL_CreateWindow("てすと", 100, 100, 300, 300, SDL.SDL_WindowFlags.SDL_WINDOW_SHOWN);

var loop = true;

while (loop)
{
var e = new SDL.SDL_Event();

SDL.SDL_PollEvent(out e);

switch (e.type)
{
case SDL.SDL_EventType.SDL_QUIT:
loop = false;
break;
}

//キー判定の開始
KeyCheck();

SDL.SDL_Delay(1000 / 30);
}

SDL.SDL_Quit();
}


//キー判定を開始する関数
static void KeyCheck()
{
//たぶん使用キーの数
int num = 0;
//キーの状態を示す値をポインタで取得
IntPtr ptr = SDL.SDL_GetKeyboardState(out num);

//ここからポインター使用
//取り扱い注意
unsafe
{
//キー判定をするための定数
//今回はAキーとSキーを判定する
const int key0 = (int)SDL.SDL_Scancode.SDL_SCANCODE_A;
const int key1 = (int)SDL.SDL_Scancode.SDL_SCANCODE_S;

//キーボードの状態をポインタで取得
var p = (sbyte*)ptr.ToPointer();

//p[int型]で、キーが押されているかどうかを判定
//0なら今は押されていない。1なら今は押されている
//
//今キーが押されているかどうかがわかり、
//他のキーの同時押しの判定ができるので使いやすい
Console.WriteLine("Aキー判定 " + p[key0] + " : " + "Sキー判定 " + p[key1]);
}
}

}
}
スポンサーサイト
プロフィール

みにおん

Author:みにおん
c#でゲームを作る人です
web小説なども書いています

低学歴で馬鹿なのパート従業員
ですが、よろしく

相互リンク・ブロとも募集中です
コメントなどご自由にどうぞ

ホームページを見る
Twitter(個人ページ)
PIXIV(個人ページ)

○自作ゲーム一覧
ふりーむ
フリーゲーム夢幻
100%ふりげストア
ゲームモリモリ

・web小説
最後の時の夢

よろしければ、1日1クリックお願いします
にほんブログ村 ゲームブログ 無料ゲームへ
にほんブログ村

にほんブログ村 小説ブログ ライトノベル(小説)へ
にほんブログ村

最新記事
最新コメント
月別アーカイブ
カテゴリ
ブロとも一覧

誰よりも楽しく普通のこと

ゲームアプリ、ラインスタンプ開発日記(MMA Bros)

ミリオネアインテリジェンス!!!!! 資格編

ひろかずのブログ

srpの路地裏
検索フォーム
ブロとも申請フォーム

この人とブロともになる

RSSリンクの表示
リンク
アクセスランキング
QRコード
QR