?? mygamecanvas.java
字號:
case Consts.SN_KEY_LEFT_SOFT_KEY: {
// doStateChange(SB_STATE_MENU);
nPorintStrrMenuInGame = 0;
isMenuInGameWorked = true;
snKeyCodePressed = 0;
}
break;
case UP: {
page--;
if (page < 0) {
page = 0;
}
}
break;
case DOWN: {
page++;
// 控制翻到相應(yīng)的頁數(shù)
if (page > lastpage) {
freeStrDialog();
}
}
break;
}
snKeyCodePressed = 0;
} else {
if (bGameResult != 0) {
if (nTimerForGameResultShow <= 0) {
if (FIRE == getKeyPressed(false)) {
if (bGameResult == 1) {
if (nMapId >= Consts.SN_ABS_MAX_LEVEL + 1) {
doStateChange(SB_STATE_MENU);
}
}
isKeyReponseMenu = true;
snKeyCodePressed = 0;
}
return;
}
}
switch (tkey) {
case Consts.SN_KEY_LEFT_SOFT_KEY: {
// doStateChange(SB_STATE_MENU);
nPorintStrrMenuInGame = 0;
isMenuInGameWorked = true;
snKeyCodePressed = 0;
}
break;
case Consts.SN_KEY_RIGHT_SOFT_KEY: {
// doStateChange(SB_STATE_MENU);
if (!isScriptWorking) {
// isFoorsMenuWorked = true;
// snKeyCodePressed = 0;
// //
// nPStrMenuFoors = 0;
// nPStrrFoos = 0;
//
}
}
break;
case UP: {
if (!isScriptWorking) {
npcLisa.doKey(Canvas.UP);
}
}
break;
case DOWN: {
if (!isScriptWorking) {
npcLisa.doKey(Canvas.DOWN);
}
}
break;
case LEFT: {
if (!isScriptWorking) {
npcLisa.doKey(Canvas.LEFT);
}
}
break;
case RIGHT: {
if (!isScriptWorking) {
npcLisa.doKey(Canvas.RIGHT);
}
}
break;
case FIRE: {
if (!isScriptWorking) {
npcLisa.doKey(Canvas.FIRE);
snKeyCodePressed = 0;
}
}
break;
case KEY_STAR: {
if (!isScriptWorking) {
// 使用道具
doUseFoorsById(nStarPointer);
npcLisa.doKey(0);
snKeyCodePressed = 0;
}
}
break;
case KEY_POUND: {
if (!isScriptWorking) {
// 使用道具
doUseFoorsById(nPoundPointer);
snKeyCodePressed = 0;
npcLisa.doKey(0);
}
}
break;
default:
if (!isScriptWorking) {
npcLisa.doKey(0);
}
break;
}
}
}
}
}
break;
}
}
}
public void doUseFoorsById(int id) {
if (id < 0) {
return;
}
// 效用~~~~~~~~~~~~~~~~
// strrFoos = { "蜂蜜", "水果", "蜂王漿", "甘露", "靈芝草", "人參" };
switch (id) {
case 0: {
if (npcLisa != null) {
if (npcLisa.nHP < npcLisa.nHPMax) {
if (num_foos[id] > 0) {
npcLisa.addHP(10);
num_foos[id]--;
}
}
}
}
break;
case 1: {
if (npcLisa != null) {
if (npcLisa.nHP < npcLisa.nHPMax) {
if (num_foos[id] > 0) {
npcLisa.addHP(20);
num_foos[id]--;
}
}
}
}
break;
case 2: {
if (npcLisa != null) {
if (npcLisa.nHP < npcLisa.nHPMax) {
if (num_foos[id] > 0) {
npcLisa.addHP(1000);
num_foos[id]--;
}
}
}
}
break;
case 3: {
if (npcLisa != null) {
if (npcLisa.nMP < npcLisa.nMPMax) {
if (num_foos[id] > 0) {
npcLisa.addMP(10);
num_foos[id]--;
}
}
}
}
break;
case 4: {
if (npcLisa != null) {
if (npcLisa.nMP < npcLisa.nMPMax) {
if (num_foos[id] > 0) {
npcLisa.addMP(20);
num_foos[id]--;
}
}
}
}
break;
case 5: {
if (npcLisa != null) {
if (npcLisa.nMP < npcLisa.nMPMax) {
if (num_foos[id] > 0) {
npcLisa.addMP(1000);
num_foos[id]--;
}
}
}
}
break;
}
}
/**
* 菜單控制管理器
*/
public void doKeyStateMenu() {
if (isFivePressed == false) {
if (snKeyCodePressed != 0) {
isFivePressed = true;
snKeyCodePressed = 0;
return;
}
return;
} else {
}
if (isStrrMenuButtonClicked) {
switch (nPointerStrrMenu) {
case 0: {
// doStateChange(SB_STATE_GAMEING);
switch (getKeyPressed(true)) {
case FIRE:
case Consts.SN_KEY_LEFT_SOFT_KEY: {
isStrrMenuButtonClicked = false;
if (nMapId <= 1) {
nMapId = 1;
}
doStateChange(SB_STATE_GAMEING);
}
break;
case Consts.SN_KEY_RIGHT_SOFT_KEY: {
isStrrMenuButtonClicked = false;
}
break;
case UP: {
nMapId -= 1;
nMapId = (short) ((Consts.SN_ABS_MAX_LEVEL + nMapId) % (Consts.SN_ABS_MAX_LEVEL + 1));
nMapId += 1;
if (nMapId >= snLevelOpened + 1) {
nMapId = (short) (snLevelOpened + 1);
}
}
break;
case DOWN: {
nMapId -= 1;
nMapId = (short) ((Consts.SN_ABS_MAX_LEVEL + nMapId + 2) % (Consts.SN_ABS_MAX_LEVEL + 1));
nMapId += 1;
if (nMapId >= snLevelOpened + 1) {
nMapId = (short) (snLevelOpened + 1);
}
}
break;
}
}
break;
case 1: { // HELP
switch (getKeyPressed(true)) {
case FIRE:
case Consts.SN_KEY_LEFT_SOFT_KEY: {
}
break;
case Consts.SN_KEY_RIGHT_SOFT_KEY: {
isStrrMenuButtonClicked = false;
}
break;
case UP: {
if (nPointerStrrTextShow > 0) {
nPointerStrrTextShow -= SN_TEXT_ROWS_NUM_MAX;
}
}
break;
case DOWN: {
if (nPointerStrrTextShow < strrTextShows.length
- SN_TEXT_ROWS_NUM_MAX) {
nPointerStrrTextShow += SN_TEXT_ROWS_NUM_MAX;
}
}
break;
}
}
break;
case 2: { // ABOUT
switch (getKeyPressed(true)) {
case FIRE:
case Consts.SN_KEY_LEFT_SOFT_KEY: {
}
break;
case Consts.SN_KEY_RIGHT_SOFT_KEY: {
isStrrMenuButtonClicked = false;
}
break;
case UP: {
if (nPointerStrrTextShow > 0) {
nPointerStrrTextShow -= SN_TEXT_ROWS_NUM_MAX;
}
}
break;
case DOWN: {
if (nPointerStrrTextShow < strrTextShows.length
- SN_TEXT_ROWS_NUM_MAX) {
nPointerStrrTextShow += SN_TEXT_ROWS_NUM_MAX;
}
}
break;
}
}
break;
case 3: { // EXIT
Main.isLooping = false;
}
break;
}
} else {
switch (getKeyPressed(true)) {
case FIRE:
case Consts.SN_KEY_LEFT_SOFT_KEY: {
switch (nPointerStrrMenu) {
case 0: {
// doStateChange(SB_STATE_GAMEING);
// isStrrMenuButtonClicked = true;
// doStateChange(SB_STATE_GAMEING);
// nMapId = 9;
isStrrMenuButtonClicked = true;
}
break;
case 1: { // HELP
nPointerStrrTextShow = 0;
strrTextShows = strrTextForHelp;
isStrrMenuButtonClicked = true;
}
break;
case 2: { // ABOUT
nPointerStrrTextShow = 0;
strrTextShows = strrTextForAbout;
isStrrMenuButtonClicked = true;
}
break;
case 3: { // EXIT
Main.isLooping = false;
}
break;
}
}
break;
case Consts.SN_KEY_RIGHT_SOFT_KEY: {
isStrrMenuButtonClicked = false;
}
break;
case LEFT: {
if (nPointerStrrMenu > 0) {
nPointerStrrMenu--;
}
}
break;
case RIGHT: {
if (nPointerStrrMenu < strrMenu.length - 1) {
nPointerStrrMenu++;
}
}
break;
}
}
}
/**
* 游戲繪制控制
*/
final void doPaint() {
doRepaints(0, 0, Consts.SN_SCREEN_WIDTH, Consts.SN_SCREEN_HEIGHT);
}
/**
* 雙緩沖
*/
public void paintGamingState(Graphics g) {
// g.setClip(0, 0, Consts.SN_SCREEN_WIDTH, Consts.SN_SCREEN_HEIGHT);
int tx = snWindowX;
int ty = snWindowY;
int twidth = Consts.SN_SCREEN_WIDTH - (tx << 1);
int theight = Consts.SN_SCREEN_WIDTH - (ty << 1);
// g.setClip(tx, ty, twidth, theight);
if (isStoryModeWorking) {
//
paintBackground(g);
paintTiles(g);
paintUnits(g);
//
//
paintWeather(g);
//
g.setColor(0);
g.fillRect(-1, Consts.SN_TXT_STORY_WIN_Y,
Consts.SN_SCREEN_WIDTH + 2, Consts.SN_TXT_STORY_WIN_HEIGHT);
g.setColor(Consts.COLOR_WHITE);
g.drawRect(-1, Consts.SN_TXT_STORY_WIN_Y,
Consts.SN_SCREEN_WIDTH + 2, Consts.SN_TXT_STORY_WIN_HEIGHT);
g.setClip(0, Consts.SN_TXT_STORY_WIN_Y + 1, Consts.SN_SCREEN_WIDTH,
Consts.SN_TXT_STORY_WIN_HEIGHT - 2);
for (int i = 0; i < SN_TEXT_ROWS_NUM_MAX; i++) {
if (strStory != null) {
int id = nLine + i;
if (id >= 0 && id < strStory.length) {
g.drawString(strStory[id], SN_TEXT_TOP_X, SN_TEXT_TOP_Y
+ i * SN_CHAR_HEIGHT, Graphics.TOP
| Graphics.LEFT);
}
}
}
g.setClip(0, 0, Consts.SN_SCREEN_WIDTH, Consts.SN_SCREEN_HEIGHT);
} else if (isFoorsMenuWorked) {
g.setColor(0);
g.fillRect(0, 0, Consts.SN_SCREEN_WIDTH, Consts.SN_SCREEN_HEIGHT);
g.setColor(0xffffff);
g.drawString(strMenuFoors[nPStrMenuFoors], 0, 0, Graphics.TOP
| Graphics.LEFT);
switch (nPStrMenuFoors) {
case 0: {
g.drawString("級別 :" + npcLisa.nLevel, 5, 20, Graphics.TOP
| Graphics.LEFT);
g.drawString("生命 :" + npcLisa.nHP, 5, 40, Graphics.TOP
| Graphics.LEFT);
g.drawString("魔法 :" + npcLisa.nMP, 5, 60, Graphics.TOP
| Graphics.LEFT);
g.drawString("攻擊 :" + npcLisa.nAttackPower, 5, 80, Graphics.TOP
| Graphics.LEFT);
g.drawString("防御 :" + npcLisa.nDefendPower, 5, 100,
Graphics.TOP | Graphics.LEFT);
}
break;
case 1: {
for (int i = 0; i < strrFoos.length; i++) {
if (nPStrrFoos == i) {
g.setColor(0xff0000);
} else {
g.setColor(0xffffff);
}
g.drawString("" + strrFoos[i] + " : " + num_foos[i], 5,
(i + 1) * 20, Graphics.TOP | Graphics.LEFT);
if (nStarPointer == i && nStarPointer != -1) {
g.drawString("*鍵", 85, (i + 1) * 20, Graphics.TOP
| Graphics.LEFT);
}
if (nPoundPointer == i && nPoundPointer != -1) {
g.drawString("#鍵", 85, (i + 1) * 20, Graphics.TOP
| Graphics.LEFT);
}
}
}
break;
case 2: {
g.drawString("幫助:)", 5, 20, Graphics.TOP | Graphics.LEFT);
}
break;
default:
break;
}
} else {
if (isMenuInGameWorked) {
g.setColor(0);
g.fillRect(0, 0, Consts.SN_SCREEN_WIDTH,
Consts.SN_SCREEN_HEIGHT);
// g.setColor(0xffffff);
// g.drawRect(-1, Consts.SN_MENU_IN_GAME_Y_POS_START,
// Consts.SN_SCREEN_WIDTH + 2,
// Consts.SN_MENU_IN_GAME_RECT_HEIGHT);
String[] strTemp1d = null;
if (bGameResult == 0) {
strTemp1d = this.strrMenuInGame;
} else if (bGameResult == 1) {
strTemp1d = this.strrMenuInGameResultWin;
} else {
strTemp1d = this.strrMenuInGameResultFailur;
}
for (int i = 0; i < strTemp1d.length; i++) {
if (i == nPorintStrrMenuInGame) {
// g.setColor(0xaaaaa);
// g.drawString(strrMenuInGame[i],
// Consts.SN_SCREEN_WIDTH >> 1,
// Consts.SN_MENU_STR_IN_GAME_Y_POS[i],
// Graphics.TOP | Graphics.HCENTER);
g.setColor(0xffffff);
g.drawString(strTemp1d[i],
(Consts.SN_SCREEN_WIDTH >> 1),
Consts.SN_MENU_STR_IN_GAME_Y_POS[i],
Graphics.TOP | Graphics.HCENTER);
} else {
g.setColor(0x888888);
g.drawString(strTemp1d[i], Consts.SN_SCREEN_WIDTH >> 1,
Consts.SN_MENU_STR_IN_GAME_Y_POS[i],
Graphics.TOP | Graphics.HCENTER);
}
}
} else {
// paintTiles
paintBackground(g);
paintTiles(g);
paintUnits(g);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -