Aller au contenu

Joystick onScreen android


Flo_Geek

Recommended Posts

Salu a tous

je suis nouveau sur le forum donc désoler si je poste pas au bonne endroit.

Voila je cherche a développer une application pour contrôler un robot via bluetooth l'application etant fini je voudrais l’améliorer et diriger le robot grâce a un joystick le problème c'est que je n'ai aucune idée de comment mi prendre je débute sous android.

Auriez vous de tuto ou des explication voir même des piste pour créer un joystick on screen ??

Merci d'avance :)

Lien vers le commentaire
Partager sur d’autres sites

J'ai toujours été admiratif face à tout ce qui se fait en robotique sans jamais oser m'y mettre. Je vais lire le sujet que tu nous as donné, ça me donnera peut être des idées.

On peut avoir une idée du budget approximatif ?

Pour ton joystick ça va être du dessin à l'écran et récupération d'évènements, d'une distance du doigt par rapport à un point central, etc.

Tu as 2 solutions qui s'offrent à toi :

- Utiliser de l'OpenGl : c'est un peu écraser une mouche avec un lance-roquette, pas forcément utile dans ton cas puisque ça tu n'as vraiment pas grand chose à afficher à l'écran. Mais si tu connais déjà, ça sera surement plus rapide.

- Utiliser Canvas : La meilleure solution selon moi. Regarde du côté de la classe "SurfaceView" qui est un composant d'UI qui te permet de dessiner et récupérer les évènements qui te permettront de gérer tout ça. Je ne peux pas te donner beaucoup plus de détails, l'ayant très peu utiliser, mais il existe pas mal de tutoriels sur internet.

Lien vers le commentaire
Partager sur d’autres sites

Ok merci je regarde sa

pour le budget je ne sais plus je dirait une centaine d'euros mais je pense qu'il y a moyen de le construire pour moins chère

J'ai commencer a regarder les SurfaceView j'ai trouver pas mal de ressource mais en anglais

PS:Lord Yu voila la video final:

Lien vers le commentaire
Partager sur d’autres sites

Voila les debut du code:

package Flo.com.joy;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.view.SurfaceView;
import android.view.View;
public class GameJoystick extends View
{
private Bitmap Joystick_bg;
private Bitmap Joystick;

public GameJoystick(Context context)
{
 super(context);
 Joystick_bg = BitmapFactory.decodeResource(getResources(), R.drawable.joystick_bg);
 Joystick = BitmapFactory.decodeResource(getResources(), R.drawable.joystick);

}
protected void onDraw(Canvas canvas)
{
 canvas.drawColor(Color.BLACK);
 canvas.drawBitmap(Joystick_bg, 0, 0, null);
 canvas.drawBitmap(Joystick, 0, 0, null );
}

}

et voila le Screenshots en pièce jointe première question :

et il possible de centré le "pad" par rapport au fond??

Auriez vous te tutoriel complet sur les Surfaceview de Préférence en français??

Merci d'avance :)

Lien vers le commentaire
Partager sur d’autres sites

J'ai modifier le code et les 2 image son centrer:

public GameJoystick(Context context)
{
 super(context);
 Joystick_bg = BitmapFactory.decodeResource(getResources(), R.drawable.joystick_bg);
 Joystick = BitmapFactory.decodeResource(getResources(), R.drawable.joystick);
 origine_x = 120+((90/2)-(54/2));
 origine_y = 150+((90/2)-(54/2));
}
protected void onDraw(Canvas canvas)
{
 canvas.drawColor(Color.BLACK);
 canvas.drawBitmap(Joystick_bg, 120, 150, null);
 canvas.drawBitmap(Joystick, origine_x, origine_y, null);
}

Maintenant comment faire pour faire bougez l'image centrale??

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...