Code:
function game()
{
CreatePerson("person", "aegis.rss", false);
SetPersonSpriteset("person", LoadSpriteset("Trunks.rss"));
AttachCamera("person");
SetRenderScript("Movement();");
AttachInput("person");//but we don't want the standard movement interfereing with the movement we'll be having so...
BindKey(KEY_LEFT, "", "");
BindKey(KEY_RIGHT, "", "");
BindKey(KEY_UP, "", "");
BindKey(KEY_DOWN, "", "");
MapEngine("Test.rmp", 60);
}
var facing, walker;
function Movement()
{
walker = GetInputPerson();
if (IsKeyPressed(KEY_UP))
if (IsKeyPressed(KEY_UP))
walker = GetInputPerson();
if (IsKeyPressed(KEY_UP))
{
if(!facing ||
facing == "d" ||
(!IsKeyPressed(KEY_LEFT) &&
!IsKeyPressed(KEY_RIGHT)))
{
facing = "u";
QueuePersonCommand(walker, COMMAND_FACE_NORTH, true);
}
QueuePersonCommand(walker, COMMAND_MOVE_NORTH, true);
}
else if (IsKeyPressed(KEY_DOWN))
{
if(!facing ||
facing == "u" ||
(!IsKeyPressed(KEY_LEFT) &&
!IsKeyPressed(KEY_RIGHT)))
{
facing = "d";
QueuePersonCommand(walker, COMMAND_FACE_SOUTH, true);
}
QueuePersonCommand(walker, COMMAND_MOVE_SOUTH, true);
}
if (IsKeyPressed(KEY_LEFT))
{
if(!facing ||
facing == "r" ||
(!IsKeyPressed(KEY_UP) &&
!IsKeyPressed(KEY_DOWN)))
{
facing = "l";
QueuePersonCommand(walker, COMMAND_FACE_WEST, true);
}
QueuePersonCommand(walker, COMMAND_MOVE_WEST, true);
}
else if (IsKeyPressed(KEY_RIGHT))
{
if(!facing ||
facing == "l" ||
(!IsKeyPressed(KEY_UP) &&
!IsKeyPressed(KEY_DOWN)))
{
facing = "r";
QueuePersonCommand(walker, COMMAND_FACE_EAST, true);
}
QueuePersonCommand(walker, COMMAND_MOVE_EAST, true);
}
}
It takes like a second for the first frame to appear but also the frame 0 shouldn't be used when looking the animation..