FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

「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小説
最後の時の夢

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

ボロボロのガタガタ

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

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

ひろかずのブログ

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

この人とブロともになる

RSSリンクの表示
リンク
アクセスランキング
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。