Faire un Drag & Shoot

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Stampi
Messages : 6
Inscription : 07 Nov 2020 21:01

Faire un Drag & Shoot

Message par Stampi » 09 Nov 2020 17:23

Salut à tous !

J'ai un projet de jeu Android, je suis totalement débutant mais j'y crois à fond, mon objectif est de faire un jeu de tir à la catapulte en tour par tour multijoueur, et je bloque pas mal sur le début, à savoir, comment lancer le boulet :lol:



L'idée est de faire un Drag and Shoot, c'est à dire que le joueur au doigt tir vers le bas, et suivant la distance et l'angle ça envoie le boulet dans la direction avec la force correspondant à la distance...

Voila le script que j'ai tenté ducoup (un script de débutant !)

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent (typeof (Rigidbody ))]
[RequireComponent (typeof (Collider ))]
public class DragAndShoot : MonoBehaviour
{

    private Vector3 mousePresDownPos;
    private Vector3 mouseReleasePos;
    private Rigidbody rb;
    private bool isShoot;


    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    private void OnMouseDown()
    {
        mousePresDownPos = Input.mousePosition;

    }

    private void OnMouseUp()
    {
        mouseReleasePos = Input.mousePosition;
        Shoot(Force: mousePresDownPos = mouseReleasePos);
    }

    private float forceMultiplier = 3;

    void Shoot (Vector3 Force)
    {
        if (isShoot)
            return;

        rb.AddForce(new Vector3(Force.x, Force.y, z: Force.y) * forceMultiplier);
        isShoot = true;
    }
    // Update is called once per frame
    void Update()
    {
        
    }
}
Mais j'ai plusieurs soucis :
- La sphère part n'importe comment (la direction n'est pas bonne)
- La sphère à l'air de forcément partir dans un axe ( à savoir que j'aimerais pouvoir modifier l'angle de tir)
- à l'heure actuelle j'ai fixé le script sur ma sphère avec un Rigidbody, peut-être vaudrait-il mieux construire une catapulte et poser simplement la sphère ? Je souhaiterais quand même avoir un indicateur de trajectoire de tir, c'est pour ça que je l'ai mis sur la sphère.

Avez vous des conseils pour m'aider ? Je sais que la réponse doit se trouver sur le net, j'ai essayé plusieurs choses inspirées des jeux de Golf 3D, y'a pleins de choses qui ne fonctionnent pas !


Dans l'idée le jeu que je souhaite créer ressemble beaucoup à celui ci dans la mécanique :
https://apkpure.com/fr/catapult-king/co ... ndroid.row


Merci d'avance !

Avatar de l’utilisateur
Max
Newser
Newser
Messages : 8064
Inscription : 30 Juil 2011 13:57
Contact :

Re: Faire un Drag & Shoot

Message par Max » 09 Nov 2020 19:43

Bonsoir,

le code que tu postes est issu visiblement de ce tuto: https://www.youtube.com/watch?v=99yIg-A5eCw
(même si tu l'a un peu tripatouillé).
Ce code fonctionne plutôt bien et va dans le sens de ce que tu cherches à reproduire, mais pour cela il faut que ta camera (donc l'observateur) soit parfaitement derrière le projectile à lancer.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Stampi
Messages : 6
Inscription : 07 Nov 2020 21:01

Re: Faire un Drag & Shoot

Message par Stampi » 09 Nov 2020 20:27

Max a écrit :
09 Nov 2020 19:43
Bonsoir,

le code que tu postes est issu visiblement de ce tuto: https://www.youtube.com/watch?v=99yIg-A5eCw
(même si tu l'a un peu tripatouillé).
Ce code fonctionne plutôt bien et va dans le sens de ce que tu cherches à reproduire, mais pour cela il faut que ta camera (donc l'observateur) soit parfaitement derrière le projectile à lancer.
Oui effectivement, mais j'aimerais que la caméra ordonne la direction, je ne sais pas comment coder ça... J'essaie déjà de coder une simulation de trajectoire mais je suis vraiment nul :lol:

Avatar de l’utilisateur
Max
Newser
Newser
Messages : 8064
Inscription : 30 Juil 2011 13:57
Contact :

Re: Faire un Drag & Shoot

Message par Max » 09 Nov 2020 20:52

Stampi a écrit :
09 Nov 2020 20:27
J'essaie déjà de coder une simulation de trajectoire mais je suis vraiment nul :lol:
non tu n'es pas nul, mais pur un débutant tu t'attaques déjà à quelque chose qui n'est pas simple, loin de là...
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Répondre

Revenir vers « Scripting »