List of usage examples for com.badlogic.gdx.scenes.scene2d Actor toString
public String toString()
From source file:broken.shotgun.throwthemoon.stages.GameStage.java
License:Open Source License
public GameStage(final AssetManager manager) { super(new StretchViewport(WIDTH, HEIGHT)); this.manager = manager; loadLevel();// ww w.j a va2 s.co m loadSounds(); loadFont(); random = new Random(System.currentTimeMillis()); fadingOut = false; background = new Background(manager); chain = new MoonChain(manager); player = new Player(manager); moon = new Moon(manager); moonImpactMeter = new MoonImpactMeter(moon); screenFadeActor = new Actor(); screenFadeActor.setBounds(0, 0, WIDTH, HEIGHT); screenFadeActor.setColor(Color.CLEAR); levelDebugRenderer = new LevelDebugRenderer(); screenLogger = new StringBuilder(); uiBatch = new SpriteBatch(); renderer = new ShapeRenderer(); renderer.setAutoShapeType(true); touchPoint = new Vector2(); resetLevel(); debug = isDebug(); setDebugAll(debug); Gdx.input.setInputProcessor(this); addListener(new ActorGestureListener() { @Override public void touchDown(InputEvent event, float x, float y, int pointer, int button) { if (pointer == 0 && !(event.getTarget() instanceof Enemy || event.getTarget() instanceof Boss || (boss != null && event.getTarget() instanceof MoonChain))) { player.moveTo(touchPoint.set(x, y)); } // FIXME replace String.format with StringBuilder for HTML if (isDebug()) Gdx.app.log("GameStage", String.format("touchDown %s %s", event.getType().toString(), event.getTarget().toString())); super.touchDown(event, x, y, pointer, button); } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { if (pointer == 0 && player.isWalking()) { player.stop(); } super.touchUp(event, x, y, pointer, button); } @Override public void pan(InputEvent event, float x, float y, float deltaX, float deltaY) { if (boss == null || (boss != null && !(event.getTarget() instanceof MoonChain))) { player.moveTo(touchPoint.set(x, y)); } super.pan(event, x, y, deltaX, deltaY); } @Override public void tap(InputEvent event, float x, float y, int count, int button) { player.performAttack(count); float deltaX = ((player.getX() + player.getOriginX()) - x); player.setFlipX(deltaX > 0); // FIXME replace String.format with StringBuilder for HTML if (isDebug()) { Actor target = event.getTarget(); Gdx.app.log("GameStage", String.format("tap type:%s target:%s [target x=%.2f y=%.2f] count:%d [x:%.2f, y:%.2f]", event.getType().toString(), target.toString(), target.getX(), target.getY(), count, x, y)); } super.tap(event, x, y, count, button); } @Override public void fling(InputEvent event, float velocityX, float velocityY, int button) { Gdx.app.log("GameStage", String.format("fling velocityX:%.2f velocityY:%.2f", velocityX, velocityY)); if (player.isMoonThrowEnabled() && velocityY < 0 && chain.isAttached() && event.getTarget() instanceof MoonChain) { int multiplier = (boss != null && boss.isDefeated()) ? 10 : 2; moon.addDistance(velocityY * multiplier); chain.animatePull(); } super.fling(event, velocityX, velocityY, button); } }); addListener(new InputListener() { int attackCounter = 0; @Override public boolean keyDown(InputEvent event, int keycode) { switch (keycode) { case Input.Keys.D: if (debug && player.isMoonThrowEnabled() && !moon.isFalling()) { moon.startFalling(); } break; case Input.Keys.K: if (debug) { clearAllEnemies(); } break; case Input.Keys.SPACE: attackCounter++; player.performAttack(attackCounter); return true; case Input.Keys.LEFT: player.velocity.x = -7; player.startWalkState(); return true; case Input.Keys.RIGHT: player.velocity.x = 7; player.startWalkState(); return true; case Input.Keys.UP: player.velocity.y = 7; player.startWalkState(); return true; case Input.Keys.DOWN: player.velocity.y = -7; player.startWalkState(); return true; } return super.keyDown(event, keycode); } @Override public boolean keyUp(InputEvent event, int keycode) { switch (keycode) { case Input.Keys.LEFT: case Input.Keys.RIGHT: player.velocity.x = 0; return true; case Input.Keys.UP: case Input.Keys.DOWN: player.velocity.y = 0; return true; } return super.keyUp(event, keycode); } }); }
From source file:mobi.shad.s3lib.gfx.effect.PostRender.java
License:Apache License
private void initData() { disableChange = true;/*from w w w. ja v a 2s . c o m*/ // // Gui Element // ChangeListener listener = new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { if (disableChange) { return; } if (S3Constans.NOTICE) { S3Log.log("effectStarFieldWindow::changed", "event: " + event.toString() + " actor: " + actor.toString()); } disableChange = true; stop(); init(); disableChange = false; } }; effectData = new GuiForm(this.getClass().getSimpleName()); effectData.addCheckBox("blurSwitch", S3Lang.get("blurSwitch"), true, listener); effectData.addCheckBox("vignetteSwitch", S3Lang.get("vignetteSwitch"), true, listener); effectData.addCheckBox("sepiaSwitch", S3Lang.get("sepiaSwitch"), false, listener); effectData.addCheckBox("levelSwitch", S3Lang.get("levelSwitch"), false, listener); effectData.add("levelGamma", S3Lang.get("levelGamma"), 0.50f, -1.0f, 1.0f, 0.1f, listener); String[] blurGridModeList = new String[] { "32x32", "64x64", "128x128", "256x256", "512x512" }; effectData.addSelectIndex("blurGridMode", S3Lang.get("blurGridMode"), 0, blurGridModeList, listener); String[] blurModeList = new String[] { "blurClamp", "blurClampx2", "blurClampx3", "blurBox", "blurX", "blurY" }; effectData.addSelectIndex("blurMode", S3Lang.get("blurMode"), 0, blurModeList, listener); String[] blendModeList = new String[] { "Soft", "Add", "Add2", "Dst", "Src" }; effectData.addSelectIndex("blendMode", S3Lang.get("blendMode"), 0, blendModeList, listener); effectData.add("blurThreshold", S3Lang.get("blurThreshold"), 0.50f, 0.0f, 1.0f, 0.1f, listener); effectData.add("blurOpacity", S3Lang.get("blurOpacity"), 1.00f, 0.0f, 1.0f, 0.1f, listener); effectData.add("blurSizeX", S3Lang.get("blurSizeX"), 0.5f, 0.1f, 2.0f, 0.1f, listener); effectData.add("blurSizeY", S3Lang.get("blurSizeY"), 0.5f, 0.1f, 2.0f, 0.1f, listener); effectData.add("blurStrength", S3Lang.get("blurStrength"), 1.0f, 0, 10.0f, 0.1f, listener); effectData.add("sepiaOpacity", S3Lang.get("sepiaOpacity"), 0.75f, 0.0f, 1.0f, 0.05f, listener); effectData.addColorSelect("sepiaColor", S3Lang.get("sepiaColor"), sepiaColor, listener); effectData.add("vignetteRadius", S3Lang.get("vignetteRadius"), 0.2f, 0.0f, 1.0f, 0.05f, listener); effectData.add("vignetteRadius2", S3Lang.get("vignetteRadius2"), 0.8f, 0.0f, 1.0f, 0.05f, listener); effectData.addSavePresentButton("save_present", S3Lang.get("save_present"), listener); effectData.addReadPresentButton("read_present", S3Lang.get("read_present"), listener); if (thresholdShader == null) { thresholdShader = S3ResourceManager.getShaderProgram("shader_simple/threshold"); } if (blurShader == null) { blurShader = S3ResourceManager.getShaderProgram("shader_simple/blur"); } if (blurShaderY == null) { blurShaderY = S3ResourceManager.getShaderProgram("shader_simple/blur_y"); } if (blurShaderX == null) { blurShaderX = S3ResourceManager.getShaderProgram("shader_simple/blur_x"); } if (mixShader == null) { mixShader = S3ResourceManager.getShaderProgram("shader_simple/mix"); } disableChange = false; }
From source file:mobi.shad.s3lib.gui.dialog.Editor2d.java
License:Apache License
public void create(Texture areaTexture, final float startX, final float startY, final float width, final float height, final ChangeListener changeListener) { super.create(); backendWindow = GuiResource.windowBackend(); backendWindow.setColor(1f, 1f, 1f, 0f); backendWindow.setVisible(false);// w w w . j a v a 2s .co m S3.stage.addActor(backendWindow); mainWindow = GuiResource.window("WidgetBase", "WidgetBase"); mainWindow.setColor(1f, 1f, 1f, 0f); mainWindow.setVisible(false); mainWindow.setModal(true); mainWindow.setMovable(false); this.currentX = startX; this.currentY = startY; this.currentWidth = width; this.currentHeight = height; // // Grid Layer // Pixmap pixmap = new Pixmap(10, 10, Pixmap.Format.RGBA8888); pixmap.setColor(Color.WHITE); pixmap.fill(); gridtextureLayer = new Texture(pixmap); gridLayer = new Widget() { @Override public void draw(Batch batch, float parentAlpha) { batch.setColor(0.8f, 0.8f, 0.8f, 0.3f); batch.draw(gridtextureLayer, 0, S3Constans.gridY1, S3Screen.width, 1); batch.draw(gridtextureLayer, 0, S3Constans.gridY2, S3Screen.width, 1); batch.draw(gridtextureLayer, 0, S3Constans.gridY3, S3Screen.width, 1); batch.draw(gridtextureLayer, 0, S3Constans.gridY4, S3Screen.width, 1); batch.draw(gridtextureLayer, 0, S3Constans.gridY5, S3Screen.width, 3); batch.draw(gridtextureLayer, 0, S3Constans.gridY6, S3Screen.width, 1); batch.draw(gridtextureLayer, 0, S3Constans.gridY7, S3Screen.width, 1); batch.draw(gridtextureLayer, 0, S3Constans.gridY8, S3Screen.width, 1); batch.draw(gridtextureLayer, 0, S3Constans.gridY9, S3Screen.width, 1); batch.draw(gridtextureLayer, S3Constans.gridX1, 0, 1, S3Screen.height); batch.draw(gridtextureLayer, S3Constans.gridX2, 0, 1, S3Screen.height); batch.draw(gridtextureLayer, S3Constans.gridX3, 0, 1, S3Screen.height); batch.draw(gridtextureLayer, S3Constans.gridX4, 0, 1, S3Screen.height); batch.draw(gridtextureLayer, S3Constans.gridX5, 0, 3, S3Screen.height); batch.draw(gridtextureLayer, S3Constans.gridX6, 0, 1, S3Screen.height); batch.draw(gridtextureLayer, S3Constans.gridX7, 0, 1, S3Screen.height); batch.draw(gridtextureLayer, S3Constans.gridX8, 0, 1, S3Screen.height); batch.draw(gridtextureLayer, S3Constans.gridX9, 0, 1, S3Screen.height); } }; gridLayer.setX(0); gridLayer.setY(0); gridLayer.setWidth(S3Screen.width); gridLayer.setHeight(S3Screen.height); // // // final TextureRegion areaRegion = new TextureRegion(areaTexture); areaImage = new Widget() { @Override public void draw(Batch batch, float parentAlpha) { Color color = getColor(); batch.setColor(color.r, color.g, color.b, parentAlpha); batch.draw(areaRegion, getX(), getY(), getOriginX(), getOriginY(), getWidth(), getHeight(), getScaleX(), getScaleY(), getRotation()); } }; areaImage.setX(currentX); areaImage.setY(currentY); areaImage.setWidth(currentWidth); areaImage.setHeight(currentHeight); // // Create texture // Pixmap redPixmap = new Pixmap(32, 32, Pixmap.Format.RGBA8888); redPixmap.setColor(Color.RED); redPixmap.fillCircle(16, 16, 14); Texture redTexture = new Texture(redPixmap); Pixmap yellowPixmap = new Pixmap(32, 32, Pixmap.Format.RGBA8888); yellowPixmap.setColor(Color.YELLOW); yellowPixmap.fillCircle(16, 16, 14); Texture yellowTexture = new Texture(yellowPixmap); Pixmap greenPixmap = new Pixmap(32, 32, Pixmap.Format.RGBA8888); greenPixmap.setColor(Color.GREEN); greenPixmap.fillCircle(16, 16, 14); Texture greenTexture = new Texture(greenPixmap); // // // TextButton textButtonOk = GuiResource.textButton("Save", "Save"); TextButton textButtonFullScreen = GuiResource.textButton("Full", "Full"); TextButton textButtonCenter = GuiResource.textButton("Center", "Center"); TextButton textButtonCancel = GuiResource.textButton("Cancel", "Cancel"); // // // textButtonOk.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { S3Log.log("Editor2d::textButtonOk::clicked", " event: " + event + " actor: " + actor.toString(), 2); hide(); if (changeListener != null) { changeListener.changed(event, areaImage); } } }); textButtonFullScreen.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { S3Log.log("Editor2d::textButtonFullScreen::clicked", " event: " + event + " x: " + x + " y: " + y, 2); currentX = 0; currentY = 0; currentWidth = S3Screen.width; currentHeight = S3Screen.height; setAreaPosistion(); setTouchPosistion(); } }); textButtonCenter.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { S3Log.log("Editor2d::textButtonCenter::clicked", " event: " + event + " x: " + x + " y: " + y, 2); currentX = S3Screen.centerX - (float) S3Screen.centerX / 2; currentY = S3Screen.centerY - (float) S3Screen.centerY / 2; currentWidth = (float) S3Screen.centerX; currentHeight = (float) S3Screen.centerY; setAreaPosistion(); setTouchPosistion(); } }); textButtonCancel.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { S3Log.log("Editor2d::textButtonCancel::clicked", " event: " + event + " x: " + x + " y: " + y, 2); currentX = startX; currentY = startY; currentWidth = width; currentHeight = height; hide(); } }); sizeElementLabel = GuiResource.label("X: Y: Width: Height:", "sizeElementLabel"); mainWindow.row(); mainWindow.add(textButtonOk); mainWindow.add(textButtonFullScreen); mainWindow.add(textButtonCenter); mainWindow.add(textButtonCancel); mainWindow.row(); mainWindow.add(sizeElementLabel).colspan(4).left(); GuiUtil.windowPosition(mainWindow, 0, 0); S3.stage.addActor(gridLayer); S3.stage.addActor(areaImage); // // Create AreaPlot // dotLeftImage = createAreaPoint("dotLeftImage", redTexture, (int) (currentX - 16), (int) (currentY + (currentHeight / 2) - 16)); dotRightImage = createAreaPoint("dotRightImage", redTexture, (int) (currentX + currentWidth - 16), (int) (currentY + (currentHeight / 2) - 16)); dotTopImage = createAreaPoint("dotTopImage", redTexture, (int) (currentX + (currentWidth / 2) - 16), (int) (currentY + currentHeight - 16)); dotBottomImage = createAreaPoint("dotBottomImage", redTexture, (int) (currentX + (currentWidth / 2) - 16), (int) (currentY - 16)); dotTopLeftImage = createAreaPoint("dotTopLeftImage", yellowTexture, (int) (currentX - 16), (int) (currentY + currentHeight - 16)); dotTopRightImage = createAreaPoint("dotTopRightImage", yellowTexture, (int) (currentX + currentWidth - 16), (int) (currentY + currentHeight - 16)); dotBottomLeftImage = createAreaPoint("dotBottomLeftImage", yellowTexture, (int) (currentX + currentWidth - 16), (int) (currentY - 16)); dotBottomRightImage = createAreaPoint("dotBottomRightImage", yellowTexture, (int) (currentX + currentWidth - 16), (int) (currentY - 16)); dotCenterImage = createAreaPoint("dotCenter", greenTexture, (int) (currentX + (currentWidth / 2) - 16), (int) (currentY + (currentHeight / 2) - 16)); S3.stage.addActor(mainWindow); // // Assign Listener // mainWindow.addListener(new InputListener() { @Override public void touchDragged(InputEvent event, float x, float y, int pointer) { lastPointX = pointX; lastPointY = pointY; pointX = x; pointY = y; deltaX = pointX - lastPointX; deltaY = pointY - lastPointY; S3Log.log("dotCenterImage::touchDragged", " event: " + event + " x: " + x + " y: " + y + " pointer: " + pointer + " deltaX: " + deltaX + " deltaY: " + deltaY, 3); if (pointClick != null) { S3Log.log("dotCenterImage::touchDragged", " Point click: " + pointClickName + " aX: " + aspectRatioX + " aY: " + aspectRatioY, 2); if (pointClickName.equalsIgnoreCase("dotLeftImage")) { if (currentX > 0 && deltaX < 0 && currentWidth >= 32) { currentX += deltaX; currentWidth -= deltaX; } else if (currentX < S3Screen.width && deltaX > 0 && currentWidth > 32) { currentX += deltaX; currentWidth -= deltaX; } setAreaPosistion(); setTouchPosistion(); } else if (pointClickName.equalsIgnoreCase("dotRightImage")) { if (currentX + currentWidth > 0 && currentX + currentWidth < S3Screen.width && currentWidth >= 32 && currentX > -1 && deltaX > 0) { currentWidth += deltaX; } else if (currentX + currentWidth > 0 && currentX + currentWidth <= S3Screen.width && currentWidth >= 32 && currentX > -1 && deltaX < 0) { currentWidth += deltaX; } setAreaPosistion(); setTouchPosistion(); } else if (pointClickName.equalsIgnoreCase("dotTopImage")) { if (currentY + currentHeight > 0 && currentY + currentHeight < S3Screen.height && currentHeight >= 32 && currentY > -1 && deltaY > 0) { currentHeight += deltaY; } else if (currentY + currentHeight > 0 && currentY + currentHeight <= S3Screen.height && currentHeight >= 32 && currentY > -1 && deltaY < 0) { currentHeight += deltaY; } setAreaPosistion(); setTouchPosistion(); } else if (pointClickName.equalsIgnoreCase("dotBottomImage")) { if (currentY > 0 && deltaY < 0 && currentHeight >= 32) { currentY += deltaY; currentHeight -= deltaY; } else if (currentY < S3Screen.height && deltaY > 0 && currentHeight > 32) { currentY += deltaY; currentHeight -= deltaY; } setAreaPosistion(); setTouchPosistion(); } else if (pointClickName.equalsIgnoreCase("dotTopRightImage")) { float delta = (deltaX + deltaY) / 2; currentHeight += delta * aspectRatioY; currentWidth += delta * aspectRatioX; setAreaPosistion(); setTouchPosistion(); } else if (pointClickName.equalsIgnoreCase("dotBottomLeftImage")) { float delta = (deltaX + deltaY) / 2; currentX += delta * aspectRatioX; currentY += delta * aspectRatioY; currentHeight -= delta * aspectRatioY; currentWidth -= delta * aspectRatioX; setAreaPosistion(); setTouchPosistion(); } else if (pointClickName.equalsIgnoreCase("dotCenter")) { currentX += deltaX; currentY += deltaY; setAreaPosistion(); setTouchPosistion(); } else if (pointClickName.equalsIgnoreCase("dotTopLeftImage")) { float delta = (deltaX - deltaY) / 2; currentX += delta * aspectRatioY; currentHeight -= delta * aspectRatioY; currentWidth -= delta * aspectRatioY; setAreaPosistion(); setTouchPosistion(); } else if (pointClickName.equalsIgnoreCase("dotBottomRightImage")) { float delta = (deltaX - deltaY) / 2; currentY -= delta * aspectRatioY; currentHeight += delta * aspectRatioY; currentWidth += delta * aspectRatioY; setAreaPosistion(); setTouchPosistion(); } // // dotBottomRightImage } else if (isAreaImageClick) { currentX += deltaX; currentY += deltaY; setAreaPosistion(); setTouchPosistion(); } } @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { S3Log.log("dotCenterImage::touchDown", " event: " + event + " x: " + x + " y: " + y + " pointer: " + pointer + " button: " + button, 3); pointX = x; pointY = y; lastPointX = x; lastPointY = y; isAreaImageClick = checkAreaClick(x, y); pointClick = checkPointClick(x, y); return true; } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { S3Log.log("dotCenterImage::touchUp", " event: " + event + " x: " + x + " y: " + y + " pointer: " + pointer + " button: " + button, 2); isAreaImageClick = false; pointClick = null; pointClickName = ""; } }); setAreaPosistion(); setTouchPosistion(); }
From source file:mobi.shad.s3lib.gui.Gui.java
License:Apache License
/** * @param label//from w w w . ja v a 2 s .c om * @param object * @param fieldNameX * @param fieldNameY * @param fieldNameWidth * @param fieldNameHeight * @param newRow * @param colSpan * @param changeListener * @return */ public Table addEditor2d(String label, Object object, String fieldNameX, String fieldNameY, String fieldNameWidth, String fieldNameHeight, final float valueX, final float valueY, final float valueWidth, final float valueHeight, boolean newRow, int colSpan, ChangeListener changeListener) { final ChangeListener outListener = changeListener; final GuiElement elementX = new GuiElement(label, 0, object, fieldNameX, valueX); final GuiElement elementY = new GuiElement(label, 0, object, fieldNameY, valueY); final GuiElement elementW = new GuiElement(label, 0, object, fieldNameWidth, valueWidth); final GuiElement elementH = new GuiElement(label, 0, object, fieldNameHeight, valueHeight); final Button guiBtn = GuiResource.textButton("Edit", label + "Edit"); final Label guiTableLabel = GuiResource.label("", ""); guiTableLabel.setText("X: " + (int) valueX + " Y: " + (int) valueY + " W: " + (int) valueWidth + " H:" + (int) valueHeight); guiBtn.addListener(new ChangeListener() { public void changed(ChangeEvent event, Actor actor) { S3Log.log("S3Gui::button", "Click on Edit2d button ... event: " + event.toString()); final Editor2d editor = new Editor2d(); ChangeListener saveEditor = new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { S3Log.log("S3Gui::button", "Save on Edit2d button ... event: " + event.toString() + " actor: " + actor.toString()); elementX.setValue(editor.getX()); elementY.setValue(editor.getY()); elementW.setValue(editor.getWidth()); elementH.setValue(editor.getHeight()); guiTableLabel.setText("X: " + (int) editor.getX() + " Y: " + (int) editor.getY() + " W: " + (int) editor.getWidth() + " H:" + (int) editor.getHeight()); if (outListener != null && disableListener == false) { outListener.changed(event, actor); } } }; editor.create(Float.parseFloat(elementX.getValueAsString()), Float.parseFloat(elementY.getValueAsString()), Float.parseFloat(elementW.getValueAsString()), Float.parseFloat(elementH.getValueAsString()), saveEditor); editor.show(); } }); Table localTable = GuiResource.table(""); localTable.row(); localTable.add(guiBtn).left(); localTable.add(guiTableLabel).left().expandX().fillX(); addRow(localTable, null, label, 0, colSpan, newRow, true); return localTable; }