Salve galerinha!
Bem… Estou desenvolvendo um apk android para o controle do PC pelo celular(mouse e teclado)…
A poucos dias baixei um jogo no meu aparelho que tem um Joystick Virtual na tela…(tipo os analogicos como do PS2)…
Além do meu app nao ter nada a ver com jogos(por enquanto)… Eu quero saber se alguem tem algum tutorial de como criar estes “Botões Analogicos Virtuais”…
Fico no aguardo…
Grato pela atenção:!:
Fiquem com DEUS:!:
Edit:
A itenção é que seja + ou - assim
Criar uma classe que extende View que no onDraw desenho o Joystick e no onTouchEvent voce le os movimentos do toque.
Estarei criando um desses pro jogo que estou desenvolvendo.
Cara eu vendo hoje na net Encontrei este…
Já nos ajuda neste nosso trabalho arduo 
Fica com DEUS:!:
E Boa Sorte com o seu jogo!
Galerinha, fiz como o Marky indicou…
Fiz um View na mãozona bruta mesmo e utilizei o metodo onTouch…
Ficou assim:
[code]package lan.controlador;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
public class Joy extends View {
Point pontoFinal, pontoMeio = null;
Paint paint;
int larg = getWidth();
int alt = getHeight();
public Joy(Context context, AttributeSet attrs)
{
super(context, attrs);
pontoFinal = new Point(larg/2, alt/2);
iniciarPaint();
setarListener();
}
public void iniciarPaint(){
paint = new Paint();
paint.setStrokeWidth(2); //Seta a "grossura" do Paint
}
@SuppressLint("DrawAllocation")
@Override
protected void onDraw(Canvas canvas)
{
if(pontoMeio == null){
larg = getWidth();
alt = getHeight();
pontoMeio = new Point(larg/2, alt/2);
}
paint.setColor(Color.GREEN); //Seta a cor do Paint
canvas.drawRect(10, 10, larg-10, alt-10, paint);
paint.setColor(Color.RED); //Seta a cor do Paint
int tam = 15, x = 0, y = 0;
if(pontoFinal.x > 0){
if(pontoFinal.x > larg){
x = larg;
}else{
x = pontoFinal.x;
}
}
if(pontoFinal.y > 0){
if(pontoFinal.y > larg){
y = larg;
}else{
y = pontoFinal.y;
}
}
canvas.drawRect(x-tam, y-tam, x+tam, y+tam, paint);
super.onDraw(canvas);
}
public void setarListener(){
setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
}
if(event.getAction() == MotionEvent.ACTION_MOVE){
pontoFinal.set((int) event.getX(), (int) event.getY());
invalidate();
System.err.println("X: "+getxAxis()+" Y: "+getyAxis());
}
if(event.getAction() == MotionEvent.ACTION_UP){
pontoFinal.set(pontoMeio.x, pontoMeio.y);
invalidate();
}
return true;
}
});
}
public int getxAxis(){
int ret = 0;
if(pontoFinal.x > 0 && pontoFinal.x < larg){
ret = pontoFinal.x - pontoMeio.x;
}
if(pontoFinal.x > larg){
ret = larg/2;
}
if(pontoFinal.x < 0){
ret = 0-(larg/2);
}
return ret;
}
public int getyAxis(){
int ret = 0;
if(pontoFinal.y > 0 && pontoFinal.y < alt){
ret = pontoFinal.y - pontoMeio.y;
}
if(pontoFinal.y > alt){
ret = alt/2;
}
if(pontoFinal.y < 0){
ret = 0-(alt/2);
}
return ret;
}
}
[/code]
Espero que possa ajudar a alguém aii…
Ah! Os getxAxis e getyAxis pegam a posição do “joy”…
Depois implementarei-o para alterar a sensibilidade 
Fiquem com DEUS:!: