While scrambling around this morning trying to get walk cycles to work, I wrote some quick and dirty code in about 20 minutes. I just had a chance to fix the code to make it as efficient as possible. Witness the before and after by clicking “read more” below. I finished the walk cycles by the way and I will be posting up the example as soon as I’m done cleaning up the code.
Dirty, dirty code:
if(_totalPlayers == 2)
{
if(_playerID == 1)
{
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
}
else if(_playerID == 2)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”Blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
}
}
else if(_totalPlayers == 3)
{
if(_playerID == 1)
{
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
trace(”walk yellow guy: ” + _server.transformerObjectYellow.walking);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
}
else if(_playerID == 2)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
}
else if(_playerID == 3)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
}
}
else if(_totalPlayers == 4)
{
if(_playerID == 1)
{
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
//
greenGrid.locateCurrentPlane(_server.transformerObjectGreen.x, _server.transformerObjectGreen.y);
buddyArray[3].mesh.x = _server.transformerObjectGreen.x; buddyArray[3].mesh.y = _server.transformerObjectGreen.y; buddyArray[3].mesh.rotationZ = _server.transformerObjectGreen.rotationZ;
trace(”green guys rotation Z: ” + buddyArray[3].mesh.rotationZ);
walkOtherPlayers(buddyArray[3].mesh, _server.transformerObjectGreen.walking);
}
else if(_playerID == 2)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
//
greenGrid.locateCurrentPlane(_server.transformerObjectGreen.x, _server.transformerObjectGreen.y);
buddyArray[3].mesh.x = _server.transformerObjectGreen.x; buddyArray[3].mesh.y = _server.transformerObjectGreen.y; buddyArray[3].mesh.rotationZ = _server.transformerObjectGreen.rotationZ;
trace(”green guys rotation Z: ” + buddyArray[3].mesh.rotationZ);
walkOtherPlayers(buddyArray[3].mesh, _server.transformerObjectGreen.walking);
}
else if(_playerID == 3)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
//
greenGrid.locateCurrentPlane(_server.transformerObjectGreen.x, _server.transformerObjectGreen.y);
buddyArray[3].mesh.x = _server.transformerObjectGreen.x; buddyArray[3].mesh.y = _server.transformerObjectGreen.y; buddyArray[3].mesh.rotationZ = _server.transformerObjectGreen.rotationZ;
trace(”green guys rotation Z: ” + buddyArray[3].mesh.rotationZ);
walkOtherPlayers(buddyArray[3].mesh, _server.transformerObjectGreen.walking);
}
else if(_playerID == 4)
{
blueGrid.locateCurrentPlane(_server.transformerObjectBlue.x, _server.transformerObjectBlue.y);
buddyArray[0].mesh.x = _server.transformerObjectBlue.x; buddyArray[0].mesh.y = _server.transformerObjectBlue.y; buddyArray[0].mesh.rotationZ = _server.transformerObjectBlue.rotationZ;
trace(”blue guys rotation Z: ” + buddyArray[0].mesh.rotationZ);
walkOtherPlayers(buddyArray[0].mesh, _server.transformerObjectBlue.walking);
//
redGrid.locateCurrentPlane(_server.transformerObjectRed.x, _server.transformerObjectRed.y);
buddyArray[1].mesh.x = _server.transformerObjectRed.x; buddyArray[1].mesh.y = _server.transformerObjectRed.y; buddyArray[1].mesh.rotationZ = _server.transformerObjectRed.rotationZ;
trace(”red guys rotation Z: ” + buddyArray[1].mesh.rotationZ);
walkOtherPlayers(buddyArray[1].mesh, _server.transformerObjectRed.walking);
//
yellowGrid.locateCurrentPlane(_server.transformerObjectYellow.x, _server.transformerObjectYellow.y);
buddyArray[2].mesh.x = _server.transformerObjectYellow.x; buddyArray[2].mesh.y = _server.transformerObjectYellow.y; buddyArray[2].mesh.rotationZ = _server.transformerObjectYellow.rotationZ;
trace(”yellow guys rotation Z: ” + buddyArray[2].mesh.rotationZ);
walkOtherPlayers(buddyArray[2].mesh, _server.transformerObjectYellow.walking);
}
}
——————————————————————-
Clean Code:
private function applyTransform(id:int, transformObj:Object, grid:Grid):void
{
grid.locateCurrentPlane(transformObj.x, transformObj.y);
buddyArray[id].mesh.x = transformObj.x;
buddyArray[id].mesh.y = transformObj.y;
buddyArray[id].mesh.rotationZ = transformObj.rotationZ;
walkOtherPlayers(buddyArray[id].mesh, transformObj.walking);
}
private function moveOtherPlayers():void
{
if(_server.transformerObjectBlue != null && _playerID != 1){
applyTransform(0, _server.transformerObjectBlue, blueGrid);
}
if(_server.transformerObjectRed != null && _playerID != 2){
applyTransform(1, _server.transformerObjectRed, redGrid);
}
if(_server.transformerObjectYellow != null && _playerID != 3){
applyTransform(2, _server.transformerObjectYellow, yellowGrid);
}
if(_server.transformerObjectGreen != null && _playerID != 4){
applyTransform(3, _server.transformerObjectGreen, greenGrid);
}
}
—————————————
and this is why I love AS3
