package com.thegreystudios.pixeltower.screen;
import com.badlogic.gdx.*;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.*;
import com.badlogic.gdx.math.Vector3;
import com.thegreystudios.pixeltower.*;
import com.thegreystudios.pixeltower.renderers.WorldRenderer;
import com.thegreystudios.pixeltower.sfx.SoundLibrary;
import com.thegreystudios.pixeltower.status.GameStatus;
import com.thegreystudios.pixeltower.status.LocalStorage;
import com.thegreystudios.pixeltower.ui.TextButton;
public class HighscoreScreen extends PopupScreen
implements InputProcessor
{
public class HighscoreEntry
{
public int x;
public int y;
public String name;
public String rank;
public String score;
public boolean player;
public HighscoreEntry()
{
}
}
public HighscoreScreen(PixelTower pixelTower, Screen parent, WorldRenderer renderer)
{
super(pixelTower, parent, true);
buttonUp = new Color(1.0F, 0.9568627F, 0.1568628F, 1.0F);
buttonDown = new Color(1.0F, 1.0F, 0.509804F, 1.0F);
highlightColor = new Color(1.0F, 1.0F, 1.0F, 1.0F);
entries = new HighscoreEntry[15];
projectionVector = new Vector3();
currentMode = -1;
loadAssets(renderer.atlas);
font = renderer.font;
camera = new OrthographicCamera(120F, 200F);
camera.position.set(60F, 100F, 0.0F);
camera.update();
batch = new SpriteBatch();
batch.setShader(null);
batch.setProjectionMatrix(camera.combined);
setupUI();
setupEntries();
setHighscores(0, true);
}
private void setupEntries()
{
for(int i = 0; i < entries.length; i++)
{
HighscoreEntry entry = new HighscoreEntry();
entry.x = 25;
entry.y = 170 - i * 7;
entry.rank = (new StringBuilder(String.valueOf(i + 1))).append(".").toString();
entries[i] = entry;
}
}
private void setHighscores(int mode, boolean refresh)
{
if(currentMode != mode || refresh)
{
currentMode = mode;
switch(mode)
{
default:
break;
case 0: // '\0'
int localScores[] = LocalStorage.getLocalHighscores();
for(int i = 0; i < entries.length; i++)
{
entries[i].rank = (new StringBuilder()).append(i + 1).toString();
entries[i].player = false;
if(localScores[i] != -1)
entries[i].score = (new StringBuilder()).append(localScores[i]).toString();
else
entries[i].score = "-";
if(LocalStorage.getUserName().toUpperCase().length() > 7)
entries[i].name = LocalStorage.getUserName().toUpperCase().substring(0, 7);
else
entries[i].name = LocalStorage.getUserName().toUpperCase();
}
break;
case 1: // '\001'
PixelTowerScore globalScores[] = LocalStorage.getGlobalHighscores();
if(Gdx.app.getType() != com.badlogic.gdx.Application.ApplicationType.Android)
break;
for(int i = 0; i < entries.length; i++)
{
PixelTowerScore score = globalScores[i];
entries[i].rank = (new StringBuilder()).append(score.rank).toString();
if(score.score != -1D)
{
entries[i].score = (new StringBuilder()).append((int)score.score).toString();
if(score.name.equals(LocalStorage.getUserName()))
entries[i].player = true;
else
entries[i].player = false;
if(score.name.length() > 7)
entries[i].name = score.name.toUpperCase().substring(0, 7);
else
entries[i].name = score.name.toUpperCase();
} else
{
entries[i].score = "-";
entries[i].name = "---";
}
}
break;
case 2: // '\002'
PixelTowerScore todaysScores[] = LocalStorage.getTodaysHighscores();
if(Gdx.app.getType() != com.badlogic.gdx.Application.ApplicationType.Android)
break;
for(int i = 0; i < entries.length; i++)
{
PixelTowerScore score = todaysScores[i];
entries[i].rank = (new StringBuilder()).append(score.rank).toString();
if(score.score != -1D)
{
entries[i].score = (new StringBuilder()).append((int)score.score).toString();
if(score.name.equals(LocalStorage.getUserName()))
entries[i].player = true;
else
entries[i].player = false;
if(score.name.length() > 7)
entries[i].name = score.name.toUpperCase().substring(0, 7);
else
entries[i].name = score.name.toUpperCase();
} else
{
entries[i].score = "-";
entries[i].name = "---";
}
}
break;
}
}
}
private void loadAssets(TextureAtlas atlas)
{
highscoreBanner = atlas.findRegion("highscoreBanner01");
}
private void setupUI()
{
backButton = new TextButton("MENU", buttonUp, buttonDown, font);
backButton.setPosition(3, 2);
backButton.listener = new com.thegreystudios.pixeltower.ui.TextButton.ClickListener() {
public void onTouchDown(TextButton textbutton)
{
}
public void onTouchUp(TextButton button)
{
pixelTower.setScreen(ScreenLibrary.getMenuScreen(pixelTower));
SoundLibrary.selectSound.play();
}
}
;
refreshButton = new TextButton("REFRESH", buttonUp, buttonDown, font);
refreshButton.setPosition(88, 2);
refreshButton.listener = new com.thegreystudios.pixeltower.ui.TextButton.ClickListener() {
public void onTouchDown(TextButton textbutton)
{
}
public void onTouchUp(TextButton button)
{
if(Gdx.app.getType() == com.badlogic.gdx.Application.ApplicationType.Android)
pixelTower.actionResolver.fetchHighscores();
SoundLibrary.selectSound.play();
}
}
;
localButton = new TextButton("LOCAL", buttonUp, buttonDown, font);
localButton.setPosition(19, 40);
localButton.listener = new com.thegreystudios.pixeltower.ui.TextButton.ClickListener() {
public void onTouchDown(TextButton textbutton)
{
}
public void onTouchUp(TextButton button)
{
setHighscores(0, true);
SoundLibrary.selectSound.play();
}
}
;
globalButton = new TextButton("GLOBAL", buttonUp, buttonDown, font);
globalButton.setPosition(47, 40);
globalButton.listener = new com.thegreystudios.pixeltower.ui.TextBu
没有合适的资源?快使用搜索试试~ 我知道了~
Android 游戏源代码 PixelTowers(含截图)
共244个文件
png:166个
java:50个
ogg:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 174 浏览量
2022-06-23
08:34:04
上传
评论
收藏 2.77MB RAR 举报
温馨提示
Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelTowers(含截图)Android 游戏源代码 PixelT
资源推荐
资源详情
资源评论
收起资源包目录
Android 游戏源代码 PixelTowers(含截图) (244个子文件)
proguard.cfg 1KB
.classpath 544B
wendy.fnt 4KB
batch.frag 411B
gdx.jar 918KB
gdx-backend-android.jar 159KB
texture-packer.jar 26KB
HighscoreScreen.java 13KB
World.java 10KB
BlocksMap.java 9KB
MenuScreen.java 9KB
WorldRenderer.java 9KB
GameScreen.java 8KB
BlocksRenderer.java 8KB
GameOverScreen.java 7KB
CookiesAndBeerScreen.java 7KB
CreditsScreen.java 7KB
LocalStorage.java 6KB
BlockLineGenerator.java 6KB
AILibrary.java 6KB
BlockGroup.java 6KB
Block.java 6KB
PauseScreen.java 6KB
GameLogicProcessor.java 5KB
SplashScreen.java 4KB
ScreenLibrary.java 4KB
PeopleRenderer.java 4KB
ParticleRenderer.java 3KB
TextButton.java 3KB
ParticleEmitter.java 3KB
OverlayScreen.java 3KB
MenuBackgroundScreen.java 2KB
BlockEmitterDescription.java 2KB
Person.java 2KB
SoundLibrary.java 2KB
GameStatus.java 2KB
BloodEmitterDescription.java 2KB
DustEmitterDescription.java 2KB
AILevel.java 2KB
ClickableArea.java 2KB
Game.java 2KB
BonusEmitterDescription.java 1KB
PixelTowersActivity.java 1KB
BlockSerializer.java 1KB
PopupScreen.java 1KB
PixelTower.java 832B
GalleryScreen.java 762B
R.java 658B
PixelTowerScore.java 602B
ActionResolver.java 538B
ActionResolverAndroid.java 498B
Screen.java 471B
ParticleEmitterPool.java 441B
AIPoint.java 412B
RoomLibrary.java 410B
ParticleEmitterDescription.java 261B
AIBlock.java 172B
backgroundLoop.ogg 1.09MB
gameOverLoop.ogg 211KB
gameOverFx.ogg 23KB
ufo.ogg 16KB
tileCrash.ogg 11KB
boni.ogg 9KB
tileHit.ogg 7KB
select.ogg 6KB
pack 12KB
gfx1.png 26KB
PixelTowers.png 15KB
splash.png 8KB
ic_launcher.png 4KB
pixelTowerLogo02.png 4KB
pixelTowerLogo.png 3KB
ic_launcher.png 3KB
scoreLoopNotification.png 2KB
ic_launcher.png 2KB
cloudLayer02.png 1KB
cloudLayer01.png 1KB
backgroundLayer06b.png 1KB
highscoreBanner01.png 1KB
gameoverBackdrop.png 1KB
groundLayer01.png 1KB
cloud03.png 1KB
backgroundLayer06a.png 979B
pauseBackdrop.png 979B
backgroundLayer04.png 894B
cloud02.png 818B
cloud01.png 806B
backgroundLayer01.png 737B
wendy_00.png 671B
backgroundLayer05.png 667B
cloudLayer03.png 623B
backgroundLayer02.png 608B
highScore01.png 581B
beerYes.png 571B
backgroundLayer03.png 536B
backgroundLayer06.png 504B
craneMain01.png 500B
extraStack.png 482B
backgroundSun01.png 459B
labLeftRoom02.png 455B
共 244 条
- 1
- 2
- 3
资源评论
金枝玉叶9
- 粉丝: 124
- 资源: 7640
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功