collision detection

by bob » Sat, 26 Mar 2011 08:36:39 GMT


Sponsored Links
 Does android have any libraries to help with collision detection?

Thanks.

-- 



Re: collision detection

by Hari Edo » Sat, 26 Mar 2011 09:34:05 GMT


 


Not going to give us much to go on, right?  What do you mean?
Phone-hits-pavement, finger-thumps-phone, finger-taps-widget,
circle-intersects-with-circle, rectangle-intersects-with-line,
sphere-intersects-with-ray, mesh-intersects-with-mesh, what?

Actually, I guess the answer is simpler than the question.
In all but one of those cases, the answer is generally "no."

-- 


Sponsored Links


Other Threads

1. About error:Argument must not be null

Hi


When i click the playvideo button.I got "Argument must not be null"
Error,Heres my code

*

package* com.IW.*VedioPlayer*;

 *im**port* android.app.Activity;
*

import* android.graphics.PixelFormat;
*

import* android.media.MediaPlayer;
*

import* android.media.MediaPlayer.OnBufferingUpdateListener;
*

import* android.media.MediaPlayer.OnCompletionListener;
*

import* android.media.MediaPlayer.OnErrorListener;
*

import* android.os.Bundle;
*

import* android.util.Log;
*

import* android.view.SurfaceHolder;
*

import* android.view.SurfaceView;
*

import* android.view.View;
*

import* android.webkit.URLUtil;
*

import* android.widget.EditText;
*

import* android.widget.ImageButton;

*

import* java.io.File;
*

import* java.io.FileOutputStream;
*

import* java.io.IOException;
*

import* java.io.InputStream;
*

import* java.net.URL;
*

import* java.net.URLConnection;

*

public* *class* VedioPlayer *extends* Activity *implements* OnErrorListener,

OnBufferingUpdateListener, OnCompletionListener,

