XNA
教科書をXNAゲームプログラミング で勉強してるけど、こいつ3.0対応で、4.0でかなり勝手が変わってる。 ある程度は参考になるけど、実質は Memeplexes見たほうが良さそう。 ということで、勉強中。で、両方のハイブリッドを作る俺。頂点を作成しとく。 Basic…
間が開いた。 まずは必要な変数定義と頂点。 BasicEffect effect; Texture2D texture; VertexPositionTexture[] vertexes = new[] { new VertexPositionTexture(new Vector3(0.7f, 1, 0), new Vector2(1, 0)), new VertexPositionTexture(new Vector3(-0.7f,…
基本は三角ポリゴン制御なので、普通に正方形を作るには3角形2枚つないで作る。 すると、頂点は3x2で6点。2点重なってるのが無駄ですよねーという話。 なので、共有設定をするのが IndexBuffer だそうで。 論よりRun VertexPositionColor[] vertices = new[]…
書いてみたコードぺたり。三角形2枚をカメラ移動で眺めるサンプル。 namespace XNASample003 { /// <summary> /// 基底 Game クラスから派生した、ゲームのメイン クラスです。 /// </summary> public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager grap…
GameComponent 名前の通りゲームの部品。 Initialize と Update を持ってて、Game.Components に登録しとくと、明示的にUpdateとか呼ばなくても読んでよしなに処理してくれるそうな。 しかし、この時点でカプセル性持たせて考えると、用途が思い浮かばない。…
入力系はえらいシンプルだね。 XBOX360コントローラ GamePad.GetState(prayer index) で指定プレイヤーのコントローラ状態引っ張ってこれる。とれてくるのが GamePadState で、Buttons とか Triggers とか。 Buttons.A とか呼ぶと、ButtonState.Pressed とか…
画面の初期化 GraphicsDevice#Clear メソッドでバックバッファを単色初期化できる模様。 ダブルバッファリングそのものはXNAで持ってる。便利な世の中だ。 画面サイズ全画面 初期化時点でフルスクリーンに設定する場合、IsFullScreen に値を設定すればいい。…
XNA突っ込んでどう動かすかというか勉強をしてみた。 基本の流れ 基本は.NET のMainで走ってる。で、Microsoft.Xna.Framework.Game クラスが、内部でループやらなにやら隠蔽してAPIを公開している模様。どうもこのインスタンス1個でウィンドウを作ったり、無…