Initial Leaderboard Scene
This commit is contained in:
parent
a9c2d781bb
commit
bfa6e37001
4
raw/text/t_leaderboard.txt
Normal file
4
raw/text/t_leaderboard.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Network fees may occur.
|
||||
1. Continue
|
||||
2. Cancel
|
||||
Connecting
|
@ -6,7 +6,8 @@ import javax.microedition.midlet.MIDlet;
|
||||
|
||||
import sillysagiri.Sagiri;
|
||||
import sillysagiri.scene.Instruction;
|
||||
import sillysagiri.scene.MainMenu;
|
||||
import sillysagiri.scene.Intro;
|
||||
import sillysagiri.scene.Leaderboard;
|
||||
import sillysagiri.scene.MainMenu;
|
||||
|
||||
public class DotHack extends MIDlet implements Runnable {
|
||||
@ -27,7 +28,7 @@ public class DotHack extends MIDlet implements Runnable {
|
||||
thread.setPriority(Thread.MAX_PRIORITY);
|
||||
thread.start();
|
||||
|
||||
sagiri.Set_Scene(new Instruction());
|
||||
sagiri.Set_Scene(new Leaderboard());
|
||||
}
|
||||
|
||||
public void pauseApp() {}
|
||||
|
@ -38,8 +38,7 @@ public class Sagiri
|
||||
public static Sagiri _instance = null;
|
||||
|
||||
public Input input;
|
||||
|
||||
public int fps = 10;
|
||||
public int fps = 20;
|
||||
|
||||
private Scene _scene_current = null;
|
||||
public long time_begin = 0;
|
||||
|
@ -24,8 +24,8 @@ public class Instruction extends Scene {
|
||||
private BMF bmf_blue;
|
||||
|
||||
private Image img_loop;
|
||||
private Image img_keypad;
|
||||
private Image img_out;
|
||||
private Image img_keypad;
|
||||
private Image img_arrow;
|
||||
|
||||
private String[] str_list1;
|
||||
@ -209,6 +209,11 @@ public class Instruction extends Scene {
|
||||
state_page = 0;
|
||||
if (state_tab < 0) state_tab = 3;
|
||||
}
|
||||
|
||||
if (sagiri.input.IsKeyDown(Sagiri.KEY_CENTER) || sagiri.input.IsKeyDown(Sagiri.KEY_RIGHT_SOFT))
|
||||
{
|
||||
sagiri.Set_Scene(new MainMenu());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
144
src/sillysagiri/scene/Leaderboard.java
Normal file
144
src/sillysagiri/scene/Leaderboard.java
Normal file
@ -0,0 +1,144 @@
|
||||
package sillysagiri.scene;
|
||||
|
||||
import javax.microedition.lcdui.Graphics;
|
||||
import javax.microedition.lcdui.Image;
|
||||
import javax.microedition.lcdui.game.Sprite;
|
||||
|
||||
import sillysagiri.BMF;
|
||||
import sillysagiri.Sagiri;
|
||||
import sillysagiri.Scene;
|
||||
import sillysagiri.Utils;
|
||||
|
||||
public class Leaderboard extends Scene {
|
||||
|
||||
private BMF bmf_white;
|
||||
private BMF bmf_blue;
|
||||
|
||||
private Image img_loop;
|
||||
private Image img_out;
|
||||
private Image img_head;
|
||||
|
||||
int state = 0;
|
||||
|
||||
public void Preload() {
|
||||
try {
|
||||
bmf_white = BMF.Create("/silly/bmf/nds12_0.silly.gz", "/silly/bmf/nds12.fnt", 0xffffffff);
|
||||
bmf_blue = BMF.Create("/silly/bmf/onds12_0.silly.gz", "/silly/bmf/onds12.fnt", 0xff00dbff);
|
||||
|
||||
img_loop = Image.createImage("/m_2.png");
|
||||
img_out = Image.createImage("/out.png");
|
||||
img_head = Image.createImage("/s_1.png");
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
sagiri.Set_Scene(new DeathError(e));
|
||||
}
|
||||
}
|
||||
|
||||
public void Destroy() {
|
||||
}
|
||||
|
||||
public void Update(long dt, Graphics g) {
|
||||
Utils.Clear_Screen(g, 255, 108, 0);
|
||||
|
||||
int loopCount = (int)Math.ceil((float)Utils.GetScreenHeight()/img_loop.getHeight());
|
||||
for (int i = 0; i<loopCount; i++)
|
||||
g.drawImage(img_loop, 0, i*img_loop.getHeight(), Graphics.LEFT | Graphics.TOP);
|
||||
|
||||
int size_header = (int)(bmf_blue.lineHeight*1.5);
|
||||
g.setColor(109, 0, 0);
|
||||
g.fillRect(5, 5, Utils.GetScreenWidth()-10, size_header);
|
||||
|
||||
bmf_blue.DrawEx(g, "Leaderboard", 10, (size_header/2)+5, Graphics.LEFT | Graphics.VCENTER);
|
||||
g.drawImage(img_out, Utils.GetScreenWidth()-10, (size_header/2)+5, Graphics.RIGHT|Graphics.VCENTER);
|
||||
|
||||
int rect_w = (int)(Utils.GetScreenWidth()*0.8f);
|
||||
int rect_h = (int)(Utils.GetScreenHeight()*0.7f);
|
||||
int rect_x = (Utils.GetScreenWidth()-rect_w)/2;
|
||||
int rect_y = size_header+30;
|
||||
int rect_mid = (int)Math.floor(rect_w/(img_head.getWidth()-30));
|
||||
|
||||
g.setColor(0, 0, 0);
|
||||
g.fillRect(rect_x, rect_y, rect_w, rect_h);
|
||||
|
||||
int cursorx = rect_x+16;
|
||||
for(int i=0; i<rect_mid; i++)
|
||||
{
|
||||
int remaning = img_head.getWidth()-30;
|
||||
|
||||
if (i == rect_mid-1)
|
||||
remaning = (rect_w-30) - ((rect_mid-1)*(img_head.getWidth()-30));
|
||||
|
||||
g.drawRegion(
|
||||
img_head,
|
||||
15, 0, remaning, 15,
|
||||
Sprite.TRANS_NONE,
|
||||
cursorx + i*(img_head.getWidth()-30), rect_y+1,
|
||||
Graphics.TOP | Graphics.LEFT
|
||||
);
|
||||
}
|
||||
|
||||
g.drawRegion(
|
||||
img_head,
|
||||
0, 0, 15, 15,
|
||||
Sprite.TRANS_NONE,
|
||||
rect_x+1, rect_y+1,
|
||||
Graphics.TOP | Graphics.LEFT
|
||||
);
|
||||
|
||||
g.drawRegion(
|
||||
img_head,
|
||||
img_head.getWidth()-15, 0, 15, 15,
|
||||
Sprite.TRANS_NONE,
|
||||
rect_x+rect_w-1, rect_y+1,
|
||||
Graphics.TOP | Graphics.RIGHT
|
||||
);
|
||||
|
||||
g.setColor(182, 109, 0);
|
||||
g.fillRect(rect_x+1, rect_y+19+(rect_h-36), rect_w-2, 15);
|
||||
g.setColor(255, 182, 0);
|
||||
g.drawLine(rect_x+1, rect_y+19+(rect_h-36), rect_x+rect_w-2, rect_y+19+(rect_h-36));
|
||||
g.setColor(146, 73, 0);
|
||||
g.drawLine(rect_x+1, rect_y+19+(rect_h-36)+15, rect_x+rect_w-2, rect_y+19+(rect_h-36)+15);
|
||||
|
||||
g.setColor(0, 36, 85);
|
||||
g.fillRect(rect_x+1, rect_y+img_head.getHeight()+2, rect_w-2, rect_h-36);
|
||||
|
||||
int cursory = rect_y+img_head.getHeight()+2 + 5;
|
||||
cursorx = rect_x+6;
|
||||
|
||||
switch (state) {
|
||||
case 0:
|
||||
{
|
||||
bmf_white.Draw(g, "Network fees may occur.\n\n1. Continue\n2. Cancel", cursorx, cursory);
|
||||
|
||||
if (sagiri.input.IsKeyDown(new int[]{Sagiri.KEY_1, Sagiri.KEY_CENTER, Sagiri.KEY_5}) ||
|
||||
sagiri.input.IsKeyDown(Sagiri.KEY_LEFT_SOFT))
|
||||
{
|
||||
state = 1;
|
||||
}
|
||||
|
||||
if (sagiri.input.IsKeyDown(Sagiri.KEY_2))
|
||||
{
|
||||
sagiri.Set_Scene(new MainMenu());
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
{
|
||||
bmf_white.Draw(g, "Connection Failed\nSorry", cursorx, cursory);
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
|
||||
if (sagiri.input.IsKeyDown(new int[]{Sagiri.KEY_CENTER, Sagiri.KEY_5}) ||
|
||||
sagiri.input.IsKeyDown(Sagiri.KEY_RIGHT_SOFT))
|
||||
{
|
||||
sagiri.Set_Scene(new MainMenu());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -57,8 +57,6 @@ public class MainMenu extends Scene {
|
||||
list_strmenu[i] = list_strmenu[i].toUpperCase();
|
||||
}
|
||||
|
||||
System.out.println(list_strmenu[maxlength]);
|
||||
|
||||
int boxw = (int)(bmf_blue.Measure(list_strmenu[maxlength])[0]+bmf_blue.lineHeight*1.4);
|
||||
int boxh = bmf_blue.lineHeight*(list_strmenu.length+1);
|
||||
int[] temp = new int[boxw*boxh];
|
||||
@ -201,6 +199,7 @@ public class MainMenu extends Scene {
|
||||
|
||||
case STATE_MENU_LEADERBOARD:
|
||||
{
|
||||
sagiri.Set_Scene(new Leaderboard());
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user