MediaPlayer.OnPreparedListener, SurfaceHolder.Callback {

*private* *static* *final* String *TAG* = "VideoPlayer";

*private* MediaPlayer mp;

*private* SurfaceView mPreview;

*private* EditText mPath;

*private* SurfaceHolder holder;

*private* ImageButton mPlay;

*private* ImageButton mPause;

*private* ImageButton mReset;

*private* ImageButton mStop;

*private* String current;

/**

* Called when the activity is first created.

*/

*public* *void* onCreate(Bundle icicle) {

*super*.onCreate(icicle);

setContentView(R.layout.*main*);

// Set up the play/pause/reset/stop buttons

mPreview = (SurfaceView) findViewById(R.id.*surface*);

mPath = (EditText) findViewById(R.id.*path*);

mPlay = (ImageButton) findViewById(R.id.*play*);

mPause = (ImageButton) findViewById(R.id.*pause*);

mReset = (ImageButton) findViewById(R.id.*reset*);

mStop = (ImageButton) findViewById(R.id.*stop*);

mPlay.setOnClickListener(*new* View.OnClickListener() {

*public* *void* onClick(View view) {

playVideo();

}

});

mPause.setOnClickListener(*new* View.OnClickListener() {

*public* *void* onClick(View view) {

*if* (mp != *null*) {

mp.pause();

}

}

});

mReset.setOnClickListener(*new* View.OnClickListener() {

*public* *void* onClick(View view) {

*if* (mp != *null*) {

mp.seekTo(0);

}

}

});

mStop.setOnClickListener(*new* View.OnClickListener() {

*public* *void* onClick(View view) {

*if* (mp != *null*) {

mp.stop();

mp.release();

}

}

});

// Set the transparency

getWindow().setFormat(PixelFormat.*TRANSPARENT*);

// Set a size for the video screen

holder = mPreview.getHolder();

holder.setCallback(*this*);

holder.setFixedSize(400, 300);

}

*private* *void* playVideo() {

*try* {

*final* String path = mPath.getText().toString();

Log.*v*(*TAG*, "path: " + path);

// If the path has not changed, just start the media player

*if* (path.equals(current) && mp != *null*) {

mp.start();

*return*;

}

current = path;

// Create a new media player and set the listeners

mp = *new* MediaPlayer();

mp.setOnErrorListener(*this*);

mp.setOnBufferingUpdateListener(*this*);

mp.setOnCompletionListener(*this*);

mp.setOnPreparedListener(*this*);

mp.setAudioStreamType(2);

// Set the surface for the video output

mp.setDisplay(mPreview.getHolder().getSurface());

// Set the data source in another thread

// which actually downloads the mp3 or videos

// to a temporary location

Runnable r = *new* Runnable() {

*public* *void* run() {

*try* {

setDataSource(path);

} *catch* (IOException e) {

Log.*e*(*TAG*, e.getMessage(), e);

}

mp.prepare();

Log.*v*(*TAG*, "Duration: ===>" + mp.getDuration());

mp.start();

}

};

*new* Thread(r).start();

} *catch* (Exception e) {

Log.*e*(*TAG*, "error: " + e.getMessage(), e);

*if* (mp != *null*) {

mp.stop();

mp.release();

}

}

}

/**

* If the user has specified a local url, then we download the

* url stream to a temporary location and then call the setDataSource

* for that local file

*

* [EMAIL PROTECTED] path

* [EMAIL PROTECTED] IOException

*/

*private* *void* setDataSource(String path) *throws* IOException {

*if* (!URLUtil.*isNetworkUrl*(path)) {

mp.setDataSource(path);

} *else* {

URL url = *new* URL(path);

URLConnection cn = url.openConnection();

cn.connect();

InputStream stream = cn.getInputStream();

*if* (stream == *null*)

*throw* *new* RuntimeException("stream is null");

File temp = File.*createTempFile*("mediaplayertmp", "dat");

String tempPath = temp.getAbsolutePath();

FileOutputStream out = *new* FileOutputStream(temp);

*byte* buf[] = *new* *byte*[128];

*do* {

*int* numread = stream.read(buf);

*if* (numread <= 0)

*break*;

out.write(buf, 0, numread);

} *while* (*true*);

mp.setDataSource(tempPath);

*try* {

stream.close();

}

*catch* (IOException ex) {

Log.*e*(*TAG*, "error: " + ex.getMessage(), ex);

}

}

}

*public* *void* onError(MediaPlayer mediaPlayer, *int* what, *int* extra) {

Log.*e*(*TAG*, "onError---> what:" + what + " extra:" + extra);

*if* (mediaPlayer != *null*) {

mediaPlayer.stop();

mediaPlayer.release();

}

}

*public* *void* onBufferingUpdate(MediaPlayer arg0, *int* percent) {

Log.*d*(*TAG*, "onBufferingUpdate called ---> percent:" + percent);

}

*public* *void* onCompletion(MediaPlayer arg0) {

Log.*d*(*TAG*, "onCompletion called");

}

*public* *void* onPrepared(MediaPlayer mediaplayer) {

Log.*d*(*TAG*, "onPrepared called");

}

*public* *boolean* surfaceCreated(SurfaceHolder surfaceholder) {

Log.*d*(*TAG*, "surfaceCreated called");

*return* *true*;

}

*public* *void* surfaceChanged(SurfaceHolder surfaceholder, *int* i, *int*j,
*int* k) {

Log.*d*(*TAG*, "surfaceChanged called");

}

*public* *void* surfaceDestroyed(SurfaceHolder surfaceholder) {

Log.*d*(*TAG*, "surfaceDestroyed called");

}

}

Thanks
judy

--~--~---------~--~----~------------~-------~--~----~

2. About camera in android

Hi


   Can anybody please give me a good sample application using camera


Thanks
judy

--~--~---------~--~----~------------~-------~--~----~

3. question about adding external source folders to your project

4. How do I create a MediaPlayer for a resource without using the resId?

5. How to create my own menu?

6. Socket programming error while reading the socke

7. problem when Modifying a xml element with dom