【LGame入門学堂003.第三章】HelloWorldの描画テキスト


【LG 003.第3章】HelloWorldの描画テキスト
キーワード:LGame入門環境テキスト
愚かな木の花の心は貢献して、何ですか?花心?いや、下心だ~
転載は明記してください、原文の住所:http://blog.csdn.net/musicvs/article/details/7530117
 
 
 
最終的な効果:
【LGame入门学堂003.第三章】 HelloWorld之绘制文本_第1张图片
 
これは簡単です.Activityのコードを見てください.
public class LGameStudyActivity extends LGameAndroid2DActivity {
 
        @Override
 
        public void onGamePaused() {
 
        }
 

        @Override
 
        public void onGameResumed() {
 
        }
 

        @Override
 
        public void onMain() {
 
                /*          */
 
                this.initialization(true);
 
                
                /*  Activity      ,     View */
 
                this.setScreen(new ScreenExample());
 
                
                /*      ,        ,  30  */
 
                this.setFPS(30);
 
                
                /*         (     ) */
 
                this.setShowFPS(true);
 
                
                /*    Logo(       ,   ,     HelloWorld) */
 
                this.setShowLogo(false);
 
                
                /* OK,      ,       */
 
                this.showScreen();
 
        }
 
}
 
 :                      。

 
エンジンはLGameAndroid 2 DActivityというActivityを独自にパッケージしています.
コードはとても简単で、私はすでにはっきり注釈しました~みんなが私の文字を理解することができることを望みます~
 
ここでうるさい:
なぜonMain()関数で初期化するのですか?実はどうしてなくて、私达は完全にonCreate()関数の中で初期化することができて、信じませんか?LGameAndroid 2 DActivityクラスのonCreate関数のソースコードを見てみましょう.
public void onCreate(Bundle icicle) {
 
                super.onCreate(icicle);
 
                LSystem.gc();
 
                Log.i("Android2DActivity", "LGame 2D Engine Start");
 
                //             FrameLayout
 
        this.frameLayout = new FrameLayout(LGameAndroid2DActivity.this);
 
                //     True ,Back       (   False)
 
                this.isBackLocked = false;
 
                //     False ,Activity onDestroy     Activity,        (   True)
 
                this.isDestroy = true;
 
                this.onMain();
 
}

 
へへへ、他のコードは気にしないで、最後の行を見てください:this.onMain();
はい、わかりましたね.実際にはonCreate関数を呼び出して初期化操作を行い,最後にonMain関数を呼び出した.
では、onMain()関数で初期化操作をしましょう.同じです.
スクリーンを見てみましょう
public class ScreenExample extends Screen {
 
        public ScreenExample() {
 
        }
 
        
 
        /* 
         *     :
 
         *  J2SE   ,draw LGraphics      FPS    ,       J2SE
 
         * Graphics  J2MEGraphics      (API      )
 
         */
 
        public void draw(LGraphics g) {
 
                /*    ?     canvas.drawColor(Color.GRAY) */
 
                g.drawClear(LColor.gray);
 
                
                /* 
                 *   ,     ——HelloWorld!
 
                 *     ,       ,  "HelloWorld"       (100,100)  
 
                 */
 
                g.drawString("HelloWorld", 100, 100);
 
        }
 

        @Override
 
        public void alter(LTimerContext arg0) {
 
        }
 

        @Override
 
        public void onTouchDown(LTouch arg0) {
 
        }
 

        @Override
 
        public void onTouchMove(LTouch arg0) {
 
        }
 

        @Override
 
        public void onTouchUp(LTouch arg0) {
 
        }
 
}
 

 :             。

 
これも簡単です.draw関数に私たちの描画操作を加えるといいです.
1.    g.drawClear(LColor.gray); つまり私たちがよくやっているスクリーンです
2.   g.drawString("HelloWorld",100, 100); canvasのdrawTextと同様に、実際にはdrawText関数が呼び出されます.
 
OK、プログラムを実行して、あなたはHelloWorldを見ることができます~!
 
ここでもうちょっとうるさいです.
AndroidManifestでxmlで新しいActivityを設定する場合は、必ずandroid:configChanges="orientation|keyboardHidden"を追加します.
 
プロパティを選択しないと、ゲームは横画面または縦画面を強制できません.しばらく原因を知らないで、後で研究して、私达の宗旨は、先に使うことをマスターして、更に原理を探究します.
次のようになります.
<application android:icon="@drawable/icon" android:label="@string/app_name">
 
        <activity android:name=".LGameStudyActivity"
 
                  android:label="@string/app_name"
 
                  android:configChanges="orientation|keyboardHidden">
 
            <intent-filter>
 
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
 
            </intent-filter>
 
        </activity>
 
    </application>

 
ソースのダウンロード:http://download.csdn.net/detail/musicvs/4289608
 
原文はAndroid-Fansフォーラムで初めて発表されました.http://www.android-fans.net/thread-1454-1-1.html