歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 3D物體的碰撞——正方體的碰撞

3D物體的碰撞和2D類似,都是根據坐標來計算物體的距離,判斷是否碰撞。下面舉個簡單的列子吧,我這個列子比較局限,簡單,只是為了說明這個方法而已,大家可以參照方法進行改進,下面看看代碼吧。

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:id="@+id/main_liner"  
  5.     android:layout_width="fill_parent"  
  6.     android:layout_height="fill_parent">  
  7. </LinearLayout>  
  1. package yy.cal;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.widget.LinearLayout;  
  6.   
  7. public class GLSurfaceViewActivity extends Activity {  
  8.     private MySurfaceView mSurfaceView;//聲明MySurfaceView對象  
  9.     public void onCreate(Bundle savedInstanceState) {  
  10.         super.onCreate(savedInstanceState);  
  11.         setContentView(R.layout.main);       
  12.         mSurfaceView=new MySurfaceView(this);//創建MySurfaceView對象  
  13.         mSurfaceView.requestFocus();//獲取焦點  
  14.         mSurfaceView.setFocusableInTouchMode(true);//設置為可觸控  
  15.         LinearLayout ll=(LinearLayout)this.findViewById(R.id.main_liner);//獲得線性布局的引用  
  16.         ll.addView(mSurfaceView);  
  17.     }  
  18.     @Override  
  19.     protected void onPause() {  
  20.         // TODO Auto-generated method stub  
  21.         super.onPause();  
  22.         mSurfaceView.onPause();  
  23.     }  
  24.     @Override  
  25.     protected void onResume() {  
  26.         // TODO Auto-generated method stub  
  27.         super.onResume();  
  28.         mSurfaceView.onResume();  
  29.     }    
  30. }  
Copyright © Linux教程網 All Rights Reserved