2012年6月12日 星期二

Java Game Development(23) - Starting the Sprites Movement


import java.awt.*;
import javax.swing.*;


public class apples{
public static void main(String[] args){
apples a = new apples();
a.run();
}
private Sprite sprite;
private Animation ani;
private ScreenManager s;
private Image bg;
private static DisplayMode modes1[] = {
new DisplayMode(800, 600, 32, 0),
new DisplayMode(800, 600, 24, 0),
new DisplayMode(800, 600, 16, 0),
new DisplayMode(640, 480, 32, 0),
new DisplayMode(640, 480, 24, 0),
new DisplayMode(640, 480, 16, 0),
};
//加載圖像和添加場景
public void loadImages(){
bg = new ImageIcon("C:\\baby.jpg").getImage();
Image face1 = new ImageIcon("C:\\baby1.png").getImage();
Image face2 = new ImageIcon("C:\\baby2.png").getImage();
ani = new Animation();
ani.addScene(face1,250);
ani.addScene(face2,250);
sprite = new Sprite(ani);
sprite.setVelocityX(0.3f);
sprite.setVelocityY(0.3f);
}
//主要的方法(main method)
public void run(){
s = new ScreenManager();
try{
DisplayMode dm = s.findFirstCompatibleMode(modes1);
s.setFullScreen(dm);
loadImages();
movieLoop();
}finally{
s.restoreScreen();
}
}
//播放電影
public void movieLoop(){
long startingTime = System.currentTimeMillis();
long cumTime = startingTime;
while(cumTime - startingTime < 6000){
long timePassed = System.currentTimeMillis() -cumTime;
cumTime += timePassed;
update(timePassed);
//繪製和更新屏幕
Graphics2D g = s.getGraphics();
draw(g);
g.dispose();
s.update();
try{
Thread.sleep(20);
}catch(Exception ex){}
}
}
//繪製圖形
public void draw(Graphics g){
g.drawImage(bg, 0, 0,null);
g.drawImage(sprite.getImage(), Math.round(sprite.getX()), Math.round(sprite.getY()),null); 獲取圖像,XYSprite.java
}
}

沒有留言:

張貼留言