?? main.java
字號:
setClip(0,0,s_w,s_h); setColor(0x88AAEE); y = s_h - 50 - fT[0].fh - fTarget.fh - fBg.fh + 40; fillRect(0,0,s_w,y); for (i = 0; i < s_w; i+= fBg.fw) fBg.draw(i,y); y += fBg.fh - 40; x = (a_x_d >> 2) % fTarget.fw; for (i = - x; i < s_w; i+= fTarget.fw) fTarget.draw(i,y); y += fTarget.fh; x = (a_x_d >> 2) % (fT[0].fw + fT[1].fw); for (i = - x; i < s_w; i+= fT[0].fw + fT[1].fw) { fT[0].draw(i, y); fT[1].draw(i + fT[0].fw,y); } y += fT[0].fh; setClip(0,0,s_w,s_h); setColor(0xF8F8FF); fillRect(0,y,s_w,60); y -= 2; x = (a_x_d >> 2) % fSnow.fw; for (i = - x; i < s_w; i+= fSnow.fw) fSnow.draw(i,y); x = track_width - a_x_d; y += 10; if (x < s_w) fChess.draw(x,y + 4); x = (fChess.fw >> 1) - a_x_d; if (x + fChess.fw > 0) { fChess.draw(x, y + 4); }//#if Nokia y += man.frm[0].fh - 12;//#else y += man.frm_up[0].fh - 12;//#endif if (ghost != null) { y -= 22; start_y = y; ghost.drawBSS(); drawGhostName(ghost.x - a_x_d, ghost.ty, 0xFFFFFF); y += 24; start_y = y; man.drawBSS(); y -= 2; } else { start_y = y; man.drawBSS(); } setClip(0, 0, s_w, s_h); y -= 10; x = a_x_d % fAmmo.fw; for (i = - x; i < s_w; i+= fAmmo.fw) fAmmo.draw(i,y); y += fAmmo.fh; setClip(0,0,s_w,s_h); setColor(0xD7FFF6); fillRect(0,y,s_w,s_h - y); y -= fSign.fh; w = fAmmo.fw << 3; for (x = - fSign.fw >> 1, i = 0; x < track_width; x += w, i += 100) { if (x > 0 && (x + fSign.fw >= a_x_d) && (x <= (a_x_d + s_w))) { fSign.draw(x - a_x_d,y); if (i < 1000) { intToString(i,0,3); buf[3] = 'm'; } else { buf[0] = 'g'; buf[1] = 'o'; buf[2] = 'a'; buf[3] = 'l'; } drawChars(0,4,x - a_x_d + 1, y + 4,2); } } setClip(0,0,s_w,s_h); isBoard = true; break; case STATE_SKATER_RUN_SCORES: y = s_h >> 1; drawBgm(); drawString(text[34],2,y - 8); // time timeToString(time_finish); drawChars(0,8,s_w - 51,y - 10,1); setColor(0xA0A000); setClip(0,0,s_w,s_h); drawLine(2,y + 4,s_w - 2,y + 4); drawString(text[33],2,y + 11); // score intToString(total_points,0,4); drawChars(0,4,s_w - 29,y + 9,1); break; case STATE_BIATHLON_RUN_SCORES: y = s_h >> 1; drawBgm(); drawString(text[34],2,y - 29); // time timeToString(time_finish); drawChars(0,8,s_w - 51,y - 31,1); drawString(text[35],2,y - 12); // missed intToString(man.missed,0,2); drawChars(0,2,s_w - 15,y - 14,1); setColor(0xA0A000); setClip(0,0,s_w,s_h); drawLine(2,y,s_w - 2,y); drawString(text[36],2,y + 5); // result timeToString(time_total); drawChars(0,8,s_w - 51,y + 3,1); drawString(text[33],2,y + 22); // score intToString(total_points,0,4); drawChars(0,4,s_w - 29,y + 20,1); break; case STATE_BIATHLON_RUN: switch (man.state) { case STATE_BIATHLON_RUN: case STATE_BIATHLON_RUN_FINISH: setColor(0x88AAEE);//#if T610 fillRect(0,0,s_w,y_bg_top + 70); setColor(0xFFFFFF); fillRect(0,y_bg_top + 70,s_w,s_h);//#else fillRect(0,0,s_w,y_bg_top); setColor(0xFFFFFF); fillRect(0,y_bg_top + fBg.fh,s_w,s_h); x = (a_x_d >> 3) % fBg.fw; // background for (i = - x; i < s_w; i+= fBg.fw) fBg.draw(i,y_bg_top);//#endif y = y_bound_bottom - fTree[0].fh - 16; for (i = (a_x_d >> 1), j = -2; i < track_width; i += 40, j = -j) { x = i - a_x_d; if ((x > - fTree[0].fw) && (x <= s_w)) fTree[0].draw(x,y + j); } for (k = 0; k < 3; k++) if (k == 1) { if (ghost != null) { if ((ghost.state == STATE_BIATHLON_RUN) || (ghost.state == STATE_BIATHLON_RUN_FINISH)) { ghost.y += 2; ghost.x = ghost.x % track_x_sum; for (i = 0; i < rounds_count; i++, ghost.x += track_x_sum) { ghost.drawBSS(); drawGhostName(ghost.x - a_x_d, ghost.ty, 0xFF1020); } ghost.y -= 2; } man.y -= 2; man.drawBSS(); man.y += 2; } else man.drawBSS(); } else { distance = 0; x2 = y2 = idx = 0; setColor(0xFFFFFF); for (i = 0,itotal = 0; itotal < tracks_total; i++,itotal++) { if (i >= track_x.length) i = 0; x1 = x2; y1 = y2; x2 += track_x[i]; y2 += track_y[i]; if (x2 >= a_x_d && (x1 <= (a_x_d + s_w))) { n = 0; dy = 12; if (track_y[i] > 0) { n = 1; dy = 19; } if (track_y[i] < 0) { n = 2; dy = 12; } y = y1; w = fT[n].fw; for (j = x1,x = 0; j < x2; j += w, x += w) { if (j + w >= a_x_d && (j <= (a_x_d + s_w))) { if (k == 0) { fT[n].draw(j - a_x_d,start_y - a_y_d - dy - y,x1 - a_x_d,0,x2 - x1,s_h); setClip(0,0,s_w,s_h); fillRect(j - a_x_d,start_y - a_y_d - dy - y + fT[n].fh,w,32); fSn[idx].draw(j - a_x_d,start_y - a_y_d - y - 12); fSn[idx + 4].draw(j - a_x_d + 8,start_y - a_y_d - dy - y + fT[n].fh); if (i == 0 && (x == 0)) { fChess.draw(j - a_x_d,start_y - a_y_d - y - 10); } if (0 == (distance & 127)) { fFlag[0].draw(j - a_x_d + 12, start_y - a_y_d - y - 12 - fFlag[0].fw); } } if (k == 2) { if (0 == (distance & 127)) { setClip(0,0,s_w,s_h); fFlag[1].draw(j - a_x_d + 2,start_y - a_y_d - dy - y + fT[n].fh - 10); } } } if (track_y[i] < 0) y -= 8; if (track_y[i] > 0) y += 8; distance += w; idx = (++idx) & 3; } } else { distance += track_x[i]; } } } // if k isBoard = true; break; case STATE_BIATHLON_SHOOT: case STATE_BIATHLON_SHOOT_FINISH: setColor(0x88AAEE);//#if T610 fillRect(0,0,s_w,y_bg_top + 70); setColor(0xFFFFFF); fillRect(0,y_bg_top + 70,s_w,s_h);//#else fillRect(0,0,s_w,y_bg_top); setColor(0xFFFFFF); fillRect(0,y_bg_top + fBg.fh,s_w,s_h); x = (a_x_d >> 3) % fBg.fw; // background for (i = - x; i < s_w; i+= fBg.fw) fBg.draw(i,y_bg_top);//#endif y = y_bound_bottom - fTree[0].fh - 16; for (i = 0, j = -2; i < track_width; i += 40, j = -j) { if ((i > - fTree[0].fw) && (i <= s_w)) fTree[0].draw(i,y + j); } y = s_h - fMeter.fh - 16; h = man.s_v >> 5; fMeter.draw(7,y); fMeterred.draw(7,y + 8,0,y + 18 - h - h,s_w,h + h); setClip(0,0,s_w,s_h); fHeart.draw(2,y - fHeart.fh - 6,man.heart_index); for (i = 0, x = 0; i < 5; i++, x += fAmmo.fw) { if (i < man.aim_n) fAmmo.draw(8 + x,6,1); else fAmmo.draw(8 + x,6); } y = man.target_y - (fTarget.fh >> 1); for (i = 0, x = ((s_w - fTarget.fw) >> 1) - fTarget.fw - fTarget.fw; i < man.targets.length; i++, x += fTarget.fw) { if (man.targets[i] == -1) fTarget.draw(x,y,1); if (man.targets[i] == 0) fTarget.draw(x,y,0); if (man.targets[i] > 0) fTarget.draw(x,y,2); } setClip(0,0,s_w,s_h); if (man.state == STATE_BIATHLON_SHOOT) { x = (s_w >> 1) + fTarget.fw * (man.aim_n - 2) - (fSign.fw >> 1) + man.aim_x; y = man.target_y - man.aim_y - (fSign.fh >> 1); fSign.draw(x,y); } isBoard = true; } if (ghost != null) { if ((ghost.state == STATE_BIATHLON_SHOOT) || (ghost.state == STATE_BIATHLON_SHOOT_FINISH)) { setClip(0,0,s_w,s_h); str = (m_ghost != null) ? m_ghost : text[30]; // ghost drawString(str + text[37],2,s_h - 10); // shoots } } break; case STATE_EDITOR: case STATE_EDITOR_FINISH: drawBgm(); w1 = ew * 11; x = ((s_w - w1) >> 1); y = (s_h - 62) >> 1; str = menuName; ch = letters.charAt(editY * 11 + editX); if (ch == '_') str = text[9]; // back if (ch == '#') str = text[38]; // ok drawString(str,x,y + 2); setClip(0,0,s_w,s_h); setColor(0x8080B0); fillRect(x + w1 + ew * (idx - editText.length) - 1,y + 1,ew,10); for (i = 0, j = x + w1 - editText.length * ew; i < editText.length; i ++, j += ew) { buf[0] = editText[i]; drawChars(0,1,j,2 + y); } for (j = 0; j < 4; j++) for (i = 0; i < 11; i++) { buf[0] = letters.charAt(j * 11 + i); drawChars(0,1,x + i * ew, j * 12 + y + 14); } setClip(0,0,s_w,s_h); setColor(0x60B0A0); drawRect(editX * ew + x - 1, editY * 12 + y + 13,ew,11); setColor(0x8080B0); drawRect(x - 2,y + 12,w1 + 2,49); break; case STATE_PLACE: drawBgm(); w1 = getStringWidth(message); drawString(message,(s_w - w1) >> 1, (s_h - 10) >> 1); break; case STATE_INTRO: setColor(0xFFFFFF); fillRect(0,0,s_w,s_h); if (fBg != null) fBg.draw((s_w - fBg.fw) >> 1,(s_h - fBg.fh) >> 1); break; case STATE_LOGO: drawLogo(false); break; } // switch by pmode if (state == STATE_MENU) { if (!paused) drawLogo(true); else drawRast(); w1 = menuItemWidth; if (!isPointer) { setClip(0,0,s_w,s_h); setColor(0x000040); fillRect(2,menuTop - 4, s_w - 4,s_h - menuTop + 2); } if (vMenu != null) if (vMenu.size() > 0) { y = (menuIndex - menuDisp) * menuHeight + menuTop; h1 = 0; int totalMenuHeight = (vMenu.size() + vMenuName.size()) * menuHeight + menuTop + menuTop; if (totalMenuHeight < s_h) { h1 = ((s_h - totalMenuHeight) >> 1) + 8; } if (!showLogo) { x = (s_w - menuWidth) >> 1; setClip(0,0,s_w,s_h); setColor(0x000040); fillRect(x - 12, menuTop + h1 - 20, menuWidth + 24, vMenuName.size() * 16 - 3); setColor(0x204070); drawLine(x - 12, menuTop + h1 - 20, x + menuWidth + 11, menuTop + h1 - 20); for (i = 0; i < vMenuName.size(); i++) { str = ((String)vMenuName.elementAt(i)).trim(); w2 = getStringWidth(str); drawString(str,(s_w - w2) >> 1,menuTop + h1 - 17 + i * 16); } } y1 = menuTop + h1 + (vMenuName.size() - 1) * 16; for (i = 0, n = 0; i < vMenu.size(); i++) { v = (Vector)vMenu.elementAt(i); for (k = 0; k < v.size(); k++, n++) { if ((n >= menuDisp) && (n - menuDisp < menuRange)) { str = (String)(v.elementAt(k)); if (i + 1 < vMenu.size() && isState) { str += "^:"; str += (((Boolean)vState.elementAt(i)).booleanValue()) ? str_yes : str_no; } x1 = ((s_w - w1) >> 1); if (isPointer) { y2 = (v.size() - k) * menuHeight - 3; setClip(0,0,s_w,s_h); setColor(i == menuIndex ? 0x2000B0 : 0x001060); fillRect(x1 - 8, y1 - 3, w1 + 16, y2); if (i == menuIndex && (k == 0)) { setColor(0x7090D0); drawLine(x1 - 8, y1 - 3, x1 + w1 + 7, y1 - 3); } if (i != menuIndex) { setColor(0x301090); drawLine(x1 - 8, y1 + y2 - 3, x1 + w1 + 7, y1 + y2 - 3); } } drawString(str,x1,y1 + (i == menuIndex ? 0 : 1)); y1 += menuHeight; } // for k } // if// n += v.size(); } // for i } } // needs to draw scoreboard if (!paused && isBoard) { x = s_w - fBoard.fw; if (s_h > 80) fBoard.draw(x,0); if ((state == STATE_SKATER_RUN_FINISH) || ((state == STATE_BIATHLON_RUN) && (man.state == STATE_BIATHLON_RUN_FINISH))) timeToString(time_finish); else timeToString(time_current); drawChars(0,8,x + 8,1,1); } if ((go_delay > 0) && (fGo[go_index] != null)) { fGo[go_index].draw((s_w - fGo[go_index].fw) >> 1,(s_h - fGo[go_index].fh) >> 1); } isScreen = 0; } // initOK else { // initOK == false // drawing status message while loading etc if (message != null && (isScreen == 1)) { drawBgm(); drawMessage(message); if (needLoadingIndicator) { setClip(0, 0, s_w, s_h); for (j = 0; j < snow.length; j++) { x = (snow[j] >> 24) & 0xFF; y = (snow[j] >> 16) & 0xFF; drawImage(snowflake_index, x, y); } updateSnow(); } } // drawing progress bar if (isScreen == 2) { drawBgm(); w2 = getStringWidth(message); x = (s_w - w2) >> 1; y = (s_h >> 1) - 8; drawString(message,x,y); setClip(0,0,s_w,s_h); setColor(0x00CCFF); fillRect(10,y + 12, (s_w - 20) * pb_cur / pb_max,4); setColor(0x2266EE); drawRect(10,y + 12, s_w - 20,4); } } } catch (Exception ex) {// ex.printStackTrace(); } isPainting = false; } static boolean needLoadingIndicator = false;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -