How can i have sequential SpatialTransformer actions?

Hi there,

Hopefully someone can help me with this problem. I have a set of objects and when I click on one i want it to slide forward to the centre  of screen and sit there rotating gently. Then slide back it to it's original stationary position if another object is selected. I can make them slide back and forth as required but I can't then get the selected object to spin.



Suggestions welcome, Ta!

You can write a controller that does the right thing. Make the controller have two modes: sliding, and resting. The objects will spin at a given speed no matter what, but when sliding, the node will also be translating towards some goal position.

I'm afraid I don't understand your advice. I am a big noob so it's probably me. Are you saying i should have one non-cycling controller that slides an object forward and then keeps it in one place for an arbitrarily long time whilst simultaneously performing arbitrarily large number of rotations?



I am trying something slightly different but still having problems.



I create an array of identical objects (aliens) and for each I have three controllers alienshrink, aliengrow which are clamped and alienspinner which is on a cycle. the first two are toggled on and off when the alien is selected… and then the update method checks to see if the aliengrow action has finished before turning on the spinning.


public void Clicked(){
       if (this.sortstatus == SortStatus.UNSORTED ){
          this.sortstatus = SortStatus.SELECTED;
          alienshrink.setActive(false);
          alienspinner.setActive(false);
          aliengrow.setActive(true);
           if (aliengrow.getCurTime() > aliengrow.getMaxTime()){
             aliengrow.setCurTime(0);
          }   
       }else if (this.sortstatus == SortStatus.SELECTED){
          this.sortstatus = SortStatus.UNSORTED;
          alienshrink.setActive(true);
          aliengrow.setActive(false);
          alienspinner.setActive(false);
          if (alienshrink.getCurTime() > alienshrink.getMaxTime()){
             alienshrink.setCurTime(0);
          }
       }

 public void update(float time) {

       if (this.sortstatus == SortStatus.SELECTED ){
          if (!alienspinner.isActive()){
             if (aliengrow.getCurTime() >= aliengrow.getMaxTime()){
                aliengrow.setActive(false);
                alienspinner.setActive(true);
             }         
          }
       }
    }

However this I gives me two problems.

1. When i click on an single object it performs the aliengrow action but then when it has completely that ALL the objects start to spin.

2. objects only perform the animated growing and shrinking on the first time they are selected. if they are reselected after that they jump straight to the selected or unselected end states.

:?