




char*key=GetKeyState();
int dir=key[KEY_RIGHT]-key[KEY_LEFT];
int lastDir;
switch(dir)
{
case 0: //none;
switch(lastDir)
{
case 0: //right
change animation to stop right
break;
case 1: //left
change animation to stop left
break;
}
break;
case 1: //right;
lastDir=0;
x+=5;
change animation to walk right
break;
case -1: //left;
lastDir=1;
x-=5;
change animation to walk left
break;
}
int kDir=key[KEY_RIGHT]-key[KEY_LEFT];
switch(kDir)
{
case 0:
break;
case 1: //right
x+=5;
break;
case -1: //left
x-=5;
break;
}
int lrDir=key[KEY_RIGHT]-key[KEY_LEFT];
int udDir=key[KEY_UP]-key[KEY_DOWN];
switch(lrDir)
{
case 0:
break;
case 1: //right
x+=5;
break;
case -1: //left
x-=5;
break;
}
switch(udDir)
{
case 0:
break;
case 1: //up
y-=5;
break;
case -1: //down
y+=5;
break;
}
Hblade wrote:You can remove the animation partsHere's a simpler code if your not using animations
For left and right:
- Code: Select all
int kDir=key[KEY_RIGHT]-key[KEY_LEFT];
switch(kDir)
{
case 0:
break;
case 1: //right
x+=5;
break;
case -1: //left
x-=5;
break;
}
char* key = GetKeyState();
x+=(key[KEY_RIGHT]-key[KEY_LEFT])*5;
Hblade wrote:For all 4 directions:
- Code: Select all
int lrDir=key[KEY_RIGHT]-key[KEY_LEFT];
int udDir=key[KEY_UP]-key[KEY_DOWN];
switch(lrDir)
{
case 0:
break;
case 1: //right
x+=5;
break;
case -1: //left
x-=5;
break;
}
switch(udDir)
{
case 0:
break;
case 1: //up
y-=5;
break;
case -1: //down
y+=5;
break;
}
char* key = GetKeyState();
x+=(key[KEY_RIGHT]-key[KEY_LEFT])*5;
y+=(key[KEY_DOWN]-key[KEY_UP])*5;
Users browsing this forum: No registered users and 1 guest