綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] drawable bitmap和 animation的問題

[複製連結] 查看: 1149|回覆: 7|好評: 0
跳轉到指定樓層
樓主
mingminglam | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-5-27 16:40
1碎鑽
本人初入Android領域, 發言有錯請見諒

小生正在嘗試為一個多人連線遊戲寫一個船戰結束的動畫,當玩家操縱的船被擊沉就會運行該動畫
假如只是該船爆炸的動畫小生可以用frame by frame animation做出來
但要求是以該船為中心, 在某範圍內的船都需要顯示出來(會從服務器得到船只座標)
所以小生的構思就是, 該船位於中心並顯示爆炸動畫
而在範圍內的船就以drawable bitmap來顯示

範圍內別的船是bitmap檔
爆炸動畫都是bitmap檔

可是在技術上遇上問題
drawable小生只會用另外一個class來設一個新的view(命名為drawView)然後在drawView上畫bitmap圖
而爆炸的動畫小生只會在activity_main.xml (原本內置的view)弄一個imageView, 然後動畫一張一張圖的播放

問題來了:
在以上兩個情況小生動用了兩個view, MainActivity裡定義任何一個都不能顯示另外一個view:
DrawView drawView;
setContentView(R.layout.activity_main);
setContentView(drawView);
想請問有方法能在activity_main.xml裡顯示bitmap圖片嗎,需要能在activity裡getXY()得到座標指定位置的
或者有方法能在drawView裡面顯示動畫嗎??
或者有其他更好的解決方法?


另外小生有想過另外一個方法
整個動畫都只用drawable去畫bitmap
可是問題是小生不懂得如何消除已畫在view上的bitmap
以及如何設定畫bitmap動作的延遲
意思為:
1sec. 顯示各個船只
2sec. 中心船只(玩家控制的船被擊沉)船身(左下方)顯示小爆炸
3sec. 船身右上方顯示小爆炸
4sec. 船身中心及右下方顯示小爆炸
5sec. 船身顯示大爆炸
6sec. 中心船只船身只餘下殘骸並冒煙
如何在期望的時間消除上一秒的圖片並顯示該秒的圖片?
注: 除了中心船只, 其他船只並無動畫, 只會靜態顯示

最佳答案

查看完整內容

如果你是用類似 custom view 的方式,那只要在你 setContentView 中所設定的 xml 中,放入你的 View 就可以了。 例如:你的 package name 是 com.test view class name 是 MyView.java只要在 main.xml 中,加入這樣應該就解決你的問題了
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2013-5-27 16:40
如果你是用類似 custom view 的方式,那只要在你 setContentView 中所設定的 xml 中,放入你的 View 就可以了。

例如:你的
package name 是 com.test
view class name 是 MyView.java

  1. setContentView(R.layout.main)
複製代碼
只要在 main.xml 中,加入

  1. <com.test.MyView
  2. android:layout_width="match_parent"
  3. android:layout_height="wrap_content">
  4. </com.test.MyView>
複製代碼
這樣應該就解決你的問題了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

板凳
ploglin | 收聽TA | 只看該作者
發表於 2013-5-28 08:59
你可以用動態產生的方式,即時產生一些你要顯示的元件
請參考下面的文章
http://myandroidsolutions.blogspot.tw/2012/06/android-layoutinflater-turorial.html
http://mobile.dzone.com/news/android-ui-%E2%80%93-inflate-xml

評分

參與人數 1幫助 +1 收起 理由
mingminglam + 1

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

地板
 樓主| mingminglam | 收聽TA | 只看該作者
發表於 2013-5-29 17:21

多謝回答
可以解釋深入一點嗎?
在我的情況裡要如何運用?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

5
ploglin | 收聽TA | 只看該作者
發表於 2013-5-29 17:38
我給連結中都有實際的範例去教你怎麼動態新增 view 在原本的主 view 上了。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

6
 樓主| mingminglam | 收聽TA | 只看該作者
發表於 2013-5-30 12:14
ploglin 發表於 2013-5-29 17:38
我給連結中都有實際的範例去教你怎麼動態新增 view 在原本的主 view 上了。
...

有個小問題求解, 為什麼大多網上例子中xml裡都是LinearLayout 而我ADT裡的是RelativeLayout?
這有影響嗎?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

7
ploglin | 收聽TA | 只看該作者
發表於 2013-5-30 13:11
adt 版本的關係,比較舊的版本預設都是給 LinearLayout ,但到了後期的 adt 預設都是給 RelativeLayout ,自己換掉就好了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

8
 樓主| mingminglam | 收聽TA | 只看該作者
發表於 2013-5-30 16:13
ploglin 發表於 2013-5-30 13:11
adt 版本的關係,比較舊的版本預設都是給 LinearLayout ,但到了後期的 adt 預設都是給 RelativeLayout , ...

上面網址教學是把一個xml的view加到主xml view裡去
可是我的view是public class DrawView extends View這樣是用java寫出來
然後在上面用drawable畫船
這情況要怎樣把這種view加到xml 主view裡?

還有,這種加法得出來的情況是DrawView的東西像圖層那樣蓋在主view上面?
還是像網裡說的只是加在下面?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則