Transitions.java TransitionScene.java SlideTransition.java FadeTransition.java ZoomTransition.java CoverTransition.java RevealTransition.java
// Widgets // Shows UI Components import pulpcore.animation.Easing; import pulpcore.image.CoreFont; import pulpcore.image.CoreImage; import pulpcore.Input; import pulpcore.scene.Scene2D; import pulpcore.sprite.Button; import pulpcore.sprite.FilledSprite; import pulpcore.sprite.Group; import pulpcore.sprite.StretchableSprite; import pulpcore.Stage; import pulpcore.math.CoreMath; import pulpcore.scene.CoverTransition; import pulpcore.scene.FadeTransition; import pulpcore.scene.RevealTransition; import pulpcore.scene.SlideTransition; import pulpcore.scene.ZoomTransition; import static pulpcore.image.Colors.*; public class Transitions extends Scene2D { Button zoomOutButton, zoomInButton; Button slideLeft, slideRight, slideUp, slideDown; Button fadeButton; Button checkbox; Button revealButton, coverButton; Group form; @Override public void load() { CoreFont font = CoreFont.getSystemFont().tint(WHITE); CoreImage checkboxImage = CoreImage.load("checkbox.png"); checkbox = Button.createLabeledToggleButton(checkboxImage.split(3,2), font, "I'm feeling slanted", 225, 110, 30, 12, 0.0, 0.5, false); checkbox.setCursor(Input.CURSOR_DEFAULT); checkbox.setPixelLevelChecks(false); checkbox.setAnchor(0, 0.5); zoomOutButton = Button.createLabeledButton("Zoom Out", 240, 150);//new Button(buttonImage.split(3), 225, 210); zoomOutButton.setAnchor(0.5, 0); zoomInButton = Button.createLabeledButton("Zoom In", 240, 180); zoomInButton.setAnchor(0.5, 0); fadeButton = Button.createLabeledButton("Fade", 240, 210); fadeButton.setAnchor(0.5, 0.0); slideLeft = Button.createLabeledButton("<-", 0, 160); slideLeft.setAnchor(0.5, 0.5); slideRight = Button.createLabeledButton("->", 480, 160); slideRight.setAnchor(0.5, 0.5); slideUp = Button.createLabeledButton("Up", 240, 0); slideUp.setAnchor(0.5, 0.5); slideDown = Button.createLabeledButton("Down", 240, 320); slideDown.setAnchor(0.5, 0.5); revealButton = Button.createLabeledButton("Reveal", 240, 240); revealButton.setAnchor(0.5, 0.0); coverButton = Button.createLabeledButton("Cover", 240, 270); coverButton.setAnchor(0.5, 0.0); form = new Group(Stage.getWidth() / 2, Stage.getHeight() / 2, 480, 320); form.setAnchor(0.5, 0.5); form.add(new StretchableSprite("border.9.png", 0, 0, 480, 320)); form.add(checkbox); form.add(zoomOutButton); form.add(zoomInButton); form.add(slideLeft); form.add(slideRight); form.add(slideUp); form.add(slideDown); form.add(fadeButton); form.add(revealButton); form.add(coverButton); // Add background and form to the scene int bgcolor = rgb(CoreMath.rand(0, 255), CoreMath.rand(0, 255), CoreMath.rand(0, 255)); if (lastbgcolor != -1) bgcolor = lastbgcolor; lastbgcolor = bgcolor; add(new FilledSprite(bgcolor)); addLayer(form); } static int lastbgcolor = -1; @Override public void update(int elapsedTime) { lastbgcolor = -1; //hack if (checkbox.isClicked()) { double newAngle = checkbox.isSelected() ? Math.PI/16 : 0; form.angle.animateTo(newAngle, 500, Easing.ELASTIC_OUT); } if (slideLeft.isClicked()) { SlideTransition trans = new SlideTransition(); trans.direction(trans.LEFT) .duration(1000) .transitionTo(new Transitions()) .easing(Easing.REGULAR_IN_OUT) .replaceScene(); } if (slideRight.isClicked()) { SlideTransition trans = new SlideTransition(); trans.direction(trans.RIGHT) .duration(1000) .transitionTo(new Transitions()) .easing(Easing.STRONG_OUT) .replaceScene(); } if (slideUp.isClicked()) { SlideTransition trans = new SlideTransition(); trans.direction(trans.UP) .duration(1000) .transitionTo(new Transitions()) .easing(Easing.NONE) .replaceScene(); } if (slideDown.isClicked()) { SlideTransition trans = new SlideTransition(); trans.direction(trans.DOWN) .duration(1000) .transitionTo(new Transitions()) .easing(Easing.BACK_IN_OUT) .replaceScene(); } if (fadeButton.isClicked()) { FadeTransition trans = new FadeTransition(); trans.duration(1000).transitionTo(new Transitions()).replaceScene(); } if (zoomOutButton.isClicked()) { ZoomTransition trans = new ZoomTransition(); trans.zoomOut().duration(1000).transitionTo(new Transitions()).easing(Easing.STRONG_OUT).replaceScene(); } if (zoomInButton.isClicked()) { ZoomTransition trans = new ZoomTransition(); trans.zoomIn().duration(1000).transitionTo(new Transitions()).easing(Easing.STRONG_OUT).replaceScene(); } if (revealButton.isClicked()) { RevealTransition trans = new RevealTransition(); trans.duration(1000).transitionTo(new Transitions()).easing(Easing.STRONG_OUT).replaceScene(); } if (coverButton.isClicked()) { CoverTransition trans = new CoverTransition(); trans.duration(1000).transitionTo(new Transitions()).easing(Easing.STRONG_OUT).replaceScene(); } } }