[DB] Probleme système de tir 2D

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Répondre
Antheus
Messages : 5
Inscription : 23 Mai 2017 19:49

[DB] Probleme système de tir 2D

Message par Antheus » 23 Mai 2017 20:05

Bonjour, je suis en train de développer un jeu 2D asser simple : on jour une grand mère qui doit tuer des aliens avec son pistolet.
seulement, quand le joueur tire, la balle ne part que du coté prevus à la base ( a droite ).
je pense que c'est du au fait que le personnage tourne grace à l'animateur.
ainssi, comment puis'je utiliser la valeur qui décide de l'endroit où regarde le peronnage dans un script ?
ne sachant pas trop de quel script vous avez besoin,je nen envoi aucun, demandez moi au besoin. :super:
Dernière édition par Antheus le 25 Mai 2017 20:04, édité 1 fois.
8-) :lol:

Avatar de l’utilisateur
evereal
Messages : 109
Inscription : 06 Nov 2015 18:46

Re: Probleme système de tir 2D

Message par evereal » 24 Mai 2017 08:42

Perceval a écrit :Faut arrêter avec ces conneries de gauche et de droite ! Ça veut rien dire ces machins ! Selon comme on est tourné ça change tout !
Je vais supposer que ton jeu est en vue top-down avec une camera dont la direction est bloquée vers le nord.
Si ton projectile part à "droite", tu appliques surement une force ou un déplacement positif sur l'axe X (multiple du vecteur 1,0,0).
A la place tu devrais récupérer la rotation de ta grand mère (transform.rotation) et l'appliquer a ton projectile.

Si tu vx davantage d'aide il faudrait au minimum le bout de code qui gère les tir de ta grand mère.
“La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Probleme système de tir 2D

Message par boubouk50 » 24 Mai 2017 09:30

evereal a écrit :
Perceval a écrit :Faut arrêter avec ces conneries de gauche et de droite ! Ça veut rien dire ces machins ! Selon comme on est tourné ça change tout !
:lol:
evereal a écrit :Je vais supposer que ton jeu est en vue top-down avec une camera dont la direction est bloquée vers le nord. [...]
Si tu vx davantage d'aide il faudrait au minimum le bout de code qui gère les tir de ta grand mère.
Oui, ce serait bien (essentiel en fait) que l'on sache comment ton jeu fonctionne, comment ta mère-grand se tourne via l'Animator, comment cela est géré en code (utilises-tu le forward?). Bref, on ne sait absolument rien de ton jeu ni comment il est fait, alors on peut pas trop t'aider sans supposer, ce qui bien souvent nous fait tourner en bourrique pour un problème tout simple et qui aurait pu être réglé en une seule réponse.
Merci d'être plus précis et plus complet.
"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

Antheus
Messages : 5
Inscription : 23 Mai 2017 19:49

Re: Probleme système de tir 2D

Message par Antheus » 25 Mai 2017 19:57

bon, déja, merci de vos réponses, et dsl de ne pas avoir répondus plus vite.
de plus, dsl si mes messages ne sont pas précis, cest ma premiere fois sur cette communautée

voila le script qui permet le tir :

Code : Tout sélectionner

using UnityEngine;

public class WeaponScript : MonoBehaviour
{

	public Transform shotPrefab;

	public float shootingRate = 0.25f;

	private float shootCooldown;

	void Start()
	{
		shootCooldown = 0f;
	}

	void Update()
	{
		if (shootCooldown > 0)
		{
			shootCooldown -= Time.deltaTime;
		}
	}

	public void Attack(bool isEnemy)
	{
		if (CanAttack)
		{
			shootCooldown = shootingRate;

			var shotTransform = Instantiate(shotPrefab) as Transform;

			shotTransform.position = transform.position;

			ShotScript shot = shotTransform.gameObject.GetComponent<ShotScript>();
			if (shot != null)
			{
				shot.isEnemyShot = isEnemy;
			}

			MoveScript move = shotTransform.gameObject.GetComponent<MoveScript>();
			if (move != null)
			{
				move.direction = this.transform.right;
			}
		}
	}

	public bool CanAttack
	{
		get
		{
			return shootCooldown <= 0f;
		}
	}
}
avez vous aussi besoin du code de la balle ?
Dernière édition par Antheus le 25 Mai 2017 20:11, édité 3 fois.
8-) :lol:

Antheus
Messages : 5
Inscription : 23 Mai 2017 19:49

Re: Probleme système de tir 2D

Message par Antheus » 25 Mai 2017 20:00

voila de plus, l'apparence du jeu . :cote:
Pièces jointes
Captura.PNG
Captura.PNG (7.23 Kio) Consulté 3734 fois
8-) :lol:

Avatar de l’utilisateur
evereal
Messages : 109
Inscription : 06 Nov 2015 18:46

Re: [DB] Probleme système de tir 2D

Message par evereal » 26 Mai 2017 08:37

Salut,
il faudrait voir le code du MoveScript pour être sur mais a mon avis le problème vient du move.direction
“La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”

Antheus
Messages : 5
Inscription : 23 Mai 2017 19:49

Re: [DB] Probleme système de tir 2D

Message par Antheus » 26 Mai 2017 09:50

Ok,je pense que je vais tenter de refaire mon projet, je vous préviens des que j'y arrive, merci de votre aide,en attendant, si vous trouvez la solution, ne vous gênez pas :super:
8-) :lol:

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB] Probleme système de tir 2D

Message par boubouk50 » 29 Mai 2017 12:13

Antheus a écrit :Ok,je pense que je vais tenter de refaire mon projet, je vous préviens des que j'y arrive, merci de votre aide,en attendant, si vous trouvez la solution, ne vous gênez pas :super:
???
Pourquoi refaire?
Tant qu'on aura pas tous les éléments, on ne pourra pas vraiment t'aider. Il nous faut savoir comment le personnage est contrôlé, et comment la balle est orientée. Ce qui n'a pas été donné par le code que tu nous as fourni.
"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

Antheus
Messages : 5
Inscription : 23 Mai 2017 19:49

Re: [DB] Probleme système de tir 2D

Message par Antheus » 29 Mai 2017 12:18

En fait, j'ai trouvé la solution, mais je n'ai pas le temps de l'appliquer en ce moment, du coup, je met en résolu, ou j'attends de l'avoir fait pour vous le montrer ?
8-) :lol:

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB] Probleme système de tir 2D

Message par boubouk50 » 29 Mai 2017 16:00

Ben, le problème est potentiellement résolu pour toi mais pas pour le forum. Tu le mettras en résolu lorsque tu auras posté la solution à ton problème ici.
"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

Répondre

Revenir vers « (C#) CSharp »