作者badhabit (習慣壞習慣)
看板AndroidDev
標題Re: [問題] 關於繪圖的操縱
時間Thu May 12 01:49:10 2011
※ 引述《uok (宇宙油王)》之銘言:
: 問題:
: 最近想做個打磚塊的遊戲來練習android的應用
: 基本上繪圖的部分還算順利
: 但是我卻沒有辦法控制繪圖的開關
: 球一直源源不絕地掉下來....
: 預期輸出:
: 一顆球掉出來之後
: 到它掉出畫面前都不會新增球
: 錯誤輸出:
: 球一直掉不停
: 程式碼: (請多利用置底文網站)
: http://nopaste.csie.org/95674#form
問題出在
1.畫完圖沒清掉
2.沒作出界的判斷
另外我不懂為什麼要用ArrayList存Ball,還請作者指教^^
針對你的需求:一顆球掉出來之後,到它掉出畫面前都不會新增球
我做了一些程式碼的修改 (我改成球超過BAR就重新開始)
1.將createball();移到onCreate裡
2.修改 void createball() {
b = new ball();
}
3.增加 boolean 是否出界(int bar_y,int ball_y){
return ball_y>bar_y?true:false;
}
4.修改 public void run() {
for(;;){
Canvas canvas = getHolder().lockCanvas();
if (canvas != null) {
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(img_bar, 150, 300, pen);
canvas.drawBitmap(img_ball, b.x, b.y, pen);
b.y += 10;
if (是否出界(300,b.y))b.y=0;//300是BAR的Y座標
getHolder().unlockCanvasAndPost(canvas);
}
try {//可以作為掉球速度的控制 (吃到某些道具會變快或變慢)
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
詳細程式碼在:
http://nopaste.csie.org/096a9
--
我的Android作品集
http://android.wuya.us/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.227.36
※ 編輯: badhabit 來自: 59.112.227.36 (05/12 01:51)
1F:推 uok:感激不盡,會用ARRAYLIST的原因 05/12 07:27
2F:→ uok:是因為打磚塊會有「台數」的問題 05/12 07:27
3F:→ uok:你可能玩一玩吃到+1UP 05/12 07:27
4F:→ uok:掛點也會扣掉1UP 05/12 07:28
5F:→ uok:有可能吃到散彈之類的特殊功能 05/12 07:28
6F:→ uok:做個ARRAYLIST做為容器,把還沒用到的BALL裝在裡面這樣 05/12 07:29
7F:推 coronach:台數另外用一個int存就好了吧? 倒是散彈就真的要array 05/12 13:13
8F:推 mamaya3:一樓想法很好耶 我程式寫久了反而沒想到這麼直覺的做法XD 05/12 13:25