im trying animate multiple scnnodes using scnaction class run concurrently i'm having hard time figuring out. have feeling might not possible though doesn't hurt throw question out there , see if has answer.
for example:
lets made
scnaction *move = [scnaction moveto:scnvector3make(10.0,0.0,10.0) duration:5.0];
and wanted run 2 nodes concurrently same spot
[nodeone runaction:move]; [nodetwo runaction:move];
when nodeone run action , nodetwo won't run after nodeone. there way make nodeone , nodetwo move @ same time?
side note: i'm doing in -(void) viewdidload, should using viewdidappear make happen?
here actual code example (from game template).
- (void)viewdidload { [super viewdidload]; // create new scene scnscene *scene = [scnscene scene]; // create , add camera scene scnnode *cameranode = [scnnode node]; cameranode.camera = [scncamera camera]; [scene.rootnode addchildnode:cameranode]; // place camera cameranode.position = scnvector3make(0, 30, 90); // retrieve ship node scnnode *box1 = [scnnode node]; scnnode *box2 = [scnnode node]; box1.geometry = [scnbox boxwithwidth:85 height:5 length:5 chamferradius:0]; box1.position = scnvector3make(-10, 30, -10); box2.geometry = [scnbox boxwithwidth:80 height:10 length:10 chamferradius:0]; box2.position = scnvector3make(0, 10, 5); [scene.rootnode addchildnode:box1]; [scene.rootnode addchildnode:box2]; scnaction *move = [scnaction moveto:scnvector3make(10.0,30.0,-10.0) duration:5.0]; [box1 runaction:move]; [box2 runaction:move]; // retrieve scnview scnview *scnview = (scnview *)self.view; // set scene view scnview.scene = scene; // allows user manipulate camera scnview.allowscameracontrol = no; // show statistics such fps , timing information scnview.showsstatistics = yes; // configure view scnview.backgroundcolor = [uicolor blackcolor]; }
the boxes converge nicely. isn't effect looking for?