资源简介
儿时超级玛丽java实现源码,小时候玩遍了,现在来看看实现是怎么个回事儿吧,说不定会有新的理解呢
代码片段和文件信息
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\.settings\org.eclipse.jdt.core.prefs
文件 704 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\graphics\Animation$Animfr
文件 2005 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\graphics\Animation.class
文件 1111 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\graphics\NullRepaintManager.class
文件 888 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\graphics\ScreenManager$1.class
文件 4552 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\graphics\ScreenManager.class
文件 1874 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\graphics\Sprite.class
文件 1707 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\input\GameAction.class
文件 8200 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\input\InputManager.class
文件 1363 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\sound\EchoFilter.class
文件 1571 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\sound\Filter3d.class
文件 1305 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\sound\FilteredSoundStream.class
文件 1106 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\sound\FilterSequence.class
文件 3116 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\sound\MidiPla
文件 449 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\sound\Sound.class
文件 893 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\sound\SoundFilter.class
文件 1889 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\sound\SoundManager$SoundPla
文件 7902 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\sound\SoundManager.class
文件 806 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\test\GameCore$1.class
文件 3201 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\test\GameCore.class
文件 10299 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\tilegame\GameManager.class
文件 9058 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\tilegame\ResourceManager.class
文件 3043 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\tilegame\sprites\Creature.class
文件 857 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\tilegame\sprites\Fly.class
文件 762 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\tilegame\sprites\Grub.class
文件 1558 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\tilegame\sprites\Pla
文件 531 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\tilegame\sprites\PowerUp$Goal.class
文件 534 2013-01-30 21:02 brackeen\bin\com\brackeen\javagamebook\tilegame\sprites\PowerUp$Music.class
............此处省略108个文件信息
相关资源
- Java超级玛丽奥
- 超级玛丽SuperMario[Java实现]
- java超级玛丽源代码
- java教学版-超级玛丽
- Java超级玛丽39583
- Java 仿超级玛丽的游戏完整代码
- 山寨版超级玛丽Java语言实现
- Java课程设计超级玛丽Mario
- java超级玛丽(带背景音乐)
- 一个类似超级玛丽的Java游戏
- java超级玛丽游戏
- html5做超级玛丽游戏(儿时的回忆
- Java游戏源码
- Java版超级玛丽
- JAVA小游戏源代码 超级玛丽
- java超级玛丽混搭版jar
- 超级马力 超级玛丽游戏开发 入门级源
- java超级玛丽
- 基于Java的超级玛丽游戏的设计与实现
- Java 超级玛丽游戏雏形
- java编写的超级玛丽游戏
评论
共有 条评论