Faire bouger un objet avec le doigt sur Android
Faire bouger un objet avec le doigt sur Android
Bonjour à tous,
Je suis actuellement en train d'essayer de faire un jeu (très simple) de "basketball". J'aimerais pouvoir tirer la balle en faisant glisser mon doigt sur l'écran ... Cela fait maintenant 2 jours que je suis en train de regarder sur différents forums comment je peux réussir à bouger mon ballon dans les 3 axes (x,y,z) tout en le faisant avec le tactile d'un téléphone Android.
J'ai regarder de nombreux (vous imaginez pas le nombre) posts, essayer plusieurs codes (c#), faire des modifications dessus mais rien à faire, je n'y arrive pas ! C'est pour cela que je viens demander de l'aide sur ce forum français car l'anglais et moi ça fais deux .
Merci de vos réponses!
Je suis actuellement en train d'essayer de faire un jeu (très simple) de "basketball". J'aimerais pouvoir tirer la balle en faisant glisser mon doigt sur l'écran ... Cela fait maintenant 2 jours que je suis en train de regarder sur différents forums comment je peux réussir à bouger mon ballon dans les 3 axes (x,y,z) tout en le faisant avec le tactile d'un téléphone Android.
J'ai regarder de nombreux (vous imaginez pas le nombre) posts, essayer plusieurs codes (c#), faire des modifications dessus mais rien à faire, je n'y arrive pas ! C'est pour cela que je viens demander de l'aide sur ce forum français car l'anglais et moi ça fais deux .
Merci de vos réponses!
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Faire bouger un objet avec le doigt sur Android
Bonjour LubDen,
Peux-tu nous poster un bout de code, des visuels, bref ce que tu as en cours, histoire qu'on sache comment t'orienter, stp?
Aussi, quel type de gamePlay: un swipe, une flèche avec une force, etc
Techniquement, tu vas devoir récupérer un vecteur 2D (swipe à l'écran -> Post de Drakulo aujourd'hui) et le transformer en vecteur 3D. Il te manque donc un axe: la profondeur. Celui-ci devra être déterminé à l'avance selon ton bon vouloir.
Si tu fais une flèche dont tu dois gérer la force, alors tu prédétermines la profondeur pour que le joueur se cale dessus.
Peux-tu nous poster un bout de code, des visuels, bref ce que tu as en cours, histoire qu'on sache comment t'orienter, stp?
Aussi, quel type de gamePlay: un swipe, une flèche avec une force, etc
Techniquement, tu vas devoir récupérer un vecteur 2D (swipe à l'écran -> Post de Drakulo aujourd'hui) et le transformer en vecteur 3D. Il te manque donc un axe: la profondeur. Celui-ci devra être déterminé à l'avance selon ton bon vouloir.
Si tu fais une flèche dont tu dois gérer la force, alors tu prédétermines la profondeur pour que le joueur se cale dessus.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Faire bouger un objet avec le doigt sur Android
Salut,
Tout d'abord merci de ta réponse !!
Pour répondre à tes questions, je ne souhaite pas utiliser une flèche de force donc je pars pour un swipe ! Dans ma tête cela ma parait plutôt clair, la façon dont cela marche mais pour y retranscrire en code, ce n'est pas la même !
Je viens d'essayer d'utiliser le code qui provient du lien que tu m'as conseillé. J'ai essayer quelques trucs et voila mon code :
Grace à cela j'arrive à faire bouger mon ballon et à le faire suivre mon doigt mais pas encore à le bouger sur l'axe Z ... J'y travail, j'éditerais mon code en fonction de mes résultats ! En attendant toute aide pour cela est la bien venue !
Merci de votre aide ! a+
Tout d'abord merci de ta réponse !!
Pour répondre à tes questions, je ne souhaite pas utiliser une flèche de force donc je pars pour un swipe ! Dans ma tête cela ma parait plutôt clair, la façon dont cela marche mais pour y retranscrire en code, ce n'est pas la même !
Je viens d'essayer d'utiliser le code qui provient du lien que tu m'as conseillé. J'ai essayer quelques trucs et voila mon code :
Code : Tout sélectionner
public class Swipe : MonoBehaviour {
private Vector2 startPosition;
private Vector2 endPosition;
private Vector2 currentPosition;
private string text;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.touchCount == 1) {
var touch = Input.touches [0];
switch (touch.phase) {
case TouchPhase.Began:
//On stock le point de départ
startPosition = touch.position;
text = "Positon départ : " + startPosition;
break;
case TouchPhase.Ended:
//Stock point de fin
endPosition = touch.position;
text = "Positon fin : " + endPosition;
break;
case TouchPhase.Moved:
//Stock point de fin
currentPosition = touch.position;
text = "Positon courrante : " + currentPosition;
break;
}
transform.position = Camera.main.ScreenToWorldPoint(new Vector3(currentPosition.x, currentPosition.y, 1));
}
}
void OnGUI(){
GUI.Label (new Rect (10, 10, 500, 200), text);
}
}
Merci de votre aide ! a+
Re: Faire bouger un objet avec le doigt sur Android
Petit up, j'ai éditée ma précédente réponse
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Faire bouger un objet avec le doigt sur Android
Et?
Dans ton code, déjà ce qui frappe c'estDonc ton ballon suivra ton doigt quoi qu'il arrive, il faut déterminer si un shoot a été effectué grâce à tes conditions plus haut, et si c'est le cas, alors le ballon devra suivre la trajectoire déterminée, ton doigt sinon.
Dans ton code, déjà ce qui frappe c'est
Code : Tout sélectionner
transform.position = Camera.main.ScreenToWorldPoint(new Vector3(currentPosition.x, currentPosition.y, 1));
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Faire bouger un objet avec le doigt sur Android
Merci de ta réponse.
En effet dans tout les cas mon ballon suivra mon doigt, et c'est normal ! J'améliore mon code petit à petit, pour le moment le but était juste de réussir à faire suivre la balle en fonction de mon doigt. La suite arrive bientôt !
Bonne soirée.
En effet dans tout les cas mon ballon suivra mon doigt, et c'est normal ! J'améliore mon code petit à petit, pour le moment le but était juste de réussir à faire suivre la balle en fonction de mon doigt. La suite arrive bientôt !
Bonne soirée.
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Faire bouger un objet avec le doigt sur Android
Je ne vois absolument pas comment tu programmes ton gamePlay. Une petite explication serait la bienvenue si tu veux de l'aide plus ciblée, et aussi, je suis intrigué.boubouk50 a écrit :Peux-tu nous poster un bout de code, des visuels, bref ce que tu as en cours, histoire qu'on sache comment t'orienter, stp?
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Faire bouger un objet avec le doigt sur Android
Salut,
Je vais expliquer mon idée pour que ça soit plus claire !
Tout d'abord j'aimerais développer un jeu avec Unity pour améliorer mes compétences avec ce dernier (C# ... ). Je me suis donc tourné vers un jeux de Basketball. Un jeux de lancer de ballon de basket plutôt car j'ai toujours aimé le basket et c'est pour moi une motivation en plus pour développer un petit jeu.
Ce jeu comportera des menus mais cela restera très simple puisque l'objectif est plus le coté "gameplay".
En ce qui concerne le gameplay voici un exemple de ce que j'aimerais faire : https://www.youtube.com/watch?v=aD5NP4M1OdY. PS : La vidéo n'est pas la mienne elle sert d’exemple.
J'aimerais par contre que mon jeu ai plus de possibilités au niveau du ballon : Mettre de l'effet dans un premier temps et pourquoi pas tirer le ballon depuis la droite ou la gauche (sans forcement que ça soit depuis le milieu de l'écran comme sur la vidéo).
Ainsi pour lancer mon ballon j'aimerais utiliser le tactile d'un smartphone. Pour le moment j'arrive à bien gérer le tactile mais c'est plutôt sur les déplacements du ballon que je galère.
Voici le code que j'ai fais dernièrement :
Avec ce code j'arrive plus ou moins à faire bouger mon ballon dans tous les axes mais pas encore comme j'aimerais vraiment. Je galère un peu la dessus et je trouve peu de solution sur internet ou grâce aux tests que j'effectue pour voir comment réagit mon ballon. Je vais réfléchir et tester le coté "force" et distance sur l'axe Z en fonction de la vitesse du swipe et de la distance entre le point de départ et celui de fin.
J'espère avoir été plus clair ! Merci, A+.
Je m'excuse des fautes d'orthographe, ça n'à jamais été mon point fort .
Je vais expliquer mon idée pour que ça soit plus claire !
Tout d'abord j'aimerais développer un jeu avec Unity pour améliorer mes compétences avec ce dernier (C# ... ). Je me suis donc tourné vers un jeux de Basketball. Un jeux de lancer de ballon de basket plutôt car j'ai toujours aimé le basket et c'est pour moi une motivation en plus pour développer un petit jeu.
Ce jeu comportera des menus mais cela restera très simple puisque l'objectif est plus le coté "gameplay".
En ce qui concerne le gameplay voici un exemple de ce que j'aimerais faire : https://www.youtube.com/watch?v=aD5NP4M1OdY. PS : La vidéo n'est pas la mienne elle sert d’exemple.
J'aimerais par contre que mon jeu ai plus de possibilités au niveau du ballon : Mettre de l'effet dans un premier temps et pourquoi pas tirer le ballon depuis la droite ou la gauche (sans forcement que ça soit depuis le milieu de l'écran comme sur la vidéo).
Ainsi pour lancer mon ballon j'aimerais utiliser le tactile d'un smartphone. Pour le moment j'arrive à bien gérer le tactile mais c'est plutôt sur les déplacements du ballon que je galère.
Voici le code que j'ai fais dernièrement :
Code : Tout sélectionner
Vector3 mouvement =Camera.main.ScreenToWorldPoint(new Vector3(currentPosition.x, currentPosition.y, 1));
GetComponent<Rigidbody>().AddForce (mouvement * speed * Time.deltaTime);
J'espère avoir été plus clair ! Merci, A+.
Je m'excuse des fautes d'orthographe, ça n'à jamais été mon point fort .
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Faire bouger un objet avec le doigt sur Android
Alors oui, ton swipe devra te renvoyer deux choses à la fin de celui-ci:
Le temps écoulé et le vecteur directionnel.
Le temps écoulé et la taille du vecteur te donneront la vitesse de la balle au moment du lancer. Le vecteur directionnel normalisé donnera la trajectoire initiale.
N'ayant pas de profondeur sur le swipe 2D, c'est à toi de le déterminer. Ici tu mets 1, mais peut-être ce n'est pas le bon calibrage, le ballon partira peut-être trop haut ou trop bas. Il faudra le fixer par des tests de jeu.
C'est vraiment tout ce que tu as à faire pour le moment.
Le temps écoulé et le vecteur directionnel.
Le temps écoulé et la taille du vecteur te donneront la vitesse de la balle au moment du lancer. Le vecteur directionnel normalisé donnera la trajectoire initiale.
N'ayant pas de profondeur sur le swipe 2D, c'est à toi de le déterminer. Ici tu mets 1, mais peut-être ce n'est pas le bon calibrage, le ballon partira peut-être trop haut ou trop bas. Il faudra le fixer par des tests de jeu.
C'est vraiment tout ce que tu as à faire pour le moment.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation