资源简介
超完美的超级玛丽,可以直接导入到Ecipse中运行!
代码片段和文件信息
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;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-15 01:30 brackeen\
文件 232 2012-05-15 01:11 brackeen\.classpath
文件 384 2010-09-08 13:32 brackeen\.project
目录 0 2012-04-18 08:47 brackeen\.settings\
文件 629 2012-04-18 08:47 brackeen\.settings\org.eclipse.jdt.core.prefs
目录 0 2012-05-24 08:07 brackeen\bin\
目录 0 2012-05-24 08:07 brackeen\bin\com\
目录 0 2012-05-24 08:07 brackeen\bin\com\brackeen\
目录 0 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\
目录 0 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\graphics\
文件 704 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\graphics\Animation$Animfr
文件 2005 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\graphics\Animation.class
文件 1111 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\graphics\NullRepaintManager.class
文件 888 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\graphics\ScreenManager$1.class
文件 4552 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\graphics\ScreenManager.class
文件 1874 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\graphics\Sprite.class
目录 0 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\input\
文件 1707 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\input\GameAction.class
文件 8200 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\input\InputManager.class
目录 0 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\
文件 1363 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\EchoFilter.class
文件 1571 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\Filter3d.class
文件 1305 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\FilteredSoundStream.class
文件 1106 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\FilterSequence.class
文件 3116 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\MidiPla
文件 449 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\Sound.class
文件 893 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\SoundFilter.class
文件 1889 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\SoundManager$SoundPla
文件 7902 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\sound\SoundManager.class
目录 0 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\test\
文件 806 2012-05-24 08:07 brackeen\bin\com\brackeen\javagamebook\test\GameCore$1.class
............此处省略104个文件信息
评论
共有 条评论