資源簡介
兒時超級瑪麗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();????//---開局了,哈哈哈?。。。。?br/>????}
????/**
????????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個文件信息
評論
共有 條評論