読者です 読者をやめる 読者になる 読者になる

がりらぼ

WindowsRuntimeの応援ブログ

C++ってstaticなメンバ変数を作るときはクラス外で定義しなきゃらしい

C++

C++でシングルトンなクラスを作ってたとき、 エラー 1 error LNK2001: 外部シンボル ""private: static class std::shared_ptr<class ToolkitHelper::SaveDataStore<class SaveData> > ToolkitHelper::SaveDataStore<class SaveData>::m_instance" (?m_instance@?$SaveDataStore@VSaveData@@@ToolkitHelper@@0V?$shared_ptr@V?$Sa</class></class>…

DirectXでWindowsストアアプリ用ゲームを作りやすくする簡易フレームワークをversion2にしました。

前回、この記事でゲームフレームワークをちょこっと見せましたが WindowsPhone8.1ゲームプログラミング入門 - がりらぼ 今回はいろいろ機能を追加して、大幅に変更を加えたのでメジャーバージョンアップデートということにしました。 配布はGitHubでオープン…

C++/CXの非同期処理簡単なサンプル

C++

ちょっとC++/CXでDirectXをいじるときにTask型の非同期処理のやり方がわからなくてこまったので 基本的にC#などではasync awaitをすることで非同期処理を同期処理のように記述することができますがC++/CXにはasync awaitはありません。 ですのでtask型を作っ…

WindowsPhone8.1ゲームプログラミング入門

はじめに この記事はWindowsPhoneアドベントカレンダー2014の15日目の記事です。 今回WindowsPhoneアドベントカレンダーの記事を書こうと思ったとき、WindowsPhoneでゲームプログラミングをする記事を書こうと思いました。 そしてそういえば昔WindowsPhone …

DirectXとC++で書いたWindowsPhoneアプリを実機デバッグする

DirectXとC++で書いたWindowsPhoneアプリは実機でデバッグしようとしてもDeviceの選択肢がなく、 エミュレータの選択肢しかないため実機デバッグができません。 ソリューションのターゲットプラットフォームがWin32なのが問題なのでARMに変更することで解決…

VisualC++のユニバーサルアプリでWindowsPhoneと処理を分岐する

C++

C++でユニバーサルアプリを作るときにちょっとこまったのでメモ こんな感じに処理を分岐 #if (WINAPI_FAMILY == WINAPI_FAMILY_PC_APP) //Windowsアプリの処理 #endif #if (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) //WindowsPhoneの処理 #endif

DirectX11WindowsRuntimeゲームプログラミング入門vol.3:2D画像を描画する

前回までに作成したプロジェクトに、DirectXToolkitを使って2D画像を描画していきます。 2Dテクスチャ DirectXでは2Dテクスチャ自体はID3D11ShaderResourceView型で扱われます。 この2Dテクスチャに画像ファイルを読み込むのですが、普通にやったら大変なの…

DirectX11WindowsRuntimeゲームプログラミング入門vol.2:何もしないレンダラーを作る

Renderer DirectXでは、画面に描画されるクラスはレンダラーと呼びます。 各レンダラーは コンストラクタ リソースの確保 リソースの解放 更新 描画 の5つのメソッドを持ちます。 例えば車を描くレンダラーを例として考えると、 コンストラクタでは車の変数(…

DirectX11WindowsRuntimeゲームプログラミング入門vol.1:DirectXテンプレートから最初のプロジェクトを作る

新規プロジェクトを作成する VisualStudio2013の新規作成→プロジェクトを開きます VisualC++→WindowsストアのテンプレートからDirectXアプリ(ユニバーサルアプリ)を選択し、プロジェクトを作成しましょう。 DXToolkitを追加する DirectXはWindowsの高度なゲ…

VisualC++ 2013パーフェクトマスター読了!

夏休みなので3日間ぐらい夜中に読みました。 金城俊也著のVisualC++2013パーフェクトマスターです。 もともとはDirectX11をいじるために3年前ぐらいにクラスの作成ぐらいまで勉強していたC++をちゃんと理解しようと、赤坂さんのVisualC++本を読もうと思って…

DXToolkitをリンクするには

VisualC++(しかもストアアプリ)で既存のプロジェクトを追加するのって結構難しかったんですね。 C#みたいに参照の追加みたいな感じでサッとできるかなと思ったら意外と段階が多かったです。 DXToolkitを既存のプロジェクトにリンクするには | garicchi.com …

DirectXでウインドウサイズを取得する

Window系はCoreWindowクラスに入ってます CoreWindow::GetForCurrentThread()->Bounds; CoreWindowは Windows::UI::Core 名前空間にあります。メリークルシミマス— がりっち✨X240 (@garicchi) December 24, 2013

shared_ptrを使う

C++

C++はよくdeleteしなければならないとか deleteし忘れるとかC#ではガベージコレクションがやってくれた「何からも参照されなくなったら破棄」ということをC++はデフォルトではやってくれません。しかしながらC++11からshared_ptrというスマートポインタが導…