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。

 



1. public class Main extends
2.       
3. public void
4. //this.initialization(false,LAD.LEFT, "Admob ID",60);
5. this.initialization(false);  
6. this.setShowLogo(false);  
7. this.setScreen(new
8. this.setFPS(50);  
9. this.setShowFPS(true);  
10. this.showScreen();  
11.     }  
12. }
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监听即可调用。

 

基本使用方式如下:

 

1. package
2. import
3. import
4. import
5. import
6. import
7. import
8. import
9. //所有的Screen(Screen、ThreadScreen、CanvasScreen)只要实现EmulatorListener监听,
10. //即会自动调用模拟按键。 
11. public class EmulatorTest extends Screen implements
12. private
13. public
14. //通过getEmulatorButtons函数可以返回当前模拟按钮的数组集合。 
15. //getEmulatorButtons();
16.     }  
17. // 0.2.7版新增函数,会在Screen构建完成后执行并加载其中数据
18. public void
19. // 制作一块红色的背景,大小为48x48
20. this.background = new ColorBackground(LColor.red, 48, 48);  
21. // 居中(ColorBackground本身为精灵)
22. this.centerOn(background);  
23. // 加载
24. this.add(background);  
25.     }  
26. public void
27.     }  
28. // 0.2.7版新增函数,仿照rokon同名函数构建,仅在支持多点触摸的环境中才能被触发。
29. public void onTouch(float x, float y, MotionEvent e, int
30. int
31.     }  
32. public boolean onKeyDown(int
33. return true;  
34.     }  
35. public boolean onKeyUp(int
36. return true;  
37.     }  
38. public boolean
39. return true;  
40.     }  
41. public boolean
42. return true;  
43.     }  
44. public boolean
45. return true;  
46.     }  
47. public void
48. if (background != null) {  
49. 4);  
50.         }  
51.     }  
52. public void
53. if (background != null) {  
54. 4);  
55.         }  
56.     }  
57. public void
58. if (background != null) {  
59. 4);  
60.         }  
61.     }  
62. public void
63. if (background != null) {  
64. 4);  
65.         }  
66.     }  
67. public void
68. if (background != null) {  
69. false);  
70.         }  
71.     }  
72. public void
73.           
74.     }  
75. public void
76.     }  
77. public void
78. if (background != null) {  
79. true);  
80.         }  
81.     }  
82. public void
83.     }  
84. public void
85.     }  
86. public void
87.     }  
88. public void
89.     }  
90. public void
91.     }  
92. public void
93.     }  
94. public void
95.     }  
96. public void
97.     }
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() { }


 

用新增的模拟按键可以轻松实现格斗类或需要复杂操作的游戏:

 

游戏Java 架构 java 游戏框架_加载

 


框架基本使用方法请参见此文:

 

以下为较早前发布过的一些程序示例画面(请下载较早前LGame发布版本获得):

以下为LGame-Simple开发的部分游戏示例画面。

 


源码及jar下载地址:http://loon-simple.googlecode.com/files/LGame-0.2.7.7z