Se connecter

Informatique

Création de Jeux

Sujet : J'aide les gens dans Unity
Pseudo supprimé
Niveau 7
13 février 2014 à 21:48:35

@caelacanthe :
Peut être un jour ferai un post sur UnityScript VS C#.

Et même un petit rapport sur les pièges du C# et des ses anomalies sous Unity3D.

Et pourquoi comment programmer en C++ avec Unity3D.

Est ce que cela servira à quelqu'un. J'en doute.

_-PowerUp-_
Niveau 10
13 février 2014 à 21:49:26

si, quand je désactive la variable sol, le perso ne saute pas, et je ne peut pas sauter en l'air,donc la collision marche bien je pense.

j'ai essayer de mettre float = 100;
et ya aucune diff' :hap:

caelacanthe
Niveau 10
13 février 2014 à 21:50:28

"Peut être un jour ferai un post sur UnityScript VS C#. "

:d) Quel intérêt? Personne n'utilise le unityscript, c'est trop lent. :oui:

"Et même un petit rapport sur les pièges du C# et des ses anomalies sous Unity3D. "

:d) La réflexion qui marche à moitié? Genre, y en a d'autres comme ça? :nah:

caelacanthe
Niveau 10
13 février 2014 à 21:53:55
  1. _-PowerUp-_ Voir le profil de _-PowerUp-_
  2. Posté le 13 février 2014 à 21:49:26 Avertir un administrateur
  3. si, quand je désactive la variable sol, le perso ne saute pas, et je ne peut pas sauter en l'air,donc la collision marche bien je pense.

:d) Fais le test quand même, et si c'est trop dur, essaye avec ce code-ci :

var saut : float = 10;
var jump : bool = true;

function Update () {

if(Input.GetButtonDown("Jump") && hasJump == true )
{
rigidbody2D.AddForce(new Vector2(0f, saut));
hasJump = false;
}
}

qui va faire sauter ton personnage une seule fois, mais au moins tu verras si le principe d'ajouter des forces fonctionne bien, pour isoler le problème. :oui:

caelacanthe
Niveau 10
13 février 2014 à 21:57:47

"Rapport vitesse, aucune différence."

:d) Pardon, ouais, c'est que je ne fais que des jeux avec des algorithmes très compliqués et intensifs, fonctions récursives et recherches dans des tableaux dynamiques etc, et pas trois récupérations d'entrées clavier dans la fonction update, voici pourquoi je suis quelquefois confronté à des problèmes d'exécrable lenteur. :oui:

Enfin je comprends que les gens qui ne font que de petits jeux viennent à imaginer que rapport vitesse, aucune différence, à leur échelle, la différence ne se voit pas. :ok:

_-PowerUp-_
Niveau 10
13 février 2014 à 21:59:31

je vais essayer mais sa detecte bien si le perso est sur le sol, c'est juste que le saut s'effectue trop vite

Pseudo supprimé
Niveau 7
13 février 2014 à 22:00:45

Je vais me mettre à réfléchir sur tes algos et ta façon de les porter sur différents langage la.

Pseudo supprimé
Niveau 7
13 février 2014 à 22:02:16

Lol tu rève :desole:

caelacanthe
Niveau 10
13 février 2014 à 22:02:37
  • _-PowerUp-_ Voir le profil de _-PowerUp-_

* Posté le 13 février 2014 à 21:59:31 Avertir un administrateur
* je vais essayer mais sa detecte bien si le perso est sur le sol, c'est juste que le saut s'effectue trop vite

:d) Genre il retombe trop vite? Il faudrait peut-être bien modifier la valeur de gravité, alors.. :hap:

Si possible en évitant de sombrer dans cette espèce d'impesanteur engourdie qu'on trouve dans tous les mini-jeux basés sur la physique à l'heure actuelle. :oui:

_-PowerUp-_
Niveau 10
13 février 2014 à 22:04:56

C'est bien du javascript ton code caelacanthe ?

j'ais essayé en modifiant de lignes( bool en boolean et jump en hasJump car j'avais des erreurs)

la case hasJump se décoche bien mais le perso ne saute pas :noel:

:merci: de m'aider

_-PowerUp-_
Niveau 10
13 février 2014 à 22:05:28

c'est pas qu'il retombe trop vite, mais il monte trop vite

caelacanthe
Niveau 10
13 février 2014 à 22:09:23

"j'ais essayé en modifiant de lignes( bool en boolean et jump en hasJump car j'avais des erreurs) "

:d) Laisse jump comme il était, ou change de touche, vous n'auriez pas un équivalent de Input.getKeyboardKeyDown(Keycode.SPACE); ? :pf:

_-PowerUp-_
Niveau 10
13 février 2014 à 22:13:38

lorsque je copie ton code sa me met

The name 'bool' does not denote a valid type ('not found').

et

BCE0005: Unknown identifier: 'hasJump'.

pour le bool j'ai remplacé par boolean

caelacanthe
Niveau 10
13 février 2014 à 22:15:11

Oui, pardon, mais pourquoi ne pas te mettre au langage que le plus de gens utilisent? Le c# n'est pas vraiment, disons, plus difficile, surtout à ce niveau. :nah:

_-PowerUp-_
Niveau 10
13 février 2014 à 22:16:44

je programme déjà en C#

C'est Adri qui m'as passé le code en javascript

_-PowerUp-_
Niveau 10
13 février 2014 à 22:19:10

le perso saute bien avec ton code, mais il est toujours trop rapide a monter

Pseudo supprimé
Niveau 7
13 février 2014 à 22:42:53

@_-PowerUp-_:
La masse de ton Rigidbody2D elle est de combien ?

Propriété Rigidbody2D.mass

Pseudo supprimé
Niveau 7
13 février 2014 à 23:59:57

Je viens de vérifier les scripts que l'on t'a filé.
Comme d'hab c'est bourré d'erreurs.
Toutes action sur les rigidBody ou rigidBody2D doivent s'effectuer dans la
méthode FixedUpdate.

var saut : float = 10;
var jump : bool = false;

void Update ()
{
__if(Input.GetButtonDown("Jump") && jump == false )
____jump = true;
}

void FixedUpdate()
{
__if (jump == true)
__{
____rigidbody2D.AddForce(new Vector2(0f, saut));
____jump = false;
}
}

}

Vérifie aussi entre la valeur de saut et de mass du rigidBody.

Bon courage.

-Adridu84-
Niveau 10
14 février 2014 à 00:10:07

Désolé, je suis le seule à programmer en UnityScript ici :rouge:

Oui j'ai baclé le code, pas fait gaffe a mettre le "Fixed" :-d

Pseudo supprimé
Niveau 7
14 février 2014 à 01:46:31

@_-PowerUp-_:
Pour te dépanner.

Je t'ai préparé un asset Unity avec script en C# fonctionnel et les bonne valeurs de masse, gravité et force à appliquée pour ton prob de saut.

Donne moi ton mail en MP si tu souhaites que t'envoie le petit paquet.

Sujet : J'aide les gens dans Unity
   Retour haut de page
Consulter la version web de cette page