Skip to content

oyas/OpenGLGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenGLの解説用

コンパイル方法

Ubuntu: $ make
Windows: $ make win

実行

Ubuntu: $ ./a.out
Windows: $ ./a.exe

実行ファイルやオブジェクトファイル(.o)などを消したい時

$ make clean

ステージクラスについて

抽象クラスから派生させた子クラスは、抽象クラスの型で管理できる。 メソッドの呼び出しも抽象クラスのを呼び出すように使える。 というのを使って、ステージの切り替えができるようにするために作ったクラスです。

ステージごとにクラスを作るメリットは、他と独立して管理できること。 デメリットは状態の引き継ぎなどを全く考えてないこと。

XLoaderについて

Xファイルを読み込みます。内容は理解しなくていいです。 xファイルの構造やスキンメッシュについて理解が必要ですし相当時間がかかります。 アニメーションも一応読み込めます。Render()を呼ぶごとに勝手にアニメーションしてくれます。 なので、くねくねはくねくねします。

XLoaderには主に2つのクラスがあります。簡単に使い方を説明します。

  • XModel Xファイルからモデルを読み込む

    *bool Load(char filename, bool AnimOnly) モデルを読み込む
    filename : 読み込むファイルへのパス
    AnimOnly : アニメーションのみを読み込むときはture。普通はfalseを指定する。

    void Render(float scale=1.0f) モデルを表示する
    scale : 表示倍率。なにも指定しない場合は1倍。

  • XObj XModelを楽に扱うためのクラス。一つのモデルから何個でも作成可能。

    *setXModel(XModel m) Xモデルの登録
    m : 管理するXModelクラスを指定。

    Render() モデルを表示する
    (引数なし)倍率は1倍。

    以下、メンバ変数。型はVector3、(メンバに float x,y,z をもつ)

    pos 表示位置

    angle 回転角度

    offset ズレ調整用。思った通りの位置に表示されない時にいじる

    ここまで、Render()で使われる変数。以下は内部では使われないので個人で自由につかう。

    speed 移動速度。当たり判定用。

    force かかっている力。

    ただし、今回この2つの変数は使われ方が適当です。物理的に。
    SKSunshineでも適当なのですが、うまく行ってるんでほってる状態。。

クラス以外でよく使うもの

Vector3 3次元ベクトル。定義はXLoader.h内。オペレーターがいろいろ定義してあって使いやすくなってる。

About

OpenGLをつかった簡単なゲーム

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages