rewrite the mirror visualizer
This commit is contained in:
parent
b4e7f97f5b
commit
fdafba2127
@ -40,6 +40,7 @@ public class BasicVisualizer extends VisualizerCore {
|
|||||||
angleRot = new Vector2(MathUtils.cosDeg(rotation), MathUtils.sinDeg(rotation));
|
angleRot = new Vector2(MathUtils.cosDeg(rotation), MathUtils.sinDeg(rotation));
|
||||||
textures = new Texture[barCount];
|
textures = new Texture[barCount];
|
||||||
bars = new Sprite[barCount];
|
bars = new Sprite[barCount];
|
||||||
|
spaceBetweenBars = 4;
|
||||||
|
|
||||||
for (int i = 0; i < textures.length; i++) {
|
for (int i = 0; i < textures.length; i++) {
|
||||||
textures[i] = new Texture(pixmap);
|
textures[i] = new Texture(pixmap);
|
||||||
@ -82,7 +83,7 @@ public class BasicVisualizer extends VisualizerCore {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < mirrors.size; i++) {
|
for (int i = 0; i < mirrors.size; i++) {
|
||||||
mirrors.get(i).render(bars, batch);
|
mirrors.get(i).render(batch, parentAlpha, bars);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
super.render(batch, parentAlpha);
|
super.render(batch, parentAlpha);
|
||||||
@ -107,7 +108,6 @@ public class BasicVisualizer extends VisualizerCore {
|
|||||||
angleRot.set(MathUtils.cosDeg(rotation), MathUtils.sinDeg(rotation));
|
angleRot.set(MathUtils.cosDeg(rotation), MathUtils.sinDeg(rotation));
|
||||||
|
|
||||||
barWidth = MathUtils.ceil((float) width/(float) barCount);
|
barWidth = MathUtils.ceil((float) width/(float) barCount);
|
||||||
spaceBetweenBars = 1;
|
|
||||||
barWidth -= spaceBetweenBars;
|
barWidth -= spaceBetweenBars;
|
||||||
|
|
||||||
for (int i = 0; i < bars.length; i++) {
|
for (int i = 0; i < bars.length; i++) {
|
||||||
@ -120,7 +120,7 @@ public class BasicVisualizer extends VisualizerCore {
|
|||||||
bars[i].setPosition(xPos + barSpace*angleRot.x, yPos + barSpace*angleRot.y);
|
bars[i].setPosition(xPos + barSpace*angleRot.x, yPos + barSpace*angleRot.y);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < mirrors.size; i++) {
|
for (int i = 0; i < mirrors.size; i++) {
|
||||||
mirrors.get(i).updatePositioning(bars, barSpace);
|
mirrors.get(i).position(barWidth, spaceBetweenBars);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -149,10 +149,15 @@ public class BasicVisualizer extends VisualizerCore {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void addMirrorVisualizer(MirrorVisualizer mirror) {
|
public void addMirrorVisualizer(MirrorVisualizer mirror) {
|
||||||
|
mirror.setup(bars, barWidth, spaceBetweenBars, (int) width);
|
||||||
mirrors.add(mirror);
|
mirrors.add(mirror);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeMirrorVisualizer(MirrorVisualizer mirror) {
|
public void removeMirrorVisualizer(MirrorVisualizer mirror) {
|
||||||
mirrors.removeValue(mirror, true);
|
mirrors.removeValue(mirror, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSpaceBetweenBars(int spaceBetweenBars) {
|
||||||
|
this.spaceBetweenBars = spaceBetweenBars;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,55 +6,63 @@ import com.badlogic.gdx.math.MathUtils;
|
|||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
|
|
||||||
public class MirrorVisualizer {
|
public class MirrorVisualizer {
|
||||||
private Sprite[] bars;
|
|
||||||
private float rotation;
|
|
||||||
private int xPos, yPos;
|
private int xPos, yPos;
|
||||||
private Vector2 angleRot;
|
private float rotation;
|
||||||
|
private Sprite[] bars;
|
||||||
private boolean flip;
|
private boolean flip;
|
||||||
protected void setup(Sprite[] sprites, float rotation, int x, int y, Vector2 angleRot) {
|
|
||||||
this.xPos = x;
|
|
||||||
this.yPos = y;
|
|
||||||
this.angleRot = angleRot;
|
|
||||||
|
|
||||||
bars = new Sprite[sprites.length];
|
private Vector2 rectCoordRot;
|
||||||
|
public MirrorVisualizer() {
|
||||||
|
rectCoordRot = new Vector2();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void setup(Sprite[] bars, int xPos, int yPos, float rotation) {
|
||||||
|
this.bars = new Sprite[bars.length];
|
||||||
|
this.xPos = xPos;
|
||||||
|
this.yPos = yPos;
|
||||||
|
this.rotation = rotation;
|
||||||
|
rectCoordRot.set(MathUtils.cosDeg(rotation), MathUtils.sinDeg(rotation));
|
||||||
|
|
||||||
for (int i = 0; i < bars.length; i++) {
|
for (int i = 0; i < bars.length; i++) {
|
||||||
bars[i] = new Sprite(sprites[i]);
|
this.bars[i] = new Sprite(bars[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void render(Sprite[] sprites, Batch batch) {
|
public void render(Batch batch, float parentAlpha, Sprite[] bars) {
|
||||||
for (int i = 0; i < sprites.length; i++) {
|
for (int i = 0; i < this.bars.length; i++) {
|
||||||
bars[i].setSize(bars[i].getWidth(), sprites[i].getHeight());
|
this.bars[i].setSize(bars[i].getWidth(), bars[i].getHeight());
|
||||||
bars[i].draw(batch);
|
this.bars[i].draw(batch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updatePositioning(Sprite[] sprites, int barSpace) {
|
public void position(int barWidth, int spaceBetweenBars) {
|
||||||
angleRot.set(MathUtils.cosDeg(rotation), MathUtils.sinDeg(rotation));
|
int barSpaceMultiplier = barWidth + spaceBetweenBars;
|
||||||
for (int i = 0; i < sprites.length; i++) {
|
|
||||||
bars[i].set(sprites[i]);
|
for (int i = 0; i < bars.length; i ++) {
|
||||||
bars[i].setPosition(xPos + barSpace*angleRot.x, yPos + barSpace*angleRot.y);
|
|
||||||
if (flip) {
|
if (flip) {
|
||||||
bars[i].setRotation(rotation+180);
|
bars[i].setRotation(rotation+180);
|
||||||
} else {
|
} else {
|
||||||
bars[i].setRotation(rotation);
|
bars[i].setRotation(rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bars[i].setPosition(xPos + i*barSpaceMultiplier*rectCoordRot.x, yPos + i*barSpaceMultiplier*rectCoordRot.y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void flip() {
|
public float getRotation() {
|
||||||
flip = flip ? false : true;
|
return rotation;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlipped() {
|
public void setRotation(float rotation) {
|
||||||
return flip;
|
this.rotation = rotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setyPos(int yPos) {
|
||||||
|
this.yPos = yPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setxPos(int xPos) {
|
public void setxPos(int xPos) {
|
||||||
this.xPos = xPos;
|
this.xPos = xPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setyPos(int yPos) {
|
|
||||||
this.yPos = yPos;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,12 @@ import com.badlogic.gdx.math.MathUtils;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.Group;
|
import com.badlogic.gdx.scenes.scene2d.Group;
|
||||||
import com.badlogic.gdx.utils.Disposable;
|
import com.badlogic.gdx.utils.Disposable;
|
||||||
|
|
||||||
|
import zero1hd.rhythmbullet.audio.visualizer.MirrorVisualizer;
|
||||||
import zero1hd.rhythmbullet.graphics.meshes.TitleBarMesh;
|
import zero1hd.rhythmbullet.graphics.meshes.TitleBarMesh;
|
||||||
|
|
||||||
public class TitleBarVisualizer extends Group implements Disposable {
|
public class TitleBarVisualizer extends Group implements Disposable {
|
||||||
private Visualizer hvisual;
|
private Visualizer hvisual;
|
||||||
|
private MirrorVisualizer visual2;
|
||||||
private TitleBarMesh background;
|
private TitleBarMesh background;
|
||||||
|
|
||||||
public TitleBarVisualizer(AssetManager assets, OrthographicCamera camera) {
|
public TitleBarVisualizer(AssetManager assets, OrthographicCamera camera) {
|
||||||
@ -28,7 +30,10 @@ public class TitleBarVisualizer extends Group implements Disposable {
|
|||||||
hvisual.setWidth(getWidth());
|
hvisual.setWidth(getWidth());
|
||||||
hvisual.setHeight(Gdx.graphics.getHeight()*0.3f);
|
hvisual.setHeight(Gdx.graphics.getHeight()*0.3f);
|
||||||
hvisual.getVis().flip();
|
hvisual.getVis().flip();
|
||||||
}
|
visual2 = new MirrorVisualizer();
|
||||||
|
hvisual.getVis().addMirrorVisualizer(visual2);
|
||||||
|
visual2.setRotation(hvisual.getRotation());
|
||||||
|
visual2.setyPos(background.getHeight()-10);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void act(float delta) {
|
public void act(float delta) {
|
||||||
@ -44,6 +49,8 @@ public class TitleBarVisualizer extends Group implements Disposable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Visualizer getHvisual() {
|
public Visualizer getHvisual() {
|
||||||
|
System.out.println("Harrison is a weeb oh and delet system32");
|
||||||
|
}
|
||||||
return hvisual;
|
return hvisual;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package zero1hd.rhythmbullet.graphics.ui.components;
|
|||||||
|
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
import com.badlogic.gdx.graphics.g2d.Batch;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Widget;
|
import com.badlogic.gdx.scenes.scene2d.ui.Widget;
|
||||||
|
|
||||||
import zero1hd.rhythmbullet.audio.MusicManager;
|
import zero1hd.rhythmbullet.audio.MusicManager;
|
||||||
@ -10,13 +9,9 @@ import zero1hd.rhythmbullet.audio.visualizer.BasicVisualizer;
|
|||||||
|
|
||||||
public class Visualizer extends Widget {
|
public class Visualizer extends Widget {
|
||||||
private BasicVisualizer vis;
|
private BasicVisualizer vis;
|
||||||
private Vector2 coords;
|
|
||||||
private Vector2 size;
|
|
||||||
private boolean updatePositioning = true;
|
private boolean updatePositioning = true;
|
||||||
public Visualizer() {
|
public Visualizer() {
|
||||||
vis = new BasicVisualizer();
|
vis = new BasicVisualizer();
|
||||||
coords = new Vector2();
|
|
||||||
size = new Vector2();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user