Skip to content
This repository has been archived by the owner on Dec 26, 2018. It is now read-only.

[prior to 3.0] MeganekkoActivityとMeganekkoApp

Yuya Matsuo edited this page Sep 12, 2016 · 1 revision

MeganekkoアプリケーションではMeganekkoActivityを継承したActivityを作成します。このActivityはcreateMeganekkoAppをオーバーライドしてその中でMeganekkoAppを継承したクラスのインスタンスを作成します。Activityが行うことはほとんどこれだけであり、実質的なアプリケーションのメインはMeganekkoAppを継承したクラスになります。

public class MainActivity extends MeganekkoActivity {
    @Override
    public MeganekkoApp createMeganekkoApp(Meganekko meganekko) {
        return new App(meganekko);
    }
}
public class App extends MeganekkoApp {
    public App(Meganekko meganekko) {
        super(meganekko);
        // シーンの初期化等を行う(何らかのシーンをここで設定しないとエラーで落ちます)
        setSceneFromXML(R.xml.scene);
    }

    public void update() {
        // 1秒間に約60回実行され、オブジェクトを操作したりユーザーの操作に応答したりする処理を書く

        super.update(); // オーバーライドする時は必ず親のメソッドを呼び出すこと
    }
}

主な役割分担としては、MeganekkoActivityを継承したクラスではServiceを起動したりBroadcastReceiverを設定したり、Androidのシステムやライフサイクルと関わる処理を書き、MeganekkoAppを継承したクラスではVRシーンに関連する処理を中心に書いていくのが良いでしょう。

さらにVRシーンはSceneを継承したクラスを作成することで、シーンごとの処理を分割できます。複数シーンを遷移するアプリケーションの場合はApp.update()よりもScene.update()をオーバーライドして使った方がよいでしょう。

Clone this wiki locally