注册 登录
编程论坛 JAVA论坛

世界经典,《像素鸟》(flappy bird)源码,速来领取

周老棍子 发布于 2015-10-30 12:02, 2191 次点击
只有本站会员才能查看附件,请 登录

7 回复
#2
林月儿2015-10-30 12:30
没玩过这游戏,效果不错
#3
林月儿2015-10-30 17:45
程序代码:
package cn.sxt.bird;
Bird.java
private void move() {
    if(y > SxtGameFrame.GAME_HEIGHT - height - 72) {
        y = SxtGameFrame.GAME_HEIGHT - height - 72;
        live = false;
    }
    if(y < 35) {
        y = 35;
    }
    y += v;
}

这里三条分支之间是有联系的
尤其是后面两个分支
说说问题吧,当到达顶部逻辑处理为不能再往上升。。。然而,实际运行并不是这样,
爬升距离为V + A * time1,按UP键上升就顶部越界了!
程序代码:
public void draw(Graphics g) {
    //g.fillOval(x, y, width, height);
    g.drawImage(birdImg, x, y, null);
    this.width = birdImg.getWidth(null);
    this.height = birdImg.getHeight(null);
    setV();
    move();
}

那么参照这里:
if(up) { //向上
    v = -(V + A * time1);
} else { //向下
    v= (V0 + A * time);
}
move方法体里应改为:
程序代码:
private void move() {
    if(y > SxtGameFrame.GAME_HEIGHT - height - 72) {
        y = SxtGameFrame.GAME_HEIGHT - height - 72;
        live = false;
    }
    if(y < 35) {
        y = 35;
    }
    else y += v;
}

至于birdImg这个静态变量,为什么要设为静态的?
private static Image birdImg = birdImgs[0];
#4
诸葛欧阳2015-10-30 18:59
回去后下载
#5
晨曦你妹2016-01-12 10:36
为什么丢了一个残废版的给我们?里面为什么没有程序运行时候必要的jar包?一个都没有,怎么用?既然给了还不给全。。。看了里面的广告才知道你们是想要我们先报名你的培训班才给全部,真是坑爹。
#6
Alar302016-01-27 08:56
谢谢LS的说明真相
#7
chinaloro2016-02-24 16:24
得知真相
#8
dxg84502016-02-26 10:51
广告绑架  
1