资源简介

一个类似超级玛丽的Java游戏,来自《Developing Games in Java》的一个游戏编程实例,可以全屏运行游戏,卷轴地图。压缩包内附有源码、jar文件与ANT编译文件,学习Java游戏编程的好实例。

资源截图

代码片段和文件信息

package com.brackeen.javagamebook.graphics;

import java.awt.Image;
import java.util.ArrayList;

/**
    The Animation class manages a series of images (frames) and
    the amount of time to display each frame.
Download by http://www.codefans.net
*/
public class Animation {

    private ArrayList frames;
    private int currframeIndex;
    private long animTime;
    private long totalDuration;


    /**
        Creates a new empty Animation.
    */
    public Animation() {
        this(new ArrayList() 0);
    }


    private Animation(ArrayList frames long totalDuration) {
        this.frames = frames;
        this.totalDuration = totalDuration;
        start();
    }


    /**
        Creates a duplicate of this animation. The list of frames
        are shared between the two Animations but each Animation
        can be animated independently.
    */
    public object clone() {
        return new Animation(frames totalDuration);
    }


    /**
        Adds an image to the animation with the specified
        duration (time to display the image).
    */
    public synchronized void addframe(Image image
        long duration)
    {
        totalDuration += duration;
        frames.add(new Animframe(image totalDuration));
    }


    /**
        Starts this animation over from the beginning.
    */
    public synchronized void start() {
        animTime = 0;
        currframeIndex = 0;
    }


    /**
        Updates this animation‘s current image (frame) if
        neccesary.
    */
    public synchronized void update(long elapsedTime) {
        if (frames.size() > 1) {
            animTime += elapsedTime;

            if (animTime >= totalDuration) {
                animTime = animTime % totalDuration;
                currframeIndex = 0;
            }

            while (animTime > getframe(currframeIndex).endTime) {
                currframeIndex++;
            }
        }
    }


    /**
        Gets this Animation‘s current image. Returns null if this
        animation has no images.
    */
    public synchronized Image getImage() {
        if (frames.size() == 0) {
            return null;
        }
        else {
            return getframe(currframeIndex).image;
        }
    }


    private Animframe getframe(int i) {
        return (Animframe)frames.get(i);
    }


    private class Animframe {

        Image image;
        long endTime;

        public Animframe(Image image long endTime) {
            this.image = image;
            this.endTime = endTime;
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2009-02-26 20:01  brackeen\
     文件        3225  2004-12-18 11:27  brackeen\build.xml
     目录           0  2009-10-23 22:11  brackeen\images\
     文件       95491  2004-12-07 09:44  brackeen\images\background.jpg
     文件      505201  2004-12-18 11:27  brackeen\images\background.png
     文件        1630  2004-12-18 11:27  brackeen\images\fly1.png
     文件        1618  2004-12-18 11:27  brackeen\images\fly2.png
     文件        1600  2004-12-18 11:27  brackeen\images\fly3.png
     文件        1318  2004-12-18 11:27  brackeen\images\grub1.png
     文件        1317  2004-12-18 11:27  brackeen\images\grub2.png
     文件        1786  2004-12-18 11:27  brackeen\images\heart1.png
     文件        2387  2004-12-18 11:27  brackeen\images\heart2.png
     文件        2570  2004-12-18 11:27  brackeen\images\heart3.png
     目录           0  2009-02-26 20:01  brackeen\images\menu\
     文件        2538  2004-12-07 09:44  brackeen\images\menu\config.png
     文件         586  2004-12-07 09:44  brackeen\images\menu\pause.png
     文件        1489  2004-12-07 09:44  brackeen\images\menu\play.png
     文件        1965  2004-12-07 09:44  brackeen\images\menu\quit.png
     文件        1247  2004-12-18 11:27  brackeen\images\music1.png
     文件        1247  2004-12-18 11:27  brackeen\images\music2.png
     文件        1247  2004-12-18 11:27  brackeen\images\music3.png
     文件        2214  2004-12-18 11:27  brackeen\images\player1.png
     文件        2172  2004-12-18 11:27  brackeen\images\player2.png
     文件        2088  2004-12-18 11:27  brackeen\images\player3.png
     文件        1029  2004-12-18 11:27  brackeen\images\powerup1.png
     文件        1032  2004-12-18 11:27  brackeen\images\powerup2.png
     文件        1031  2004-12-18 11:27  brackeen\images\powerup3.png
     文件        1030  2004-12-18 11:27  brackeen\images\powerup4.png
     文件         851  2004-12-18 11:27  brackeen\images\star1.png
     文件         859  2004-12-18 11:27  brackeen\images\star2.png
     文件         906  2004-12-18 11:27  brackeen\images\star3.png
............此处省略55个文件信息

评论

共有 条评论