@Override protected GroupLayer createLayer () { // use 1, 1 so we don't crash. the real size is set on validation return new GroupLayer(1, 1); } @Override protected void layout () {
/** Creates the group layer used by this screen. Subclasses may wish to override and use a * clipped group layer instead. Note that the size of the group layer will be set to the * screen size in {@link #init}. */ protected GroupLayer createGroupLayer () { return new GroupLayer(); }
public MoviePlayer (Library lib) { this(lib, new GroupLayer()); }
@Override protected GroupLayer createLayer () { return new GroupLayer(1, 1); } @Override protected void wasValidated () {
/** * Creates a new group with the given children. */ public static GroupLayer group (Layer... children) { GroupLayer gl = new GroupLayer(); for (Layer l : children) gl.add(l); return gl; }
/** * Adds a child group to a parent group and returns the child. */ public static GroupLayer addNewGroup (GroupLayer parent) { return addChild(parent, new GroupLayer()); }
@Override public Layer render () { GroupLayer layer = new GroupLayer(); layer.addAt(super.render(), tx, ty); return layer; } };
public LayerAnimator (LayerData data) { this.data = data; if (data._multipleSymbols) { _instances = new Instance[data.keyframes.size()]; for (int ii = 0, ll = _instances.length; ii < ll; ++ii) { tripleplay.flump.Symbol sym = data.keyframes.get(ii).symbol(); if (sym == null) { throw new IllegalArgumentException("Keyframe missing symbol layer=" + data.name + " frame=" + ii); } _instances[ii] = sym.createInstance(); } content = new GroupLayer(); setCurrent(_instances[0]); } else if (data._lastSymbol != null) { _current = data._lastSymbol.createInstance(); content = _current.layer(); } else { content = new GroupLayer(); } }
/** * Starts a flipbook animation that displays the supplied {@code book} at the specified * position in the supplied parent. The intermediate layers created to display the flipbook * animation will be disposed on completion. */ public Animation flipbookAt (GroupLayer parent, float x, float y, Flipbook book) { GroupLayer box = new GroupLayer(); box.setTranslation(x, y); return add(parent, box).then().flipbook(box, book).then().dispose(box); }
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; }
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); } });
GroupLayer g1 = new GroupLayer(100, 100); GroupLayer g2 = new GroupLayer(100, 100); g2.setOrigin(50, 50); g2.addAt(new ImageLayer(tex), (100 - iwidth)/2, (100 - iheight)/2); GroupLayer inner = new GroupLayer(); inner.addAt(new ImageLayer(tex), (100 - iwidth)/2, (100 - iheight)/2); GroupLayer g3 = new GroupLayer(100, 100); g3.add(inner); GroupLayer g4 = new GroupLayer(100, 100); TextureSurface si = game.createSurface(100, 50); si.begin().setFillColor(0xFF99CCFF).fillRect(0, 0, 100, 50).end().close(); GroupLayer g5Inner = new GroupLayer(150, 150); 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);
final GroupLayer box = new GroupLayer(); layer.addAt(box, 0, 100); Image sheet = assets().getImage("images/spritesheet.png"); assets().getText("images/orb_burst.json").onSuccess(new Slot<String>() { public void onEmit (String json) { GroupLayer box = new GroupLayer(); layer.addAt(box, 100, 200); iface.anim.repeat(box).flipbook( setVisible(box, false).then().delay(500).then().setVisible(box, true); GroupLayer pbox = new GroupLayer(); layer.addAt(pbox, 300, 200); iface.anim.repeat(pbox).flipbook(
@Override protected Instance instantiate (final IDimension size) { GroupLayer layer = new GroupLayer(); final Instance[] instances = new Instance[_constituents.length];
GroupLayer group = new GroupLayer(); ypos = ygap + addTest(315, 10, group, twidth, theight, "Clipped pattern should not exceed grey rectangle");
@Override public void init () { Canvas bgcanvas = game.graphics.createCanvas(WIDTH + 10, HEIGHT); bgcanvas.setFillColor(0xff808080); bgcanvas.fillRect(0, 0, WIDTH + 10, HEIGHT); ImageLayer bg = new ImageLayer(bgcanvas.toTexture()); Canvas knob = game.graphics.createCanvas(WIDTH, HWIDTH); knob.setFillColor(0xffffffff).fillRect(0, 0, WIDTH, HWIDTH); knob.setStrokeColor(0xff000000).drawLine(0, HWIDTH / 2, WIDTH, HWIDTH / 2); knob.setStrokeColor(0xffff0000).strokeRect(0, 0, WIDTH - 1, HWIDTH - 1); ImageLayer il = new ImageLayer(knob.toTexture()); il.setOrigin(0, HWIDTH / 2).setDepth(1).setTranslation(0, HEIGHT / 2); GroupLayer slider = new GroupLayer(); slider.add(bg); slider.add(il); game.rootLayer.addAt(slider, 25, 25); bg.events().connect(new Mouse.Listener() { @Override public void onWheel (Mouse.WheelEvent event, Mouse.Interaction iact) { float y = il.ty() + event.velocity; y = Math.max(0, Math.min(y, HEIGHT)); il.setTranslation(0, y); } }); } }
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); } }
_barOnLayer = new GroupLayer(width-thumbWidth, barHeight); _barOnLayer.setDepth(Background.BACKGROUND_DEPTH + 2); _barOnLayer.transform().translate(_thumbLeft, top + (height - barHeight)/2);
GroupLayer groupLayer = new GroupLayer(); groupLayer.setAlpha(0.5f); rootLayer.add(groupLayer);