xxx 人物和地图的移动
人物的移动可能会导致地图的移动, 但是地图的移动不会导致人物的移动,始终都要把人物放在屏幕上。人物可以相对于屏幕移动, 也可以相对于地图移动。常见的说法是 "人物向左移动,地图向右移动", 我通常
会抽像出一个相机,人物向左移动, 相机也向左移动, 然后将地图坐标转换为屏幕坐标,本质上还是让 地图向右移动。
相信看过我先前的帖子, 会知道是怎么干的。
这里,写一段人物相对屏幕移动的垃圾代码, 如下:
switch(player.face)
{
case RIGHT:
if(player.ActorX < (SCREEN_WIDTH >> 1))
{
player.ActorX += player.speedX;
}
else
{
if (mapX > -MAP_COL * TILE_WIDTH + SCREEN_WIDTH)
{
mapX -= mapSpeedX;
}
else if (player.ActorX < (SCREEN_WIDTH - player.width)
{
player.ActorX += player.speedX;
}
}
}
当然,还可以加上 加速度什么的, 都比较简单的 。/
[ 本帖最后由 BlueGuy 于 2010-11-14 21:50 编辑 ]