use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class Fireball method createChildren.
@Override
protected void createChildren() {
sparks = new Group();
add(sparks);
bLight = new Image(Assets.FIREBALL);
bLight.frame(BLIGHT);
bLight.origin.set(bLight.width / 2);
bLight.angularSpeed = -90;
add(bLight);
emitter = new Emitter();
emitter.pour(new Emitter.Factory() {
@Override
public void emit(Emitter emitter, int index, float x, float y) {
Flame p = (Flame) emitter.recycle(Flame.class);
p.reset();
p.x = x - p.width / 2;
p.y = y - p.height / 2;
}
}, 0.1f);
add(emitter);
fLight = new Image(Assets.FIREBALL);
fLight.frame(FLIGHT);
fLight.origin.set(fLight.width / 2);
fLight.angularSpeed = 360;
add(fLight);
bLight.texture.filter(Texture.LINEAR, Texture.LINEAR);
}
use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class TitleScene method create.
@Override
public void create() {
super.create();
Music.INSTANCE.play(Assets.THEME, true);
Music.INSTANCE.volume(1f);
uiCamera.visible = false;
int w = Camera.main.width;
int h = Camera.main.height;
Archs archs = new Archs();
archs.setSize(w, h);
add(archs);
Image title = BannerSprites.get(BannerSprites.Type.PIXEL_DUNGEON);
add(title);
float height = title.height + (PixelDungeon.landscape() ? DashboardItem.SIZE : DashboardItem.SIZE * 2);
title.x = (w - title.width()) / 2;
title.y = (h - height) / 2;
placeTorch(title.x + 18, title.y + 20);
placeTorch(title.x + title.width - 18, title.y + 20);
Image signs = new Image(BannerSprites.get(BannerSprites.Type.PIXEL_DUNGEON_SIGNS)) {
private float time = 0;
@Override
public void update() {
super.update();
am = (float) Math.sin(-(time += Game.elapsed));
}
@Override
public void draw() {
GLES20.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);
super.draw();
GLES20.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
}
};
signs.x = title.x;
signs.y = title.y;
add(signs);
DashboardItem btnBadges = new DashboardItem(TXT_BADGES, 3) {
@Override
protected void onClick() {
PixelDungeon.switchNoFade(BadgesScene.class);
}
};
add(btnBadges);
DashboardItem btnAbout = new DashboardItem(TXT_ABOUT, 1) {
@Override
protected void onClick() {
PixelDungeon.switchNoFade(AboutScene.class);
}
};
add(btnAbout);
DashboardItem btnPlay = new DashboardItem(TXT_PLAY, 0) {
@Override
protected void onClick() {
PixelDungeon.switchNoFade(StartScene.class);
}
};
add(btnPlay);
DashboardItem btnHighscores = new DashboardItem(TXT_HIGHSCORES, 2) {
@Override
protected void onClick() {
PixelDungeon.switchNoFade(RankingsScene.class);
}
};
add(btnHighscores);
if (PixelDungeon.landscape()) {
float y = (h + height) / 2 - DashboardItem.SIZE;
btnHighscores.setPos(w / 2 - btnHighscores.width(), y);
btnBadges.setPos(w / 2, y);
btnPlay.setPos(btnHighscores.left() - btnPlay.width(), y);
btnAbout.setPos(btnBadges.right(), y);
} else {
btnBadges.setPos(w / 2 - btnBadges.width(), (h + height) / 2 - DashboardItem.SIZE);
btnAbout.setPos(w / 2, (h + height) / 2 - DashboardItem.SIZE);
btnPlay.setPos(w / 2 - btnPlay.width(), btnAbout.top() - DashboardItem.SIZE);
btnHighscores.setPos(w / 2, btnPlay.top());
}
BitmapText version = new BitmapText("v " + Game.version, font1x);
version.measure();
version.hardlight(0x888888);
version.x = w - version.width();
version.y = h - version.height();
add(version);
PrefsButton btnPrefs = new PrefsButton();
btnPrefs.setPos(0, 0);
add(btnPrefs);
ExitButton btnExit = new ExitButton();
btnExit.setPos(w - btnExit.width(), 0);
add(btnExit);
fadeIn();
}
use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class AboutScene method create.
@Override
public void create() {
super.create();
BitmapTextMultiline text = createMultiline(TXT, 8);
text.maxWidth = Math.min(Camera.main.width, 120);
text.measure();
add(text);
text.x = align((Camera.main.width - text.width()) / 2);
text.y = align((Camera.main.height - text.height()) / 2);
BitmapTextMultiline link = createMultiline(LNK, 8);
link.maxWidth = Math.min(Camera.main.width, 120);
link.measure();
link.hardlight(Window.TITLE_COLOR);
add(link);
link.x = text.x;
link.y = text.y + text.height();
TouchArea hotArea = new TouchArea(link) {
@Override
protected void onClick(Touch touch) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://" + LNK));
Game.instance.startActivity(intent);
}
};
add(hotArea);
Image wata = Icons.WATA.get();
wata.x = align((Camera.main.width - wata.width) / 2);
wata.y = text.y - wata.height - 8;
add(wata);
new Flare(7, 64).color(0x112233, true).show(wata, 0).angularSpeed = +20;
Archs archs = new Archs();
archs.setSize(Camera.main.width, Camera.main.height);
addToBack(archs);
ExitButton btnExit = new ExitButton();
btnExit.setPos(Camera.main.width - btnExit.width(), 0);
add(btnExit);
fadeIn();
}
use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class AmuletScene method create.
@Override
public void create() {
super.create();
BitmapTextMultiline text = null;
if (!noText) {
text = createMultiline(TXT, 8);
text.maxWidth = WIDTH;
text.measure();
add(text);
}
amulet = new Image(Assets.AMULET);
add(amulet);
RedButton btnExit = new RedButton(TXT_EXIT) {
@Override
protected void onClick() {
Dungeon.win(ResultDescriptions.WIN);
Dungeon.deleteGame(Dungeon.hero.heroClass, true);
Game.switchScene(noText ? TitleScene.class : RankingsScene.class);
}
};
btnExit.setSize(WIDTH, BTN_HEIGHT);
add(btnExit);
RedButton btnStay = new RedButton(TXT_STAY) {
@Override
protected void onClick() {
onBackPressed();
}
};
btnStay.setSize(WIDTH, BTN_HEIGHT);
add(btnStay);
float height;
if (noText) {
height = amulet.height + LARGE_GAP + btnExit.height() + SMALL_GAP + btnStay.height();
amulet.x = align((Camera.main.width - amulet.width) / 2);
amulet.y = align((Camera.main.height - height) / 2);
btnExit.setPos((Camera.main.width - btnExit.width()) / 2, amulet.y + amulet.height + LARGE_GAP);
btnStay.setPos(btnExit.left(), btnExit.bottom() + SMALL_GAP);
} else {
height = amulet.height + LARGE_GAP + text.height() + LARGE_GAP + btnExit.height() + SMALL_GAP + btnStay.height();
amulet.x = align((Camera.main.width - amulet.width) / 2);
amulet.y = align((Camera.main.height - height) / 2);
text.x = align((Camera.main.width - text.width()) / 2);
text.y = amulet.y + amulet.height + LARGE_GAP;
btnExit.setPos((Camera.main.width - btnExit.width()) / 2, text.y + text.height() + LARGE_GAP);
btnStay.setPos(btnExit.left(), btnExit.bottom() + SMALL_GAP);
}
new Flare(8, 48).color(0xFFDDBB, true).show(amulet, 0).angularSpeed = +30;
fadeIn();
}
use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class HealthIndicator method createChildren.
@Override
protected void createChildren() {
bg = new Image(TextureCache.createSolid(0xFFcc0000));
bg.scale.y = HEIGHT;
add(bg);
level = new Image(TextureCache.createSolid(0xFF00cc00));
level.scale.y = HEIGHT;
add(level);
}
Aggregations