Java 游戏编程与相关技术综合解析
1. 游戏编程基础与碰撞处理
在游戏编程中,碰撞检测是一个重要的环节。当检测到两个球发生碰撞时,会交换它们的 x 和 y 速度值。这不仅使球相互弹开,还会让较慢的球加速,较快的球减速。为了避免检测到与多个球的碰撞,当检测到碰撞时会执行 break 语句。若省略该语句,涉及多个球的碰撞通常会导致奇怪的行为,你可以尝试移除 break 语句来观察效果。
在检查球与组件边缘以及其他球的碰撞时,球有可能同时与边缘和另一个球发生碰撞。因此,用于检查边缘碰撞的 if 语句会强制将 x 和 y 速度值设为合适的正负数值。
2. 为动画程序添加用户交互
将动画程序转变为游戏程序的关键在于添加通过鼠标或键盘实现的用户交互。具体做法是添加事件监听器来处理键盘或鼠标事件,然后在事件监听器中根据用户的操作对游戏的精灵进行相应的更改。
假设要创建一个用户可以通过拖动鼠标来回移动的球拍,只需添加一个鼠标移动监听器,并将鼠标指针的 x 位置保存到一个表示球拍左上角的实例变量中。以下是实现此功能的代码,以匿名内部类的形式编写:
addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(MouseEvent e) {
paddle_x = e.getX() - 30;
}
});
应将此代码放置在绘制动画的组件的
Java游戏编程及相关技术解析
超级会员免费看
订阅专栏 解锁全文
2384

被折叠的 条评论
为什么被折叠?



