編輯:關於Android編程
運行結果:
為了在坦克上方畫血條 。血條首先要有坐標x,y 寬和高width和height
血量的多少life也要有。
所以新建類Life要有這些參數
Life類如下:
package tankWar; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.geom.Rectangle2D; public class Life { private int x; private int y; private int width=40; private int height=10; private int life; public Life() { super(); // TODO Auto-generated constructor stub } public Life(int x, int y,int life) { super(); this.x = x; this.y = y; this.life=life; } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } public void draw(Graphics g){ Graphics2D g2=(Graphics2D) g; //畫外圈 Rectangle2D r2=new Rectangle2D.Double(x, y-height, width, height); g2.setColor(Color.YELLOW); g2.draw(r2); //根據血量比例畫血條 Rectangle2D r=new Rectangle2D.Double(x+1, y-height+1, width*((double)life/100)-1, height-1); g2.setColor(Color.RED); g2.fill(r); } }
最後在Tank類中畫坦克的時候畫血條即可。
private void drawEnemyTanks(Graphics g) { // TODO Auto-generated method stub // 畫敵方坦克 for (Tank t : enemyTanks) { if (t.isbLive()) { //畫坦克 t.draw(g); //畫血條 Life life=new Life(t.getX(), t.getY(), t.getLive()); life.draw(g); } else { // 坦克死亡 畫爆炸 Bomb b = new Bomb(t.getX() - 50, t.getY() - 30); b.draw(g); enemyTanks.remove(t); } } }因為我的坦克不在集合裡面,自己寫
// 畫我的坦克 if (myTank.isbLive()) { myTank.draw(g); Life life=new Life(myTank.getX(), myTank.getY(), myTank.getLive()); life.draw(g); } else { // 游戲結束 isGameOn = false; }
Fragment依賴於Activity中,但又與Activity相互獨立,可以將其視作Activity裡面的子Activity,一般用於平板,因為一個Activity空間
在Android Studio裡面默認的logcat顯示顏色是灰色的,不同等級的log是沒有顏色分別的,如圖這一點遠不如Eclipse好看,但是Android Studi
主題Theme就是用來設置界面UI風格,可以設置整個應用或者某個活動Activity的界面風格。在Android SDK中內置了下面的Theme,可以按標題欄Title
android給我們提供了一個spinner控件,這個控件主要就是一個列表,那麼我們就來說說這個控件吧,這個控件在以前的也看見過,但今天還是從新介紹一遍吧。Spinner