超级玛丽java实现源码
儿时超级玛丽java实现源码,小时候玩遍了,现在来看看实现是怎么个回事儿吧,说不定会有新的理解呢
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 232 2012-04-18 08:48 brackeen.classpath
文件 384 2010-09-08 13:32 brackeen.project
文件 629 2012-04-18 08:47 brackeen.settingsorg.eclipse.jdt.core.prefs
文件 704 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsAnimation$Animframe.class
文件 2005 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsAnimation.class
文件 1111 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsNullRepaintManager.class
文件 888 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsScreenManager$1.class
文件 4552 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsScreenManager.class
文件 1874 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsSprite.class
文件 1707 2013-01-30 21:02 brackeenincomrackeenjavagamebookinputGameAction.class
文件 8200 2013-01-30 21:02 brackeenincomrackeenjavagamebookinputInputManager.class
文件 1363 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundEchoFilter.class
文件 1571 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundFilter3d.class
文件 1305 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundFilteredSoundStream.class
文件 1106 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundFilterSequence.class
文件 3116 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundMidiPlayer.class
文件 449 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundSound.class
文件 893 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundSoundFilter.class
文件 1889 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundSoundManager$SoundPlayer.class
文件 7902 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundSoundManager.class
文件 806 2013-01-30 21:02 brackeenincomrackeenjavagamebook estGameCore$1.class
文件 3201 2013-01-30 21:02 brackeenincomrackeenjavagamebook estGameCore.class
文件 10299 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegameGameManager.class
文件 9058 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegameResourceManager.class
文件 3043 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesCreature.class
文件 857 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesFly.class
文件 762 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesGrub.class
文件 1558 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesPlayer.class
文件 531 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesPowerUp$Goal.class
文件 534 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesPowerUp$Music.class
............此处省略108个文件信息
package com.brackeen.javagamebook.graphics;
//Download by http://www.codefans.net
import java.awt.Image;
import java.util.ArrayList;
import com.brackeen.javagamebook.graphics.Animation.Animframe;
/*
* Animframe 是一个记录游戏进程,以及当前所处的像素段的类。
*
* 它作用于整个过程。对于处理整个图片显示有着至关重要的作用。
*/
public class Animation {
private ArrayListame> frames; //---元素记录时间和图像---------
private long totalDuration; //---总时间 ,记录ArryList中时间的和--,实际是为增加一个新的Aniframe服务的,因为每一个新的服务都会由图片和结束时间来定义。------
private int currframeIndex; //-当前的Animframe下标。其实也是为增加一个新的Aniframe服务的,还有就是对于调用Animation的component函数进行显示当前的界面。
private long animTime; //---当前像素 哈哈哈哈!!!!!-----So easy!!
/**
Creates a new empty Animation.
*/
public Animation() {
this(new ArrayList() 0); //---只是为了方便?外界只能构造一个空的Animation;
}
//---为什么要这样设计?让构造方法私有,然后公有调用。
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).
*/
//-----------向ArryList数组中增加元素----------这个函数时是加锁的函数。
public synchronized void addframe(Image imagelong duration) //--我认为时间应该表示的是像素的长度。duration,表示的是图片像素的长度。
{
totalDuration += duration;
frames.add(new Animframe(image totalDuration)); //---增加一个新的Animframeframes是一个ArryList数组。
}
/**
Starts this animation over from the beginning.对线程加锁!一次游戏开始!!
*/
public synchronized void start() {
animTime = 0;
currframeIndex = 0; //------开始启动----
}
/**
Updates this animation‘s current image (frame) if
necessary.
*/
//---下面的函数是用于外调的,当触发向前走的世间的时候会调用此函数。将当前活跃的下标前进1;
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;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 232 2012-04-18 08:48 brackeen.classpath
文件 384 2010-09-08 13:32 brackeen.project
文件 629 2012-04-18 08:47 brackeen.settingsorg.eclipse.jdt.core.prefs
文件 704 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsAnimation$Animfr
文件 2005 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsAnimation.class
文件 1111 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsNullRepaintManager.class
文件 888 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsScreenManager$1.class
文件 4552 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsScreenManager.class
文件 1874 2013-01-30 21:02 brackeenincomrackeenjavagamebookgraphicsSprite.class
文件 1707 2013-01-30 21:02 brackeenincomrackeenjavagamebookinputGameAction.class
文件 8200 2013-01-30 21:02 brackeenincomrackeenjavagamebookinputInputManager.class
文件 1363 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundEchoFilter.class
文件 1571 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundFilter3d.class
文件 1305 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundFilteredSoundStream.class
文件 1106 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundFilterSequence.class
文件 3116 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundMidiPla
文件 449 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundSound.class
文件 893 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundSoundFilter.class
文件 1889 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundSoundManager$SoundPla
文件 7902 2013-01-30 21:02 brackeenincomrackeenjavagamebooksoundSoundManager.class
文件 806 2013-01-30 21:02 brackeenincomrackeenjavagamebook estGameCore$1.class
文件 3201 2013-01-30 21:02 brackeenincomrackeenjavagamebook estGameCore.class
文件 10299 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegameGameManager.class
文件 9058 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegameResourceManager.class
文件 3043 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesCreature.class
文件 857 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesFly.class
文件 762 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesGrub.class
文件 1558 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesPla
文件 531 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesPowerUp$Goal.class
文件 534 2013-01-30 21:02 brackeenincomrackeenjavagamebook ilegamespritesPowerUp$Music.class
............此处省略108个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)