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

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

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

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

ボロボロのガタガタ

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

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

ひろかずのブログ

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

この人とブロともになる

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