推箱游戏的原理是什么?

说白了就是碰撞检测。代码详细的话,就看你用什么来实现了。比如3D中基于VC的开发库DIRECTX,就有一个检测实体间距离的API。如果返回的距离小于两个实体的碰撞边界球体的半径之和,那么长方体将不会在角色速度的方向上移动。

其实可以用物理引擎来辅助这类游戏的开发,这样会大大降低开发难度,大大提高仿真的真实性。推荐PhysX,一个基于OpenGL的物理引擎。

2D也类似,无非是获取物体之间的距离进行比较,并根据比较应用相应的变化。