java飞机大战中,frame.setVisible(true)是异步处理。
同步:一个任务处理完,再处理下一个任务。
异步:多个任务同时进行。
action中的功能:
1.敌人入场
2.飞行物移动
3.子弹入场
4.英雄机随着鼠标移动(事件触发)
删除越界飞行物
5.子弹与敌人的碰撞
6.英雄机与敌人的碰撞
7.检测游戏结束
其他的均为定时触发
定时触发 Timer timer = new Timer();
timer.schedule(?,10,10);
第一个10代表:从程序启动到第一次触发的时间间隔
第二个10代表:从第一次触发到第二次触发的时间间隔
第二次触发到第三次触发的时间间隔
。。。。。
都是以毫秒为单位的,程序大部分均以毫秒计数
在飞机大战中,调用paint()画对象有两种方法:
1.frame.setVisible(true)会自动调用
2.通过repaint()进行手动调用
swing事件相关:
1.事件:发生了一个事
2.事件处理:发生事之后所做的操作
3.侦听器
a.先有一个侦听对象
b.将侦听器对象装到面板上
飞机大战中的触发事件:
1.鼠标点击,从启动状态变为运行状态(鼠标操作事件)
2.鼠标移动,英雄级随着鼠标移动(鼠标滑动事件)
3.鼠标移出,运行状态变为暂停状态(鼠标操作事件)
4.鼠标移入,暂停状态变为运行状态(鼠标操作事件)
MouseAdapter l = new MouseAdapter(){
};
addMouseListener(l);//处理鼠标操作
addMouserMotionListener(l);//处理鼠标滑动