?? menuscreen.java
字號:
import java.io.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import mmpp.microedition.lcdui.GraphicsX;
import mmpp.phone.Phone;
public class MenuScreen
{
public MenuScreen(GameCanvas gamecanvas)
{
titlestatus = 11;
prevstatus = 11;
sconn = null;
torder = -1;
mindex = 0;
tindex = 0;
dindex = 0;
sindex = 0;
endmsg = false;
gc = gamecanvas;
}
public void connect()
{
boolean flag = false;
String s = Phone.getProperty("MIN") + "#" + gc.midlet.getHighscore() + "#*";
try
{
sconn = (StreamConnection)Connector.open("socket://210.118.195.26:8003");
DataOutputStream dataoutputstream = sconn.openDataOutputStream();
DataInputStream datainputstream = sconn.openDataInputStream();
byte abyte0[] = new byte[100];
dataoutputstream.write(s.getBytes());
dataoutputstream.flush();
dataoutputstream.close();
datainputstream.read(abyte0);
String s1 = new String(abyte0);
int i = 0;
int j = 0;
for(; i < s1.length(); i++)
{
if(s1.charAt(i) != '#')
irank[j] += s1.charAt(i);
else
j++;
if(j == 6)
break;
}
datainputstream.close();
sconn.close();
sconn = null;
dataoutputstream = null;
datainputstream = null;
titlestatus = 16;
}
catch(Exception exception)
{
titlestatus = 17;
}
}
public void paintFail()
{
gc.fillScreen(0x7fd2ff);
gc.paintBox(0, 0, Harry.SW, Harry.SH);
gc.colorText("\uC811\uC18D\uC2E4\uD328", Harry.CX, 5, 2, 0);
gc.setClipAll();
gc.setColor(0);
gc.drawText("\uC811\uC18D\uC5D0 \uC2E4\uD328 \uD588\uC2B5\uB2C8\uB2E4.\uC7AC\uC811\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?", Harry.CX - 34, Harry.CY + 43, 90, 90);
gc.drawString("1.\uD655\uC778 2.\uCDE8\uC18C", Harry.CX, Harry.SH - 23, 17);
}
public void paint()
{
if(titlestatus == 15)
{
gc.setClipAll();
gc.paintBorder(0, Harry.CY - 3, Harry.SW, 17);
gc.setColor(0xffffff);
gc.drawString("\uC811\uC18D\uC911 ...", Harry.CX, Harry.CY, 17);
if(gc.frame <= 1)
return;
if(sconn == null)
{
connect();
titlestatus = 16;
}
}
switch(titlestatus)
{
case 11: // '\013'
paintTitleBg(0);
if(gc.frame > 20)
{
titlestatus = prevstatus = 0;
rm.play(0, true);
}
break;
case 0: // '\0'
paintTitleBg(1);
break;
case 1: // '\001'
paintTitleBg(2);
paintMenu(Harry.CX - 30, Harry.CY - 53);
break;
case 3: // '\003'
gc.fillScreen(0x7fd2ff);
gc.paintBox(0, 0, Harry.SW, Harry.SH);
paintOption();
break;
case 8: // '\b'
case 9: // '\t'
gc.fillScreen(0x7fd2ff);
gc.paintBox(0, 0, Harry.SW, Harry.SH);
paintInfo();
break;
case 16: // '\020'
paintRank();
break;
case 17: // '\021'
paintFail();
break;
}
if(titlestatus == 0 || titlestatus == 11)
gc.drawImageCenter(rm.i_p, rm.publicCoord[11], Harry.CX, Harry.SH - 8);
else
gc.drawImageCenter(rm.i_p, rm.publicCoord[11], Harry.CX, Harry.SH - 8);
}
public void paintTitleBg(int i)
{
if(torder != i)
{
torder = i;
Image image = null;
try
{
gc.g2.setColor(0);
gc.g2.fillRect(0, 0, Harry.SW, Harry.SH);
image = Image.createImage("/i/r0.png");
if(image == null)
return;
gc.g2.drawImage(image, 0, 0, 20);
image = Image.createImage("/i/r1.png");
gc.g2.drawImage(image, 0, 50, 20);
image = Image.createImage("/i/r2.png");
gc.g2.drawImage(image, 0, 100, 20);
}
catch(Exception exception) { }
try
{
switch(torder)
{
case 0: // '\0'
image = Image.createImage("/i/s.png");
gc.g2.drawImage(image, Harry.CX, Harry.SH - (image.getHeight() + 15), 17);
break;
case 1: // '\001'
image = Image.createImage("/i/ttxt.png");
gc.g2.drawImage(image, Harry.CX, Harry.CY + 11, 3);
break;
case 2: // '\002'
GraphicsX graphicsx = (GraphicsX)gc.offimg.getGraphics();
graphicsx.setAlpha(100);
graphicsx.setClip(0, 0, Harry.SW, Harry.SH);
graphicsx.setColor(0);
graphicsx.fillRect(0, 0, Harry.SW, Harry.SH);
break;
}
}
catch(Exception exception1)
{
exception1.printStackTrace();
}
image = null;
}
gc.drawImage(gc.offimg, 0, 0, 20);
}
public void paintMenu(int i, int j)
{
gc.setClipAll();
gc.setColor(0xdfffff);
for(int k = 0; k < 7; k++)
{
if(k == mindex)
{
MenuScreen _tmp = this;
GameCanvas.tmpidx = 6;
} else
{
MenuScreen _tmp1 = this;
GameCanvas.tmpidx = 0;
}
gc.drawString(mTxt[k], i, j + k * 15, 20);
}
gc.drawImage(rm.i_p, rm.publicCoord[12], i - 17, j + mindex * 15);
if(endmsg)
{
gc.paintBorder(Harry.CX - 55, Harry.CY - 13, 110, 36);
gc.setClipAll();
gc.setColor(0xffffff);
gc.drawString("\uC885\uB8CC\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?", Harry.CX, Harry.CY - 6, 17);
gc.drawString("1.\uD655\uC778 2.\uCDE8\uC18C", Harry.CX, Harry.CY + 9, 17);
}
}
public void paintOption()
{
byte byte0 = 0;
gc.colorText("\uD658\uACBD\uC124\uC815", Harry.CX, 5, 2, 0);
if(Harry.cat2)
byte0 = 3;
else
byte0 = 4;
for(int i = 0; i < byte0; i++)
{
gc.fillArea(0, Harry.CX - 38, (Harry.CY - 39) + i * 23, 83, 17);
gc.setColor(0xffb700);
gc.drawRect(Harry.CX - 37, (Harry.CY - 38) + i * 23, 80, 14);
}
gc.setColor(0xf9fb2f);
gc.drawString("1.\uC74C\uC545", Harry.CX - 35, Harry.CY - 36, 20);
gc.drawString("2.\uC9C4\uB3D9", Harry.CX - 35, (Harry.CY - 36) + 23, 20);
gc.drawString("3.\uC18D\uB3C4", Harry.CX - 35, (Harry.CY - 36) + 46, 20);
if(!Harry.cat2)
gc.drawString("4.\uBC30\uACBD", Harry.CX - 35, (Harry.CY - 36) + 69, 20);
gc.setColor(0xffffff);
if(gc.midlet.getEffectOption() > 0)
gc.drawString("\u25C0on\u25B6", Harry.CX + 3, Harry.CY - 13, 20);
else
gc.drawString("\u25C0off\u25B6", Harry.CX + 3, Harry.CY - 13, 20);
gc.drawString("\u25C0" + gc.midlet.getSpeed() + "\u25B6", Harry.CX + 3, (Harry.CY - 35) + 45, 20);
if(gc.midlet.getSoundOption() > 0)
{
int j = 0;
int k = 5;
for(; j < gc.midlet.getSoundOption(); j++)
{
gc.fillArea(0xffffff, Harry.CX + 8 + j * 5, (Harry.CY - 36) + k, 4, 13 - k);
k--;
}
} else
{
gc.drawString("\u25C0off\u25B6", Harry.CX + 3, Harry.CY - 36, 20);
}
if(!Harry.cat2)
gc.drawString(gc.midlet.getBg() <= 0 ? "\u25C0off\u25B6" : "\u25C0on\u25B6", Harry.CX + 3, Harry.CY + 33, 20);
gc.drawImage(rm.i_p, rm.publicCoord[12], Harry.CX - 37 - 17, (Harry.CY - 37) + mindex * 23);
}
public void paintInfo()
{
int i = Harry.CX - 40;
int j = Harry.CY - 33;
gc.setClipAll();
if(titlestatus == 9)
{
gc.colorText("\uB7AD\uD0B9\uBCF4\uAE30", Harry.CX, 15, 2, 0);
gc.setColor(0);
gc.setClip(0, 0, Harry.SW, Harry.SH);
gc.drawString("\uB7AD\uD0B9\uC744 \uB4F1\uB85D", i, j, 20);
gc.drawString("\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C? ", i, j + 15, 20);
gc.drawString("\uB4F1\uB85D\uC2DC \uD1B5\uD654\uB8CC\uAC00", i, j + 45, 20);
gc.drawString("\uBD80\uACFC \uB429\uB2C8\uB2E4.", i, j + 60, 20);
gc.drawString("1.\uC608 2.\uC544\uB2C8\uC624", i, j + 30, 20);
} else
if(titlestatus == 8)
{
gc.colorText("\uAC8C\uC784\uBB38\uC758", Harry.CX, 15, 2, 0);
gc.setColor(0);
gc.setClip(0, 0, Harry.SW, Harry.SH);
gc.setClip(0, 0, Harry.SW, Harry.SH);
gc.drawString("\uC9C0\uC564\uC528\uC778\uD130\uB809\uD2F0\uBE0C", Harry.CX, j, 17);
gc.drawString("TEL: 02-313-9384", i - 10, j + 20, 20);
gc.drawString("rtsp@gncint.com", i - 10, j + 35, 20);
gc.drawString("\uAC1C\uBC1C:\uAE40\uC8FC\uD55C,\uBC31\uC9C4", i - 10, j + 50, 20);
gc.drawString(" \uC815\uC2B9\uADDC", i - 10, j + 65, 20);
}
}
public void paintRank()
{
byte byte0 = 0;
gc.fillScreen(0x7fd2ff);
gc.paintBox(0, 0, Harry.SW, Harry.SH);
gc.colorText("\uC21C\uC704", Harry.CX, 5, 2, 0);
gc.setColor(0);
gc.drawString(" \uC810\uC218(\uBC88\uD638)", Harry.CX - 50, Harry.CY - 47, 20);
if(Harry.SH < 144)
byte0 = 5;
else
byte0 = 6;
for(int i = 1; i < byte0; i++)
gc.drawString(i + "\uB4F1:" + irank[i - 1], Harry.CX - 50, (Harry.CY - 47) + i * 13, 20);
gc.paintBorder(Harry.CX - 59, ((Harry.CY - 43) + byte0 * 14) - 3, 118, 17);
gc.drawString("\uB0B4\uC810\uC218:" + irank[5] + "\uB4F1: " + gc.midlet.getHighscore(), Harry.CX - 50, (Harry.CY - 43) + byte0 * 14, 20);
}
public void setTitleStatus(byte byte0)
{
prevstatus = titlestatus;
titlestatus = byte0;
switch(titlestatus)
{
case 5: // '\005'
gc.end();
// fall through
case 0: // '\0'
case 1: // '\001'
case 2: // '\002'
case 3: // '\003'
case 4: // '\004'
case 6: // '\006'
case 7: // '\007'
case 8: // '\b'
case 9: // '\t'
default:
return;
}
}
public void keyPressed(int i)
{
if(titlestatus == 11)
{
titlestatus = prevstatus = 0;
return;
}
if(titlestatus == 0)
{
mindex = 0;
rm.imageLoad((byte)1);
titlestatus = 1;
return;
}
switch(i)
{
case -4:
case -3:
case -2:
case -1:
case 1: // '\001'
case 2: // '\002'
case 5: // '\005'
case 6: // '\006'
rm.play(4, false);
break;
case -5:
case 8: // '\b'
rm.play(5, false);
break;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -