?? hall.java
字號(hào):
case detail: {
if (s_player.playerIsSeat() &&s_player.Table_idx!=
Gplayer[(tableChairs[BUTTON_SELECTED] & 0x3f)].Table_idx)// 只有坐下了才能邀請(qǐng)
MENU_SELECTED = 3;
else
MENU_SELECTED = 4;
break;
}
case makefriend: {
if (isMember()
/*&& Gplayer[(tableChairs[BUTTON_SELECTED] & 0x3f)].Property == 0*/)// 有踢人功能
MENU_SELECTED++;
else
MENU_SELECTED = 4;
break;
}
case vip_kick: {
MENU_SELECTED = 4;
break;
}
}
}
}
public short START_CHAIR_X; // 桌子開始的位置X
public short START_CHAIR_Y; // 桌子開始的位置Y
public short DISTANCE_X; // 桌子間隔X
public short DISTANCE_Y; // 桌子間隔Y
public byte chairsBounds[][]; // 坐標(biāo)系
short var_Chair_x;
short var_Chair_y;
/** 畫椅子 */
void drawChairs() {
var_Chair_x = START_CHAIR_X;
var_Chair_y = START_CHAIR_Y;
for (byte i = 0; i < tablePerPage; i++) {
if (i % tablePerLine == 0 && i != 0) {
var_Chair_y += DISTANCE_Y;
var_Chair_x = START_CHAIR_X;
} else if (i != 0) {
var_Chair_x += DISTANCE_X;
}
if (Currentpage * tablePerPage + i >= tableNum)
return;
drawTable(bg, var_Chair_x, var_Chair_y, chairsPerTable == 3 ? true
: false, (tableStats[Currentpage * tablePerPage + i] & 0x01) != 0 ? true : false,
(byte) (Currentpage * tablePerPage + i));
drawChairsOneTable(bg, var_Chair_x, var_Chair_y,
(byte) (Currentpage * tablePerPage + i));
}
}
/** 畫桌子號(hào)等桌子相關(guān)信息 */
void drawTable(Graphics g, int x, int y, boolean type, boolean inGame,
byte tableid) {
if (type) // 3人 三角桌
{
if ((tableStats[tableid] & 0x08) != 0) {
Tool.drawRegion(g, imghallbg, x, y, imgHallres[3].getWidth()<<1,
imgHallres[3].getHeight(), x, y, 0);
if (inGame) {
Tool.drawImage(g, imgHallres[3], x, y, imgHallres[3]
.getWidth(), imgHallres[3].getHeight());
Tool.drawRegion(g, imgHallres[3], 0, 0, imgHallres[3]
.getWidth(), imgHallres[3].getHeight(), x
+ imgHallres[3].getWidth(), y, Def.FLAG_MIRROR);
} else {
Tool.drawImage(g, imgHallres[2], x, y, imgHallres[2]
.getWidth(), imgHallres[2].getHeight());
Tool.drawRegion(g, imgHallres[2], 0, 0, imgHallres[2]
.getWidth(), imgHallres[2].getHeight(), x
+ imgHallres[2].getWidth(), y, Def.FLAG_MIRROR);
}
}
} else {
// System.out.println("tableStats[tableid]&
// 0x80]="+(tableStats[tableid]& 0x80));
if ((tableStats[tableid] & 0x08) != 0) {
if (inGame) {
if (chairsPerTable == 6) {
Tool.drawImage(g, longbutton_ingame, x, y,
LONGBUTTON_WIDTH, LONGBUTTON_HEIGHT);
} else {
Tool.drawImage(g, imgHallres[1], x, y, imgHallres[1]
.getWidth(), imgHallres[1].getHeight());
Tool.drawRegion(g, imgHallres[1], 0, 0, imgHallres[1]
.getWidth(), imgHallres[1].getHeight(), x
+ imgHallres[1].getWidth(), y, Def.FLAG_MIRROR);
}
} else {
if (chairsPerTable == 6) {
Tool.drawImage(g, longbutton_normal, x, y,
LONGBUTTON_WIDTH, LONGBUTTON_HEIGHT);
} else {
Tool.drawImage(g, imgHallres[0], x, y, imgHallres[0]
.getWidth(), imgHallres[0].getHeight());
Tool.drawRegion(g, imgHallres[0], 0, 0, imgHallres[0]
.getWidth(), imgHallres[0].getHeight(), x
+ imgHallres[0].getWidth(), y, Def.FLAG_MIRROR);
}
}
}
}
if ((tableStats[tableid] & 0x08) != 0){
if (chairsPerTable == 6) {
drawNumber(bg, x + 28, y + 9, tableid + 1);
} else {
drawNumber(bg, x + 2, y + 9, tableid + 1);
}
}
tableStats[tableid] &= 0xf7;
}
void drawNumber(Graphics g, int pos_x, int pos_y, int number) {
if(number < 0){
drawNum(g, pos_x, pos_y, -1);
return;
}
int[] num = new int[4];
num[0] = number / 1000;
num[1] = (number % 1000) / 100;
num[2] = (number % 100) / 10;
num[3] = number % 10;
if (num[0] > 0) {
drawNum(g, pos_x, pos_y, num[0]);
drawNum(g, pos_x += Def.VL_FONTS_NUMBER_CHAR_W, pos_y, num[1]);
drawNum(g, pos_x += Def.VL_FONTS_NUMBER_CHAR_W, pos_y, num[2]);
drawNum(g, pos_x += Def.VL_FONTS_NUMBER_CHAR_W, pos_y, num[3]);
} else {
if (num[1] > 0) {
drawNum(g, pos_x, pos_y, num[1]);
drawNum(g, pos_x += Def.VL_FONTS_NUMBER_CHAR_W, pos_y, num[2]);
drawNum(g, pos_x += Def.VL_FONTS_NUMBER_CHAR_W, pos_y, num[3]);
} else {
// if(num[2]>0){
drawNum(g, pos_x, pos_y, num[2]);
drawNum(g, pos_x += Def.VL_FONTS_NUMBER_CHAR_W, pos_y, num[3]);
// }else{
// drawNum(g,pos_x,pos_y,num[3]);
// }
}
}
}
void drawNum(Graphics g, int pos_x, int pos_y, int num) {
switch (num) {
case 0:
Tool.drawImage(g, imgNumber[0], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case 1:
Tool.drawImage(g, imgNumber[1], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case 2:
Tool.drawImage(g, imgNumber[2], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case 3:
Tool.drawImage(g, imgNumber[3], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case 4:
Tool.drawImage(g, imgNumber[4], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case 5:
Tool.drawImage(g, imgNumber[5], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case 6:
Tool.drawImage(g, imgNumber[6], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case 7:
Tool.drawImage(g, imgNumber[7], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case 8:
Tool.drawImage(g, imgNumber[8], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case 9:
Tool.drawImage(g, imgNumber[9], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
case -1:
Tool.drawImage(g, imgNumber[10], pos_x, pos_y,
Def.VL_FONTS_NUMBER_CHAR_W, Def.VL_FONTS_NUMBER_CHAR_H);
break;
}
}
/** 畫一桌的椅子,包括頭像,昵稱等 */
void drawChairsOneTable(Graphics g, int x, int y, byte tableid) {
for (byte j = 0; j < chairsBounds.length; j++) {
if ((tableChairs[(tableid * chairsPerTable + j)
% (chairsPerTable * tablePerPage)] & 0x80) != 0) // 需要更新
{
tableChairs[(tableid * chairsPerTable + j)
% (chairsPerTable * tablePerPage)] &= 0x7f;// 不需要刷新
Tool.drawImage(g, imgPortrait[0], x + chairsBounds[j][0], y
+ chairsBounds[j][1]);
restoreBg_black(x + chairsBounds[j][2], y + chairsBounds[j][3],
55, 23);
if ((tableChairs[(tableid * chairsPerTable + j)
% (chairsPerTable * tablePerPage)] & 0x40) != 0) // 有人
{
if ((tableChairs[(tableid * chairsPerTable + j)
% (chairsPerTable * tablePerPage)] & 0x3f) == 37)// 自己
{
// 畫頭像
Tool.drawImage(g, imgPortrait[s_player.Portrait%8 + 1],
x + chairsBounds[j][0], y + chairsBounds[j][1]);
// 畫玩家昵稱
drawNick(bg, s_player.Nick, Def.COLOR_YELLOW,
Def.FONTMIDDLE, x + chairsBounds[j][2], y
+ chairsBounds[j][3], 55);
} else {
// 畫頭像
Tool.drawImage(g,imgPortrait[(Gplayer[(tableChairs[(tableid* chairsPerTable + j)
% (chairsPerTable * tablePerPage)] & 0x3f)].Portrait)%8 + 1],x + chairsBounds[j][0], y
+ chairsBounds[j][1]);
// 畫玩家昵稱
drawNick(bg,Gplayer[(tableChairs[(tableid* chairsPerTable + j)
% (chairsPerTable * tablePerPage)] & 0x3f)].Nick,Def.COLOR_WHITE, Def.FONTMIDDLE, x
+ chairsBounds[j][2], y+ chairsBounds[j][3],55);
}
}
}
}
}
void restoreBg_black(int pos_x, int pos_y, int width, int height) {
bg.setClip(pos_x, pos_y, width, height);
// Vlutil.fillRect(bg, Def.COLOR_GREEN, pos_x, pos_y, width, height);
Tool.drawRegion(bg, imghallbg, pos_x, pos_y, width, height, pos_x,
pos_y, 0);
if (width > 32) {
restoreBg_black(pos_x + 32, pos_y, width - 32, height);
}
if (height > 32) {
restoreBg_black(pos_x, pos_y + 32, 32, height - 32);
}
}
/** 畫LOADING界面 */
void drawLoadingBar() {
for (int i = m_loadingDrawState; i < 20 * m_LoadingProgress / 100; i++) {
if (i == 0) {
s_g.setColor(0x000000);
s_g.fillRect(0, 0, 560, 420);
Tool.drawImage(s_g, imgLoad[Def.LOADING_BACK],
Def.GAME_LOADING_FRAMEX, Def.GAME_LOADING_FRAMEY);// 大背景圖片
Tool.drawImage(s_g, imgLoad[Def.LOADING_FONT],
Def.GAME_LOADING_FONTX, Def.GAME_LOADING_FONTY);// Loading...
for (int j = 0; j < 30; j++) {
if (j == 0)
Tool.drawImage(s_g, imgLoad[Def.LOADING_BAR_LEFT],
Def.GAME_LOADING_BAR_FRAMEX,
Def.GAME_LOADING_BAR_FRAMEY);// 底條 : 左
else if (j == 29)
Tool.drawRegion(s_g, imgLoad[Def.LOADING_BAR_LEFT],
0, 0, 7, 19, Def.GAME_LOADING_BAR_FRAMEX + 7
* j, Def.GAME_LOADING_BAR_FRAMEY,
Def.FLAG_MIRROR);// 底條 : 右
else
Tool.drawImage(s_g, imgLoad[Def.LOADING_BAR_MIDDLE],
Def.GAME_LOADING_BAR_FRAMEX + j * 7,
Def.GAME_LOADING_BAR_FRAMEY);// 底條 : 中
}
}
Tool.drawImage(s_g, imgLoad[Def.LOADING_BAR],
Def.GAME_LOADING_BARX + i * Def.GAME_LOADING_BAR_WIDTH,
Def.GAME_LOADING_BARY);// 藍(lán)點(diǎn) loading
m_loadingDrawState = i;
}
}
/**
* 重置LOADING狀態(tài)
*/
void reset_Loading() {
m_loadingDrawState = 0;
m_LoadingProgress = 0;
m_LoadingState = k_LoadingInit;
}
static long sendHeart;
static boolean bsendHeart = false;
static void setDis(DataInputStream DIS) {
if (dis != null) {
try {
dis.close();
} catch (Exception e) {
dis = null;
}
dis = null;
}
dis = DIS;
}
protected void paint(Graphics graphics) {
s_g = graphics;
s_g.translate((getWidth()-560)/2,0);
keyUpdate();
updateHall();
keyUpdate2();
}
// //--------------------------------------------按鍵響應(yīng)-------------------------
static int m_keyLastPressed;
static int m_keyPressed;
static int m_keyLastCurrent;
static int m_keyCurrent;
static int m_keyLastReleased;
static int m_keyReleased;
protected void keyPressed(int keyCode) {
int key = GetKey(keyCode);
m_keyLastPressed = m_keyLastCurrent = key;
}
protected void keyRepeated(int keyCode) {
m_keyLastCurrent |= GetKey(keyCode);
}
private void keyUpdate2() {
if ((m_keyPressed & m_keyLastPressed) != 0) {
m_keyLastPressed = 0;
}
}
private void keyUpdate() {
m_keyCurrent = m_keyLastCurrent;
m_keyPressed = m_keyLastPressed;
if (m_keyLastReleased != 0) {
m_keyLastPressed = m_keyLastCurrent &= ~m_keyLastReleased;
}
m_keyLastReleased = 0;
}
static int GetKey(int keyCode) {
if (Def.bDKey) {
Tool.fillRect(s_g, Def.COLOR_BLACK, 100, 100, 50, 40);
Tool.drawString(s_g, Integer.toString(keyCode), Def.COLOR_WHITE,
Def.FONTMIDDLE, 100, 100);
}
switch (keyCode) {
case STD_UP_ARROW:
return GK_UP;
case STD_DOWN_ARROW:
return GK_DOWN;
case STD_LEFT_ARROW:
return GK_LEFT;
case STD_RIGTH_ARROW:
return GK_RIGHT;
case STD_M:
return GK_FIRE;
case STD_ZTE_PAGEUP:
return GK_PAGEUP;
case STD_ZTE_PAGEDOWN:
return GK_PAGEDOWN;
case STD_ZTE_RETURN:
return GK_RETURN;
case STD_ZTE_MENU:
return GK_MENU;
case STD_ZTE_IME:
return GK_IME;
case STD_ZTE_SOFTKEYPAD:
return GK_SOFTKEYPAD;
case STD_ZTE_DELETE:
return GK_DELETE;
case STD_ZTE_TV:
return GK_TV;
case Canvas.KEY_NUM1:
return GK_NUM1;
case Canvas.KEY_NUM2:
return GK_NUM2;
case Canvas.KEY_NUM3:
return GK_NUM3;
case Canvas.KEY_NUM4:
return GK_NUM4;
case Canvas.KEY_NUM5:
return GK_NUM5;
case Canvas.KEY_NUM6:
return GK_NUM6;
case Canvas.KEY_NUM7:
return GK_NUM7;
case Canvas.KEY_NUM8:
return GK_NUM8;
case Canvas.KEY_NUM9:
return GK_NUM9;
case Canvas.KEY_NUM0:
return GK_NUM0;
default:
return keyCode;
}
}
public static void clearkey() {
m_keyCurrent = 0;
m_keyPressed = 0;
m_keyLastCurrent = 0;
m_keyLastPressed = 0;
}
public static boolean IsKeyHold(int gameKey) {
return (m_keyCurrent & gameKey) != 0;
}
public static boolean IsAnyKeyPressed() {
return m_keyPressed != 0;
}
public static boolean IsKeyPressed(int gKey) {
return (m_keyPressed & gKey) != 0;
}
public final static int STD_UP_ARROW = -1;
public final static int STD_DOWN_ARROW = -2;
public final static int STD_LEFT_ARROW = -3;
public final static int STD_RIGTH_ARROW = -4;
public final static int STD_M = -5;
public final static int STD_ZTE_RETURN = -7;
public final static int STD_ZTE_PAGEUP = -20;
public final static int STD_ZTE_PAGEDOWN = -21;
public final static int STD_ZTE_MENU = -6;
public final static int STD_ZTE_DELETE = -8;
public final static int STD_ZTE_IME = -30;
public final static int STD_ZTE_SOFTKEYP
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -