1
2
3
4
5
6
7
8
9
10
import com.rupeng.game.GameCore;
public class Main implements Runnable
{
public static void main(String[] args) {
GameCore.start(new Main());
}
public void run() { // 游戏运行的函数
GameCore.alert("Hello World");
}
}
1
2
3
4
5
6
GameCore.pause(int x) // 暂停x毫秒
GameCore.setGameTitle(char * name); // 设置名字
GameCore.setGameSize(int width, int height); // 设置宽高
GameCore.alert(Object msg); // 弹出提示框(整数、字符串都行)
Dimension d = GameCore.getGameSize();
// d.width 、 d.height (imprt java.awt.Demension;)
1
2
3
GameCore.loadBgView(String imgName); // 不重叠不拉伸显示图片。图片放到 src/Images 下面(注意大小写),可拖拽或者 ctrl+V粘贴
playSound(String soundName, boolean repeat); // 播放音乐(仅支持mp3),音乐放到 src/Sounds 下面
closeSound(String soundName); // 关闭音乐播放(包括重复播放的)
1
2
long a = 99999L // 常数数字默认为整型,long赋值需要转换到int
float f = 3.14 // 这样写是错的,需要加个F或f
1
2
3
String s = GameCore.input(Object value, Object msg); // 输入框(默认信息, 提示信息)
boolean b = GameCore.confirm(Object msg); // 确认框(提示信息)
int i = Integer.parseInt(s); // 输入的内容到整数
1
2
3
4
5
6
7
8
9
void createText(int txtNum, String text) // 创建只读文本
void setTextPosition(int txtNum, int x, int y) // 修改文本位置
void setText(int txtNum, String text) // 设置文本内容
void setTextColor(int txtNum, Color color) // 设置文本颜色,color.RED、color.green、new color(int R, int G, int B)
void setTextFontSize(int txtNum, int size) // 设置文本大小
Point getTextPosition(final int num) // 获取文本位置(import java.awt.Point;)
Dimension getTextSize(final int textNum)
void hdieText(fina int labelNum) // 隐藏文字
void showText(final int labelNum) // 显示文字
1
2
3
4
5
6
7
8
void createImage(int num, String imgName) // 创建图片控件,图片放到 src/Images 里面(注意大小写)
void createImage(int num) // 创建一个什么都不显示的图片
void setImageSource(int num, String imgName) // 修改显示的图片源
void setImagePosition(int num, int x, int y) // 修改坐标
Point getImagePosition(final int num) // 获得坐标
Dimension getImagePosition(final int num) // 获得大小
void hideImage(int num) // 隐藏图片
void showImage(int num) // 显示图片
1
2
3
4
5
6
7
8
9
10
精灵文件位置:src/Sprites/精灵名字[]/精灵动作[]/i.png图片  按顺序放好(多选文件夹粘贴)(分层:工作空间—右上角倒三角—包表示法)
void createSprite(int num, String spriteName); // 创建精灵
void palySpriteAnimate(int spriteNum, String animateName, boolean repeat); // 播放精灵的动作
void setSpritePosition(int spriteNum, int x, int y); // 设置精灵的位置
Point getSpritePosition(int spriteNum); //获得精灵的位置
Dimension getSpriteSize(int spriteNum); // 获取精灵尺寸
void hideSprite(int spriteNum); // 隐藏精灵
void showSprite(int spriteNum); // 显示精灵
void setSpriteFlipX(int spriteNum, boolean flipX); // 是否进行X方向翻转(左右对称,fip为true时翻转,false时还原)
void setSpriteFlipY(int spriteNum, boolean flipY); // 是否设置Y方向翻转(上下对称)
1
2
3
Java程序打包:拷贝bin和两个jar到单独的文件夹,拷贝jre,去掉src.zip、lib\ext\jfxrt.jar、bin\server、bin\jfxwebkit.dll,减小尺寸;
创建一个.bat文件,内容:start jre\bin\javaw.exe -cp .\bin\ -Djava.ext.dirs=. Main1
Main1 代表入口类,如果有包名则要写全名(xxx.Main1)
1
2
3
String转int:Integer.parseInt("123")
String相等:s1.equal(s2); (必须用这种方式写)
s1==s2 不使用原因: "abc"+"123" != "abc123" (初学者常犯错误)
1
2
if (i = 10) // Java中这么写是错误的,C语言可以
if (b = true) // 这样是正确的
1
switch (表达式) // 表达式可以为byte/short/int/char,JDK5后可以是枚举,JDK7后可以是String类型
1
2
3
4
5
6
7
8
9
10
GameCore.getPressedKeyCode(); // 获得用户当前按键(只适合“连续动作”,一次性触发最好用“事件驱动”)
与KeyEvent中的值作比较:(import java.awt.event.KeyEvent;)
用法:if ( key == KeyEvent.VK_UP )
数字键:VK_0、VK_1……
字母键:VK_A、VK_B……
功能键:VK_F1、VK_F2……
回车:VK_ENTER
空格:VK_SPACE
ESC:VK_ESCAPE
方向键:VK_LEFT、VK_UP、VK_RIGHT、VK_DOWN
1
2
int[10] a = new int[10];  等价于  int a[10];  但是前者有初始化
int、double等默认为0,String、Integer等默认为null
1
编译器认为,if(无else的)、for等操作可能不执行,所以里面的变量初始化会被忽略,若没有初始化则编译器报错
1
2
3
import java.util.Random;
double d = Math.random(); // 返回 [ 0, 1.0 ) 之间的 double
int num = (int) (Math.random() * 3); // 0-2的整数
1
GameCore.rand(int low, int high); // low <= x < high
1
2
3
4
5
6
7
8
System.currentTimeMillis() // 返回当前的毫秒事件
Date d = new Date(2009-1900,3-1,9); // 需-1900.1.0,为:2009.3.9
System.out.println(d1);
int year = d.getYear()+1900; getMonth()+1; getDate(); // 年月日
getHours(); getMinutes(); getSeconds(); // 时分秒
getDat(); //星期几,周日=0,周一=1
long time = d.getTime(); // 获取时间的毫秒(相对时间)
Date d = new Date(time); // 毫秒转换成时间
1
int[][] a = { { 1 }, { 2, 3, 4, 5 }, { 6, 7 } }; // 每一行的列数可以不一样,a[i].length也不一样。

课程视频:如鹏网《这样学Java不枯燥》