Batzi Posted November 9, 2015 Share Posted November 9, 2015 So I have 3 different characters (using the same sprite at the moment). They are supposed to roam given a predefined path for each. I am using 3 different loops so that they start at different times. I don't want them to start and stop at the same time. Trying to make it as natural as possible and so far I got this http://jsfiddle.net/Batzi/abs191e5/250/ Can someone suggest improvements? I need to make it look as smooth and natural as possible. Link to comment Share on other sites More sharing options...
drhayes Posted November 9, 2015 Share Posted November 9, 2015 That's pretty much what I do in my games. Check out the march behavior from my game Blaster. The enemies sleep for a short, random time then move for a short, random time. That gives them an insectoid, lurching movement that I really liked. You could consider tweening the start and finish velocities, but I know it was hard getting that moveToXY code right so maybe something else? Also, in your "callMe" method you have a big if statement where, based on the num value, you change a bunch of array values. Don't use an if statement, use the num value for those arrays: isMoving[num]=false; if(count[num]>=path[num].length) count[num] = 0; var x = path[num][count[0]][0]; var y = path[num][count[0]][1]; game.physics.arcade.moveToXY(players[num],x,y,60,3000); setTimeout((function(i){ return function() { players[i].body.velocity.x = 0; players[i].body.velocity.y = 0; } })(num),3000); count[num]++; isMoving[num]=true;Or something. ( = Tilde 1 Link to comment Share on other sites More sharing options...
Recommended Posts