Skip to content
Snippets Groups Projects
Commit a3fc30b2 authored by v.tarantik's avatar v.tarantik
Browse files

#32 Pieces scaling after switch animation

parent 418ce312
No related merge requests found
......@@ -86,6 +86,7 @@ public class PursuitGame extends AbstractTablexiaGame<Void> {
movesCounter++;
dragAndRotateActorListener.setDraggedActor(null);
dragAndRotateActorListener.setPerformingAction(false);
grid.unscaleAllPieces();
//cancelling all actions on actor that would take place after piece was moved in correct position
Array<Action> gridActions = grid.getActions();
if(gridActions.size>0){
......
......@@ -19,16 +19,7 @@ public class MovePieceToPosition extends SequenceAction {
public MovePieceToPosition(final PuzzlePiece draggedPiece, Point dest){
setActor(draggedPiece);
setTarget(draggedPiece);
Action postMovementAction = new Action() {
@Override
public boolean act(float delta) {
draggedPiece.setScale(1);
draggedPiece.setZIndex(1);
return true;
}
};
addAction(Actions.moveTo(dest.x, dest.y, DragAndRotateActorListener.MOVETO_ANIMATION_DURATION));
addAction(postMovementAction);
}
public MovePieceToPosition(final PuzzlePiece draggedPiece, Point dest,Action finalAction){
......
......@@ -12,10 +12,10 @@ import cz.nic.tablexia.util.Log;
* Created by Václav Tarantík on 3.8.15.
*/
public class SwitchPiecesAction extends SequenceAction {
public SwitchPiecesAction(final PuzzlePiece draggedPiece, Point draggedPieceRelativePosition, final PuzzlePiece overlappedPiece, Point overlappedPieceRelativePosition, Action onActionFinishedAction){
public SwitchPiecesAction(final PuzzlePiece draggedPiece, Point draggedPieceRelativePosition, final PuzzlePiece overlappedPiece, Point overlappedPieceRelativePosition, Action onSwitchFinishedAction){
addAction(Actions.parallel(new MovePieceToPosition(draggedPiece, overlappedPieceRelativePosition),
new MovePieceToPosition(overlappedPiece, draggedPieceRelativePosition)));
addAction(onActionFinishedAction);
addAction(onSwitchFinishedAction);
int overlappedPieceActualPosition = overlappedPiece.getActualPosition();
int draggedPieceActualPosition = draggedPiece.getActualPosition();
......
......@@ -123,6 +123,13 @@ public class Grid extends Group {
}
}
public void unscaleAllPieces(){
for (PuzzlePiece piece : piecesMap.values()) {
piece.setZIndex(1);
piece.setScale(1f);
}
}
public void switchPieces(PuzzlePiece draggedPiece, PuzzlePiece overlappedPiece,Action moveAction) {
if (draggedPiece != null) {
int draggedPieceActualPosition = draggedPiece.getActualPosition();
......
......@@ -109,7 +109,6 @@ public class DragAndRotateActorListener extends InputListener {
if (activePointers.size() == 0) {
dropped(x, y, draggedActor);
} else if (activePointers.size() > 0) {
//if user raised the dragging finger, animate piece under second finger
Point currentFirstPointer = activePointers.get(activePointers.keySet().toArray()[0]);
if (draggingFingerLifted) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment