Vector2を作ろう


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

メニュー>プログラミング>C++>Vector2を作ろう

XNAでゲーム作ろうとするとおなじみVector2。
中身はfloat型のX,Y。これで座標を指定したり操作したり色々使えますね。
それだけじゃなく、内積、ベクトル同士の距離も内蔵しているメソッドでできますね。

XNA以外ではとりあえずDXライブラリにはこんなんなかった(あるかも)
のでとりあえず自分で作ってみようとしました。

struct Vector2
{
  float X,Y;
};

はい完成~余裕~。

なわけないですね^^;

Vector2どうしの足し算とか引き算とかこれだけじゃできないですね。

Vector2 pos;
Vector2 speed;

pos += speed;

で勝手にやってくれるとか思ったらあかんですね
ちゃんと作ってやらないといけないみたいです
とりあえず上のとおり+=が使えるようにするには

struct Vector2
{
  float X,Y;
  Vector2& operator+=(const Vector2& obj)
  {
    X += obj.X;
    Y += obj.Y;
    return (*this);
  }
};

って書いてやれば
pos += speedでちゃんと足し算してくれますね。
意味が分からない人は「operator C++」とか「演算子のオーバーロード」
とかで検索してみてね。


他の必要な機能は必要になったら増やしますか




下の添付ファイルにあげてます
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。
添付ファイル