项目代码结构目录
部分代码展示
import javax.swing.ImageIcon;
import org.jbox2d.collision.shapes.CircleShape;
import org.jbox2d.common.Vec2;
import org.jbox2d.dynamics.Body;
import org.jbox2d.dynamics.World;/**** @author tarzan*/
public class AngryBirdsModel extends AngryBirdsCharacter{public ImageIcon birds1=new ImageIcon("src/AngryBirdsImagePack/birds.png");public ImageIcon birds2=new ImageIcon();public ImageIcon birds3=new ImageIcon();public AngryBirdsModel() {super();}public Body createBirds(World mom,int birdtype,Vec2 pos) {this.getCharacterdef().position.set(pos);this.getCharacterdef().linearDamping=0.01f;this.getCharacterfixdef().filter.groupIndex=-1;this.charactershape=new CircleShape();Body bird=mom.createBody(characterdef);switch(birdtype) {case 1:this.charactershape.m_radius=0.5f;this.getCharacterfixdef().shape= this.charactershape;this.getCharacterinfo().setName("Lil Bird");this.getCharacterinfo().setHafheight(0.5f);this.getCharacterinfo().setHafwidth(0.5f);this.getCharacterinfo().setAppearance(birds1.getImage());bird.m_userData=this.getCharacterinfo();bird.createFixture(characterfixdef);break;case 2:this.charactershape.m_radius=0.7f;this.getCharacterfixdef().shape= this.charactershape;this.getCharacterinfo().setName("Strong Bird");this.getCharacterinfo().setHafheight(0.7f);this.getCharacterinfo().setHafwidth(0.7f);this.getCharacterinfo().setAppearance(birds2.getImage());bird.m_userData=this.getCharacterinfo();bird.createFixture(characterfixdef);break; case 3:this.charactershape.m_radius=1f;this.getCharacterfixdef().shape= this.charactershape;this.getCharacterinfo().setName("Angry Bird");this.getCharacterinfo().setHafheight(1f);this.getCharacterinfo().setHafwidth(1f);this.getCharacterinfo().setAppearance(birds3.getImage());bird.m_userData=this.getCharacterinfo();bird.createFixture(characterfixdef);break;}return bird;}}
启动类 AngryBirdsMain
import AngryBirdsLevel.BirdsLevel;/**** @author tarzan*/
public class AngryBirdsMain {/*** Entrance of This Game.*/public static void main(String[] args){BirdsLevel ts=new BirdsLevel();AngryBirdsMenu menu=new AngryBirdsMenu();AngryBirdsPanel game=new AngryBirdsPanel();AngryBirdsViewFrame mainframe=new AngryBirdsViewFrame(menu,game);//MusicController music=new MusicController();AngryBirdsController tc=new AngryBirdsController(ts,game);AngryBirdsMenuController mc=new AngryBirdsMenuController(menu);AngryBirdsPanelController pc=new AngryBirdsPanelController(mainframe.getLayoutpanel(),mc,tc); ts.getWorld().setContactListener(tc);//music.start();Thread switcher=new Thread(pc);switcher.start();mainframe.setVisible(true);}
}
游戏截图
项目源码下载地址
愤怒的小鸟java版小游戏源码_java愤怒的小鸟源码-网络游戏文档类资源-CSDN下载