2010-08-19更新内容:
1、針對Android版增加了多點觸摸支援。
2、增加了一組模拟按鈕,以Screen實作Emulator監聽(此監聽器對應8種按鈕事件)即可直接使用。
3、增加了一些細節處的功能擴充,譬如Android版LSystem類已和JavaSE版一樣提供了大量系統環境參數。
4、修正了某些環境會遇到的中文亂碼問題以及新發現的架構BUG(舊版LGraphics類仿J2ME實作部分有BUG,建議更新此版)。
源碼及jar下載下傳位址: http://loon-simple.googlecode.com/files/LGame-0.2.7.7z
Android版啟動函數變更:
在0.2.7版中,略微變更了遊戲初始化方式,入口函數改為onMain。
public class Main extends LGameAndroid2DActivity {
public void onMain() {
//this.initialization(false,LAD.LEFT, "Admob ID",60);
this.initialization(false);
this.setShowLogo(false);
this.setScreen(new EmulatorTest());
this.setFPS(50);
this.setShowFPS(true);
this.showScreen();
}
}
新增模拟按鈕的使用 :
為了适應複雜操作環境及格鬥遊戲需要,特為Android及JavaSE版LGame新增一組模拟按鈕,在任意Screen中實作EmulatorListener監聽即可調用。
基本使用方式如下:
package org.loon.test;
import org.loon.framework.android.game.action.sprite.ColorBackground;
import org.loon.framework.android.game.core.EmulatorListener;
import org.loon.framework.android.game.core.graphics.LColor;
import org.loon.framework.android.game.core.graphics.Screen;
import org.loon.framework.android.game.core.graphics.device.LGraphics;
import android.view.KeyEvent;
import android.view.MotionEvent;
//所有的Screen(Screen、ThreadScreen、CanvasScreen)隻要實作EmulatorListener監聽,
//即會自動調用模拟按鍵。
public class EmulatorTest extends Screen implements EmulatorListener {
private ColorBackground background;
public EmulatorTest() {
//通過getEmulatorButtons函數可以傳回目前模拟按鈕的數組集合。
//getEmulatorButtons();
}
// 0.2.7版新增函數,會在Screen建構完成後執行并加載其中資料
public void onLoad() {
// 制作一塊紅色的背景,大小為48x48
this.background = new ColorBackground(LColor.red, 48, 48);
// 居中(ColorBackground本身為精靈)
this.centerOn(background);
// 加載
this.add(background);
}
public void draw(LGraphics g) {
}
// 0.2.7版新增函數,仿照rokon同名函數建構,僅在支援多點觸摸的環境中才能被觸發。
public void onTouch(float x, float y, MotionEvent e, int pointerCount,
int pointerId) {
}
public boolean onKeyDown(int keyCode, KeyEvent e) {
return true;
}
public boolean onKeyUp(int keyCode, KeyEvent e) {
return true;
}
public boolean onTouchDown(MotionEvent e) {
return true;
}
public boolean onTouchMove(MotionEvent e) {
return true;
}
public boolean onTouchUp(MotionEvent e) {
return true;
}
public void onUpClick() {
if (background != null) {
background.move_up(4);
}
}
public void onDownClick() {
if (background != null) {
background.move_down(4);
}
}
public void onLeftClick() {
if (background != null) {
background.move_left(4);
}
}
public void onRightClick() {
if (background != null) {
background.move_right(4);
}
}
public void onCancelClick() {
if (background != null) {
background.setVisible(false);
}
}
public void onCircleClick() {
}
public void onSquareClick() {
}
public void onTriangleClick() {
if (background != null) {
background.setVisible(true);
}
}
public void unCancelClick() {
}
public void unCircleClick() {
}
public void unDownClick() {
}
public void unLeftClick() {
}
public void unRightClick() {
}
public void unSquareClick() {
}
public void unTriangleClick() {
}
public void unUpClick() {
}
用新增的模拟按鍵可以輕松實作格鬥類或需要複雜操作的遊戲:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZugDdVllNzADNzQjM4ITMfBzLcFjMvwFOwATMwIzLcRnbl1GajFGd0F2LcRXZu5ibkN3YukGavw1LcpDc0RHaiojIsJye.gif)
架構基本使用方法請參見此文:http://blog.csdn.net/cping1982/archive/2010/08/06/5794380.aspx
以下為較早前釋出過的一些程式示例畫面(請下載下傳較早前LGame釋出版本獲得):
以下為LGame-Simple開發的部分遊戲示例畫面。
源碼及jar下載下傳位址: http://loon-simple.googlecode.com/files/LGame-0.2.7.7z