?? hall.java
字號:
Tool.drawImage(hallbg, imgbgpic[3], imgbgpic[0].getWidth(),
imgbgpic[0].getHeight());
imgbgpic = null;
hallbg = null;
Tool.gc();
m_LoadingState = k_LoadingHallres1;
m_LoadingProgress += 5;
break;
}
case k_LoadingHallres1: {
Tool.setDis(new DataInputStream(s_midlet.getClass()
.getResourceAsStream("/hallres_1.png")));
imgHallres = Tool.loadImages();
Tool.setDis(new DataInputStream(s_midlet.getClass()
.getResourceAsStream("/number.png")));
imgNumber = Tool.loadImages();
m_LoadingState = k_LoadingHallres2;
m_LoadingProgress += 5;
break;
}
case k_LoadingHallres2: {
Tool.setDis(new DataInputStream(s_midlet.getClass()
.getResourceAsStream("/hallres_2.png")));
imgHallres2 = Tool.loadImages();
m_LoadingState = k_LoadingHallmenu;
m_LoadingProgress += 5;
break;
}
case k_LoadingHallmenu: {
Tool.setDis(new DataInputStream(s_midlet.getClass()
.getResourceAsStream("/menu.png")));
imgmenu = Tool.loadImages();
m_LoadingProgress += 5;
m_LoadingState = k_LoadingConnectNet;
break;
}
case k_LoadingConnectNet: {
_commu.connect();
setDis(null);
m_LoadingState = k_LoadingCheckServer;
m_LoadingProgress += 5;
break;
}
case k_LoadingCheckServer:// 特殊同步保護
{
if (_commu.isConnected && _commu.isThreadLive) {
if(!b_logined){//暫時的判斷條件
s_player = Player.CreatePlayer(s_player);
_commu.formatSendPack(GR_LOGON, LOGON_USERID);
}
else {
resetGplayerAndTableChair();
_commu.formatSendPack(GR_USER, USER_TABLE_INFO_REQ);
}
m_LoadingState = k_LoadingLogin;
m_LoadingProgress += 5;
} else
return false;
break;
}
case k_LoadingLogin: {
if (b_logined) {
bsendHeart = true;
_commu.shakeHands = true;
m_LoadingState = k_LoadingDataComplete;
m_LoadingProgress += 5;
} else
return false;
break;
}
case k_LoadingDataComplete: {
if (tableDataComplete) {
if (chairsPerTable == 6) {
longbutton_normal = Image.createImage(LONGBUTTON_WIDTH,
LONGBUTTON_HEIGHT);
longbutton_normal_g = longbutton_normal.getGraphics();
longbutton_ingame = Image.createImage(LONGBUTTON_WIDTH,
LONGBUTTON_HEIGHT);
longbutton_ingame_g = longbutton_ingame.getGraphics();
Tool.drawRegion(longbutton_normal_g, imghallbg, 39, 68,
89, 36, 0, 0, 0);
Tool.drawImage(longbutton_ingame_g, longbutton_normal, 0,
0);
for (byte i = 3; i >= 0; i--) {
Tool.drawImage(longbutton_normal_g, imgHallres[0],
15 + i * 15, 0);
Tool.drawImage(longbutton_ingame_g, imgHallres[1],
15 + i * 15, 0);
}
Tool.drawImage(longbutton_normal_g, imgHallres[0], 0, 0);
Tool.drawImage(longbutton_ingame_g, imgHallres[1], 0, 0);
Tool.drawRegion(longbutton_normal_g, imgHallres[0], 0, 0,
15, 36, longbutton_normal.getWidth() - 15, 0,
Def.FLAG_MIRROR);
Tool.drawRegion(longbutton_ingame_g, imgHallres[1], 0, 0,
15, 36, longbutton_normal.getWidth() - 15, 0,
Def.FLAG_MIRROR);
} else {
longbutton_normal = null;
longbutton_normal_g = null;
longbutton_ingame = null;
longbutton_ingame_g = null;
Tool.gc();
}
_commu.formatSendPack(GR_USER,USER_TABLEPLAYER_INFO_REQ);//請求分頁信息
m_LoadingState = k_LoadingDataComplete_2;
m_LoadingProgress += 5;
} else
return false;
break;
}
case k_LoadingDataComplete_2: {
if (true/*PlayerDataComplete*/) {
Tool.setDis(new DataInputStream(s_midlet.getClass()
.getResourceAsStream("/logo.png")));
imglogo = Tool.loadImages();
m_LoadingState = k_LoadingDrawHallbg;
m_LoadingProgress += 5;
} else
return false;
break;
}
case k_LoadingDrawHallbg: {
// 往BG上畫背景
Tool.drawImage(bg, imghallbg, 0, 0);
Tool.drawImage(bg, imglogo[0], 451, 6);
// 畫自動加入
Tool.drawImage(bg, imgHallres[7], 450, 378);
//翻頁相關
Tool.drawString(bg, "翻頁", Def.COLOR_WHITE, Def.FONTMIDDLE, 484, 323);
Tool.drawImage(bg, imgHallres[4], 454, 329);
Tool.drawRegion(bg, imgHallres[4], 0, 0, imgHallres[4].getWidth(),
imgHallres[4].getHeight(), 537, 329, Def.FLAG_MIRROR);
drawNumber(bg, 469, 346, Currentpage+1);
drawNumber(bg, 496, 346, -1);
drawNumber(bg, 509, 346, pagenumber);
//人物信息
drawSelfPlayerInfo();
m_LoadingState = k_LoadingDataChairs;
m_LoadingProgress += 5;
break;
}
case k_LoadingDataChairs: {
m_LoadingProgress += 5;
m_LoadingState = k_LoadingEnd;
break;
}
case k_LoadingEnd: {
m_LoadingProgress += 5;
if (m_LoadingProgress >= 100) {
Tool.setDis(null);
Tool.releaseTable();// 去掉讀圖片的CRC校驗表
return true;
}
break;
}
}
return false;
}
void updateButton(boolean restore) {
// System.out.println("BUTTON_SELECTED="+BUTTON_SELECTED);
if (restore)
flashButton(BUTTON_SELECTED, false, true);
else
flashButton(BUTTON_SELECTED, true, false);
}
int highLight;
void flashButton(int buttonID, boolean flash, boolean restore) {
int pos_x = -1, pos_y = -1, width = -1, height = -1;
if (!OpenMenu&&!popMessage) // 不在菜單選擇界面
{
if (buttonID >= 0 && buttonID < chairsPerTable * tablePerPage) // 座位按鈕
{
pos_x = START_CHAIR_X
+ (buttonID / chairsPerTable % tablePerLine)
* DISTANCE_X
+ chairsBounds[buttonID % chairsPerTable][0];
pos_y = START_CHAIR_Y + DISTANCE_Y
* (buttonID / (chairsPerTable * tablePerLine))
+ chairsBounds[buttonID % chairsPerTable][1];
width = 32;
height = 32;
} else // 特殊按鈕 比如自動加入 系統設置等
{
}
if (flash) {
if (highLight++ % 5 > 2) {
Tool.drawRect(s_g, Def.COLOR_BUTTON_SELECTED1, pos_x - 1,
pos_y - 1, width + 2, height + 2);
Tool.drawRect(s_g, Def.COLOR_BUTTON_SELECTED1, pos_x,
pos_y, width, height);
} else {
Tool.drawRect(s_g, Def.COLOR_BUTTON_SELECTED2, pos_x - 1,
pos_y - 1, width + 2, height + 2);
Tool.drawRect(s_g, Def.COLOR_BUTTON_SELECTED2, pos_x,
pos_y, width, height);
}
} else {
// Vlutil.drawRect(s_g, Def.COLOR_BUTTON_SELECTED1, pos_x ,
// pos_y , width,
// height);
}
if (restore) {
updateBg(true, pos_x - 1, pos_y - 1, width + (2 << 1), height
+ (2 << 1));
}
}else if(popMessage){//信息選擇框
if((messagetype&0x01)!=0){//確定
if (flash) {
if (highLight++ % 5 > 2) {
Tool.drawImage(s_g, imgHallres[9], Message_X +Button_Kind1_X ,
Message_Y +Button_Kind1_Y);
} else {
Tool.drawRegion(s_g, MessageBuffer, Button_Kind1_X, Button_Kind1_Y, imgHallres[9].getWidth(),
imgHallres[9].getHeight(), Message_X +Button_Kind1_X ,Message_Y +Button_Kind1_Y, 0);
}
}
}else{
byte picid=1;
if((messagetype&0x02)!=0){//同意or不同意
picid = (byte) (messageselect==0?2:4);
}else if((messagetype&0x04)!=0){//是or不是
picid = (byte) (messageselect==0?6:8);
}
if (flash) {
if (highLight++ % 5 > 2) {
if(picid==2||picid==6){
Tool.drawImage(s_g, imgHallres2[picid], Message_X +
Button_Kind2_X1,Message_Y +Button_Kind2_Y2);
} else Tool.drawImage(s_g, imgHallres2[picid], Message_X +
Button_Kind2_X2,Message_Y +Button_Kind2_Y2);
} else {
if(picid==2||picid==6){
Tool.drawRegion(s_g, MessageBuffer, Button_Kind2_X1, Button_Kind2_Y1, imgHallres2[picid].getWidth(),
imgHallres[picid].getHeight(), Message_X +Button_Kind2_X1 ,Message_Y +Button_Kind2_Y1, 0);
}
else Tool.drawRegion(s_g, MessageBuffer, Button_Kind2_X2, Button_Kind2_Y2, imgHallres2[picid].getWidth(),
imgHallres[picid].getHeight(), Message_X +Button_Kind2_X2 ,Message_Y +Button_Kind2_Y2, 0);
}
}
}
if (restore) {
Tool.drawRegion(s_g, MessageBuffer, 0, 0, MessageBuffer.getWidth(), MessageBuffer.getHeight(),
Message_X,Message_Y, 0);
}
} else {
switch (MENU_SELECTED) {
case detail: {
pos_x = 3;pos_y = 126;width = 49;height = 51;
break;
}
case makefriend: {
pos_x = 55;pos_y = 126;width = 101;height = 24;
break;
}
case vip_kick: {
pos_x = 55;pos_y = 153;width = 101;height = 24;
break;
}
case invite: {
pos_x = 3;pos_y = 181;width = 49;height = 24;
break;
}
case close: {
pos_x = 55;
pos_y = 181;
width = 49;
height = 24;
break;
}
case lookon: {
pos_x = 107; pos_y = 181; width = 49; height = 24;
break;
}
}
if (flash) {
if (highLight++ % 5 > 2) {
Tool.drawImage(s_g, imgmenu[MENU_SELECTED + 1], pos_x
+ menu_x, pos_y + menu_y);
} else {
Tool.drawRegion(s_g, imgmenu[0], pos_x, pos_y, width,
height, pos_x + menu_x, pos_y + menu_y, 0);
}
}
if (restore) {
Tool.drawRegion(s_g, imgmenu[0], pos_x, pos_y, width, height,
pos_x + menu_x, pos_y + menu_y, 0);
}
}
}
void getMovePath_Right() {
if (!OpenMenu&&!popMessage) {
switch (chairsPerTable) {
case 2: {
if (BUTTON_SELECTED % 2 == 0) {
if (BUTTON_SELECTED == 4 || BUTTON_SELECTED == 10
|| BUTTON_SELECTED == 16 || BUTTON_SELECTED == 22) {
isCanMove(-3);
} else {
isCanMove(3);
}
} else {
isCanMove(-1);
}
break;
}
case 3: {
switch (BUTTON_SELECTED % 3) {
case 0: {
if (BUTTON_SELECTED == 6 || BUTTON_SELECTED == 15
|| BUTTON_SELECTED == 24) {
isCanMove(-4);
} else {
isCanMove(5);
}
break;
}
case 1: {
if (BUTTON_SELECTED == 7 || BUTTON_SELECTED == 16
|| BUTTON_SELECTED == 25) {
isCanMove(-6);
} else {
isCanMove(3);
}
break;
}
case 2: {
isCanMove(-2);
break;
}
}
break;
}
case 4: {
if (BUTTON_SELECTED % 4 == 0) {
if (BUTTON_SELECTED == 8 || BUTTON_SELECTED == 20
|| BUTTON_SELECTED == 32) {
isCanMove(-6);
} else {
isCanMove(6);
}
} else {
isCanMove(-(BUTTON_SELECTED % 4));
}
break;
}
case 5: {
switch (BUTTON_SELECTED % 5) {
case 0: {
if (BUTTON_SELECTED == 5 || BUTTON_SELECTED == 15
|| BUTTON_SELECTED == 25) {
isCanMove(-2);
} else {
isCanMove(8);
}
break;
}
case 1:
case 4: {
isCanMove(-(BUTTON_SELECTED % 5));
break;
}
case 2: {
isCanMove(-1);
break;
}
case 3: {
isCanMove(1);
break;
}
}
break;
}
case 6: {
switch (BUTTON_SELECTED % 6) {
case 0: {
if (BUTTON_SELECTED == 6 || BUTTON_SELECTED == 18
|| BUTTON_SELECTED == 30) {
isCanMove(-3);
} else {
isCanMove(9);
}
break;
}
case 1:
case 2: {
isCanMove(-1);
break;
}
case 3:
case 4: {
isCanMove(1);
break;
}
case 5: {
isCanMove(-5);
break;
}
}
break;
}
}
} if(popMessage){
if((messagetype&0x01) ==0) messageselect = 1;
}else {
switch (MENU_SELECTED) {
case detail: {
if (false)// 可以使用加為好友功能
MENU_SELECTED++;
else if (isMember()
/*&& Gplayer[(tableChairs[BUTTON_SELECTED] & 0x3f)].Property == 0*/)// 可以使用踢人功能
MENU_SELECTED += 2;
break;
}
case invite: {
MENU_SELECTED++;
break;
}
case close: {
if (false)// 有旁觀
MENU_SELECTED++;
break;
}
}
}
}
void getMovePath_Left() {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -