日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android游戲開發(fā):如何實(shí)現(xiàn)爆炸效果

在做Android游戲MagicBubble開發(fā)的時(shí)候,在連通兩個Bubbles的時(shí)候,Bubble會以水泡爆破的情形消失。筆者的思路是這樣的:在FrameLayout里面加入一ImageView,再定義一個爆炸的Animation,不需要的時(shí)候,ImageView就隱藏起來,需要的時(shí)候,就把ImageView移動到需要的地方,再StartAnimation,這樣,就可以實(shí)現(xiàn)爆炸效果。

成都創(chuàng)新互聯(lián)公司主營宜昌網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),宜昌h5重慶小程序開發(fā)搭建,宜昌網(wǎng)站營銷推廣歡迎宜昌等地區(qū)企業(yè)咨詢

下面是簡化后的程序的代碼,程序的效果如下:點(diǎn)中屏幕中任意地方,就在點(diǎn)擊地方顯示爆炸效果。

首先是Animation的定義,定義一個Frame Animation,依次播放5幀動畫,每幀動畫持續(xù)時(shí)間為50毫秒:

 
 
 
 
  1. android:oneshot="true">  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.   

接著是主程序代碼:

 
 
 
 
  1. package com.ray.bubble;  
  2. import android.app.Activity;  
  3. import android.content.Context;  
  4. import android.graphics.drawable.AnimationDrawable;  
  5. import android.os.Bundle;  
  6. import android.view.MotionEvent;  
  7. import android.view.View;  
  8. import android.view.Window;  
  9. import android.view.WindowManager;  
  10. import android.view.View.OnTouchListener;  
  11. import android.widget.FrameLayout;  
  12. import android.widget.ImageView;  
  13. public class BubbleExplosion extends Activity {  
  14. private FrameLayout fl;  
  15. private ExplosionView exv1;  
  16. private AnimationDrawable exa1;  
  17. public void onCreate(Bundle savedInstanceState) {  
  18. super.onCreate(savedInstanceState);  
  19. //set full screen  
  20. requestWindowFeature(Window.FEATURE_NO_TITLE);  
  21. getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,  
  22. WindowManager.LayoutParams. FLAG_FULLSCREEN);  
  23. fl = new FrameLayout(this);  
  24. fl.setBackgroundResource(R.drawable.bg);  
  25. exv1 = new ExplosionView(this);  
  26. exv1.setVisibility(View.INVISIBLE);  
  27. exv1.setBackgroundResource(R.anim.explosion);  
  28. exa1 = (AnimationDrawable)exv1.getBackground();  
  29. fl.addView(exv1);  
  30. fl.setOnTouchListener(new LayoutListener());  
  31. setContentView(fl);  
  32. }  
  33. class ExplosionView extends ImageView{  
  34. public ExplosionView(Context context) {  
  35. super(context);  
  36. }  
  37. // 處理爆炸的位置  
  38. public void setLocation(int top,int left){  
  39. this.setFrame(left, top, left+40, top+40);  
  40. }  
  41. }  
  42. class LayoutListener implements OnTouchListener{  
  43. public boolean onTouch(View v, MotionEvent event) {  
  44. //首先,你必須停止播放動畫,如果動畫開始,你不能重復(fù)一遍!  
  45. exv1.setVisibility(View.INVISIBLE);  
  46. exa1.stop();  
  47. float x = event.getX();  
  48. float y = event.getY();  
  49. exv1.setLocation((int)y-20, (int)x-20);  
  50. exv1.setVisibility(View.VISIBLE);  
  51. exa1.start();  
  52. return false;  
  53. }  
  54. }  
  55. }  

配合Android的SurfaceView,Animation可以實(shí)現(xiàn)很好的過渡效果,SurfaceView的用法很簡單。

【編輯推薦】

  1. GameSalad:讓每個人都變成游戲開發(fā)者
  2. Android平臺將迎來虛幻引擎游戲開發(fā)時(shí)代
  3. 國外知名游戲開發(fā)商稱Android平臺比iOS更賺錢
  4. 獨(dú)立手機(jī)游戲開發(fā)者的未來走向
  5. 高效地進(jìn)行Android 游戲開發(fā)

分享文章:Android游戲開發(fā):如何實(shí)現(xiàn)爆炸效果
網(wǎng)站鏈接:http://www.dlmjj.cn/article/dpgejio.html