尝试为侧卷轴构建引擎。
我的问题是,从长远来看,将角色运动与简单地伤害我联系起来。我是否应该强迫角色作为绝对角色保留在视野中?
我正在研究控制相对于玩家角色和视野的绘制物体位置的方法。我有一个工作方法;
//(pseudo-code):
level.limit.left = 0; // level starts at x = 0
level.limit.right = 300; // level ends at x = 300
view = viewsize(100, 100); // window (frame-of-view) = 100 by 100
character.position.x = 200; // current position of character sprite
view.position.x = 200; // current center position of view
if (userInput.Left = true) // catches isKeyPressed::left
{
character.position.x +=1; // move character left by 1
view.position.x += 1; // move view left by 1
//view collision detection
if (view.position.x > 250)
{ view.position.x -= 1;}
if (view.position.x < 50 )
{ view.position.x += 1; }
//character collision detection
if (character.position.x > 300)
{ character.position -= 1; }
if (character.position.x < 0 )
{ character.position += 1; }
这让角色&amp;视图独立地与级别边缘碰撞。但是,如果角色位置变化超过1个字符&amp;查看损失同步。我知道碰撞检测会增长到包含其他精灵。使用这种我没有看到的方法是否存在严重的缺陷?