// 判断马里奥是否碰到敌人死亡或者踩死蘑菇敌人 for (int i = 0; i < backGround.getEnemyList().size(); i++) { // 循环判断每个敌人 Enemy e = backGround.getEnemyList().get(i); // 获取当前敌人

// 如果敌人和马里奥在同一高度,且敌人的横坐标范围包括马里奥的横坐标,说明马里奥与敌人相遇
if (e.getY() == this.y + 20 && (e.getX() - 25 <= this.x && e.getX() + 35 >= this.x)) {
    if (e.getType() == 1) { // 如果是踩蘑菇敌人
        e.death(); // 敌人死亡
        score += 2; // 分数加2
        upTime = 3; // 马里奥跳起来
        ySpeed = -10; // 马里奥垂直速度上升
    } else if (e.getType() == 2) { // 如果是碰到敌人死亡
        death(); // 马里奥死亡
    } else if (e.getType() == 3) { // 如果是碰到乌龟
        score += 2; // 分数加2
        upTime = 3; // 马里奥跳起来
        ySpeed = -10; // 马里奥垂直速度上升
        e.death(); // 乌龟死亡
        e.setY(e.getY() + 10); // 乌龟向下移动一段距离
    } else if (e.getType() == 4) { // 如果是踩到乌龟
        score += 2; // 分数加2
        upTime = 3; // 马里奥跳起来
        ySpeed = -10; // 马里奥垂直速度上升
        e.death(); // 乌龟死亡
    }
}

// 如果敌人和马里奥重叠,说明马里奥被敌人碰到
if ((e.getX() + 35 > this.x && e.getX() - 25 < this.x) && (e.getY() + 35 > this.y && e.getY() - 20 < this.y)) {
    death(); // 马里奥死亡
}
判断马里奥是否碰到敌人死亡或者踩死蘑菇敌人 for int i = 0; i backGroundgetEnemyListsize; i++ Enemy e = backGroundgetEnemyListgeti; if egetY == thisy + 20 && egetX - 25

原文地址: http://www.cveoy.top/t/topic/g0KS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录