Re: [問題] 關於繪圖的操縱

看板AndroidDev作者 (習慣壞習慣)時間13年前 (2011/05/12 01:49), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《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)

05/12 07:27, , 1F
感激不盡,會用ARRAYLIST的原因
05/12 07:27, 1F

05/12 07:27, , 2F
是因為打磚塊會有「台數」的問題
05/12 07:27, 2F

05/12 07:27, , 3F
你可能玩一玩吃到+1UP
05/12 07:27, 3F

05/12 07:28, , 4F
掛點也會扣掉1UP
05/12 07:28, 4F

05/12 07:28, , 5F
有可能吃到散彈之類的特殊功能
05/12 07:28, 5F

05/12 07:29, , 6F
做個ARRAYLIST做為容器,把還沒用到的BALL裝在裡面這樣
05/12 07:29, 6F

05/12 13:13, , 7F
台數另外用一個int存就好了吧? 倒是散彈就真的要array
05/12 13:13, 7F

05/12 13:25, , 8F
一樓想法很好耶 我程式寫久了反而沒想到這麼直覺的做法XD
05/12 13:25, 8F
文章代碼(AID): #1DoimTmB (AndroidDev)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1DoimTmB (AndroidDev)