return action(new Runnable() { public void run () { parent.addAt(child, x, y); }}); }
protected void justShow (Screen screen) { _rootLayer.addAt(screen.layer, originX, originY); try { screen.wasShown(); } catch (RuntimeException e) { handleError(e); } }
@Override public Layer render () { GroupLayer layer = new GroupLayer(); layer.addAt(super.render(), tx, ty); return layer; } };
protected void fragment (String source, Texture tex, float ox, float oy) { float hw = tex.displayWidth/2f, hh = tex.displayHeight/2f; Tile ul = tex.tile(0, 0, hw, hh); Tile ur = tex.tile(hw, 0, hw, hh); Tile ll = tex.tile(0, hh, hw, hh); Tile lr = tex.tile(hw, hh, hw, hh); Tile ctr = tex.tile(hw/2, hh/2, hw, hh); float dx = hw + 10, dy = hh + 10; GroupLayer group = new GroupLayer(); group.addAt(new ImageLayer(ul), 0, 0); group.addAt(new ImageLayer(ur), dx, 0); group.addAt(new ImageLayer(ll), 0, dy); group.addAt(new ImageLayer(lr), dx, dy); group.addAt(new ImageLayer(ctr), dx/2, 2*dy); float xoff = tex.displayWidth + 20; group.addAt(new ImageLayer(ul).setScale(2), xoff, 0); group.addAt(new ImageLayer(ur).setScale(2), xoff+2*dx, 0); group.addAt(new ImageLayer(ll).setScale(2), xoff, 2*dy); group.addAt(new ImageLayer(lr).setScale(2), xoff+2*dx, 2*dy); game.rootLayer.addAt(group, ox, oy); addDescrip(source + " to Texture to Tiles, and scaled", ox, oy + tex.displayHeight*2 + 25, 3*tex.displayWidth+40); } }
@Override protected void wasAdded (Entity entity) { super.wasAdded(entity); stage.addAt(sprite.get(entity.id), pos.getX(entity.id), pos.getX(entity.id)); }
public void setMessage (String text) { if (_msg != null) _msg.close(); if (text != null) { _msg = StyledText.span(graphics(), text, MSG_STYLE).toLayer(); _msg.setDepth(1); stage.addAt(_msg, (swidth-_msg.width())/2, (sheight-_msg.height())/2); } }
Box (String text, int color, float wid, float hei) { layer = new GroupLayer(wid, hei); layer.add(new Layer() { protected void paintImpl (Surface surface) { surface.setFillColor(0xff000000); float t = 0.5f, l = 0.5f, b = layer.height() - 0.5f, r = layer.width() - 0.5f; surface.drawLine(l, t, l, b, 1); surface.drawLine(r, t, r, b, 1); surface.drawLine(l, b, r, b, 1); surface.drawLine(l, t, r, t, 1); } }); label = createLabel(text, layer, 0xff000000, color, 0, 0, 40); layer.addAt(label, (wid - label.width()) / 2, (hei - label.height()) / 2); layer.setHitTester(this); }
@Override protected Group createIface (Root root) { final float width = 410, height = 400; GroupLayer clip = new GroupLayer(410, 400); layer.addAt(clip, (size().width()-width)/2, (size().height()-height)/2); final GroupLayer scroll = new GroupLayer(); clip.add(scroll); // add a bunch of image layers to our root layer float y = 0; for (int ii = 0; ii < IMG_COUNT; ii++) { Canvas image = graphics().createCanvas(width, IMG_HEIGHT); StringBuffer text = new StringBuffer(); if (ii == 0) text.append("Tap & fling"); else if (ii == IMG_COUNT-1) text.append("Good job!"); else for (int tt = 0; tt < 25; tt++) text.append(ii); StyledText.span(graphics(), text.toString(), TEXT).render(image, 0, 0); ImageLayer layer = new ImageLayer(image.toTexture()); scroll.addAt(layer, 0, y); y += layer.scaledHeight(); } Flicker flicker = new Flicker(0, height-IMG_HEIGHT*IMG_COUNT, 0) { @Override protected float friction () { return 0.001f; } }; clip.events().connect(flicker); flicker.changed.connect(new Slot<Flicker>() { public void onEmit (Flicker flicker) { scroll.setTy(flicker.position); } }); closeOnHide(paint.connect(flicker.onPaint)); return null; }
protected ImageLayer createLabel(String text, GroupLayer parent, int fg, int bg, float x, float y, float padding) { TextLayout layout = game.graphics.layoutText(text, baseFormat); float twidth = layout.size.width() + padding * 2; float theight = layout.size.height() + padding * 2; Canvas canvas = game.graphics.createCanvas(twidth, theight); if (bg != 0) canvas.setFillColor(bg).fillRect(0, 0, twidth, theight); canvas.setFillColor(fg).fillText(layout, padding, padding); ImageLayer imageLayer = new ImageLayer(canvas.toTexture()); parent.addAt(imageLayer, x, y); return imageLayer; }
@Override public void init (Platform plat, Screen oscreen, Screen nscreen) { super.init(plat, oscreen, nscreen); nscreen.layer.setDepth(_close ? 1 : -1); _toflip = _close ? nscreen : oscreen; _batch = new RotateYBatch(plat.graphics().gl, 0f, 0.5f, 1.5f); _toflip.layer.setBatch(_batch); final float fwidth = _toflip.size().width(), fheight = _toflip.size().height(); _shadow = new Layer() { @Override protected void paintImpl (Surface surf) { surf.setAlpha(_alpha).setFillColor(0xFF000000).fillRect(0, 0, fwidth/4, fheight); } }; _toflip.layer.addAt(_shadow, fwidth, 0); updateAngle(0); // start things out appropriately }
groupLayer.addAt(new ImageLayer(imtex).setAlpha(0.5f), x, y0); addDescrip("image\nimg layer a=0.5", x, y1, width); groupLayer.addAt(new ImageLayer(imtex).setAlpha(0.5f), x, y2); x += width; groupLayer.addAt(new ImageLayer(surf1.texture), x, y0); addDescrip("surface a=0.5\nimg layer a=1", x, y1, width); groupLayer.addAt(new ImageLayer(surf1.texture), x, y2); x += width; groupLayer.addAt(new ImageLayer(surf2.texture).setAlpha(0.5f), x, y0); addDescrip("surface a=1\nimg layer a=0.5", x, y1, width); groupLayer.addAt(new ImageLayer(surf2.texture).setAlpha(0.5f), x, y2); x += width; canvas1.draw(image, 0, 0); Texture cantex1 = canvas1.toTexture(); groupLayer.addAt(new ImageLayer(cantex1).setAlpha(0.5f), x, y0); addDescrip("canvas a=1\nimg layer a=0.5", x, y1, width); groupLayer.addAt(new ImageLayer(cantex1).setAlpha(0.5f), x, y2); x += width; canvas2.setAlpha(0.5f).draw(image, 0, 0); Texture cantex2 = canvas2.toTexture(); groupLayer.addAt(new ImageLayer(cantex2), x, y0); addDescrip("canvas a=0.5\nimg layer a=1", x, y1, width); groupLayer.addAt(new ImageLayer(cantex2), x, y2); x += width;
ImageLayer i1 = new ImageLayer(tex); i1.setOrigin(i1.width()/2, i1.height()/2); g1.addAt(i1, 50, 50); g2.addAt(new ImageLayer(tex), (100 - iwidth)/2, (100 - iheight)/2); inner.addAt(new ImageLayer(tex), (100 - iwidth)/2, (100 - iheight)/2); GroupLayer g3 = new GroupLayer(100, 100); g3.add(inner); ImageLayer s1 = new ImageLayer(si.texture); s1.setOrigin(s1.width()/2, s1.height()/2); g4.addAt(s1, 50, 50); g5Inner.addAt(new ImageLayer(tex).setScale(2), -iwidth, -iheight); g5Inner.addAt(new ImageLayer(tex).setScale(2), -iwidth, iheight); g5Inner.addAt(new ImageLayer(tex).setScale(2), iwidth, -iheight); g5Inner.addAt(new ImageLayer(tex).setScale(2), iwidth, iheight); GroupLayer g5 = new GroupLayer(100, 100); g5.addAt(g5Inner, -25, -25);
public void onEmit (String json) { GroupLayer box = new GroupLayer(); layer.addAt(box, 100, 200); iface.anim.repeat(box).flipbook( box, new Flipbook(new PackedFrames(packed, json().parse(json)), 99)).then(). setVisible(box, false).then().delay(500).then().setVisible(box, true); GroupLayer pbox = new GroupLayer(); layer.addAt(pbox, 300, 200); iface.anim.repeat(pbox).flipbook( pbox, new Flipbook(new PackedFrames(packed, PACKED), 99)).then(). setVisible(pbox, false).then().delay(500).then().setVisible(pbox, true); } });
protected Animation.Handle _shaker; }); layer.addAt(click, (width-click.width())/2, 275); ImageLayer[] balls = new ImageLayer[6]; for (int ii = 0; ii < balls.length; ii++) { layer.addAt(balls[ii] = new ImageLayer(balltex), 170+ii*50, 350); final ImageLayer square = new ImageLayer(sqimg.toTexture()); square.setOrigin(25, 25); layer.addAt(square, 50, 300); square.events().connect(new Pointer.Listener() { @Override public void onStart (Pointer.Interaction iact) {
layer.addAt(box, 0, 100); Image sheet = assets().getImage("images/spritesheet.png"); SimpleFrames frames = new SimpleFrames(sheet, 60, 60, 60);