use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class QuickSlot method createChildren.
@Override
protected void createChildren() {
super.createChildren();
slot = new ItemSlot() {
@Override
protected void onClick() {
if (targeting) {
GameScene.handleCell(lastTarget.pos);
} else {
useTargeting();
select().execute(Dungeon.hero);
}
}
@Override
protected boolean onLongClick() {
return QuickSlot.this.onLongClick();
}
@Override
protected void onTouchDown() {
icon.lightness(0.7f);
}
@Override
protected void onTouchUp() {
icon.resetColor();
}
};
add(slot);
crossB = Icons.TARGET.get();
crossB.visible = false;
add(crossB);
crossM = new Image();
crossM.copy(crossB);
}
use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class IconTitle method createChildren.
@Override
protected void createChildren() {
imIcon = new Image();
add(imIcon);
tfLabel = PixelScene.createMultiline(FONT_SIZE);
tfLabel.hardlight(Window.TITLE_COLOR);
add(tfLabel);
health = new HealthBar();
add(health);
}
use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class SurfaceScene method create.
@Override
public void create() {
super.create();
Music.INSTANCE.play(Assets.HAPPY, true);
Music.INSTANCE.volume(1f);
uiCamera.visible = false;
int w = Camera.main.width;
int h = Camera.main.height;
Archs archs = new Archs();
archs.reversed = true;
archs.setSize(w, h);
add(archs);
float vx = align((w - SKY_WIDTH) / 2);
float vy = align((h - SKY_HEIGHT - BUTTON_HEIGHT) / 2);
Point s = Camera.main.cameraToScreen(vx, vy);
viewport = new Camera(s.x, s.y, SKY_WIDTH, SKY_HEIGHT, defaultZoom);
Camera.add(viewport);
Group window = new Group();
window.camera = viewport;
add(window);
boolean dayTime = !Dungeon.nightMode;
Sky sky = new Sky(dayTime);
sky.scale.set(SKY_WIDTH, SKY_HEIGHT);
window.add(sky);
if (!dayTime) {
for (int i = 0; i < NSTARS; i++) {
float size = Random.Float();
ColorBlock star = new ColorBlock(size, size, 0xFFFFFFFF);
star.x = Random.Float(SKY_WIDTH) - size / 2;
star.y = Random.Float(SKY_HEIGHT) - size / 2;
star.am = size * (1 - star.y / SKY_HEIGHT);
window.add(star);
}
}
float range = SKY_HEIGHT * 2 / 3;
for (int i = 0; i < NCLOUDS; i++) {
Cloud cloud = new Cloud((NCLOUDS - 1 - i) * (range / NCLOUDS) + Random.Float(range / NCLOUDS), dayTime);
window.add(cloud);
}
int nPatches = (int) (sky.width() / GrassPatch.WIDTH + 1);
for (int i = 0; i < nPatches * 4; i++) {
GrassPatch patch = new GrassPatch((i - 0.75f) * GrassPatch.WIDTH / 4, SKY_HEIGHT + 1, dayTime);
patch.brightness(dayTime ? 0.7f : 0.4f);
window.add(patch);
}
Avatar a = new Avatar(Dungeon.hero.heroClass);
a.x = PixelScene.align((SKY_WIDTH - a.width) / 2);
a.y = SKY_HEIGHT - a.height;
window.add(a);
final Pet pet = new Pet();
pet.rm = pet.gm = pet.bm = 1.2f;
pet.x = SKY_WIDTH / 2 + 2;
pet.y = SKY_HEIGHT - pet.height;
window.add(pet);
window.add(new TouchArea(sky) {
protected void onClick(Touch touch) {
pet.jump();
}
});
for (int i = 0; i < nPatches; i++) {
GrassPatch patch = new GrassPatch((i - 0.5f) * GrassPatch.WIDTH, SKY_HEIGHT, dayTime);
patch.brightness(dayTime ? 1.0f : 0.8f);
window.add(patch);
}
Image frame = new Image(Assets.SURFACE);
frame.frame(0, 0, FRAME_WIDTH, FRAME_HEIGHT);
frame.x = vx - FRAME_MARGIN_X;
frame.y = vy - FRAME_MARGIN_TOP;
add(frame);
if (dayTime) {
a.brightness(1.2f);
pet.brightness(1.2f);
} else {
frame.hardlight(0xDDEEFF);
}
RedButton gameOver = new RedButton("Game Over") {
protected void onClick() {
Game.switchScene(TitleScene.class);
}
};
gameOver.setSize(SKY_WIDTH - FRAME_MARGIN_X * 2, BUTTON_HEIGHT);
gameOver.setPos(frame.x + FRAME_MARGIN_X * 2, frame.y + frame.height + 4);
add(gameOver);
Badges.validateHappyEnd();
fadeIn();
}
use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class SimpleButton method createChildren.
@Override
protected void createChildren() {
image = new Image();
add(image);
add(new TouchArea(image) {
@Override
protected void onTouchDown(Touch touch) {
image.brightness(1.2f);
}
@Override
protected void onTouchUp(Touch touch) {
image.brightness(1.0f);
}
@Override
protected void onClick(Touch touch) {
SimpleButton.this.onClick();
}
});
}
use of com.watabou.noosa.Image in project pixel-dungeon by watabou.
the class StatusPane method createChildren.
@Override
protected void createChildren() {
shield = new NinePatch(Assets.STATUS, 80, 0, 30 + 18, 0);
add(shield);
add(new TouchArea(0, 1, 30, 30) {
@Override
protected void onClick(Touch touch) {
Image sprite = Dungeon.hero.sprite;
if (!sprite.isVisible()) {
Camera.main.focusOn(sprite);
}
GameScene.show(new WndHero());
}
});
btnMenu = new MenuButton();
add(btnMenu);
avatar = HeroSprite.avatar(Dungeon.hero.heroClass, lastTier);
add(avatar);
blood = new BitmaskEmitter(avatar);
blood.pour(BloodParticle.FACTORY, 0.3f);
blood.autoKill = false;
blood.on = false;
add(blood);
compass = new Compass(Dungeon.level.exit);
add(compass);
hp = new Image(Assets.HP_BAR);
add(hp);
exp = new Image(Assets.XP_BAR);
add(exp);
level = new BitmapText(PixelScene.font1x);
level.hardlight(0xFFEBA4);
add(level);
depth = new BitmapText(Integer.toString(Dungeon.depth), PixelScene.font1x);
depth.hardlight(0xCACFC2);
depth.measure();
add(depth);
Dungeon.hero.belongings.countIronKeys();
keys = new BitmapText(PixelScene.font1x);
keys.hardlight(0xCACFC2);
add(keys);
danger = new DangerIndicator();
add(danger);
loot = new LootIndicator();
add(loot);
resume = new ResumeButton();
add(resume);
buffs = new BuffIndicator(Dungeon.hero);
add(buffs);
}
Aggregations