[résolu] Contrôler un Sprite

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
Baguette
Messages : 8
Inscription : 22 Juil 2015 11:46

[résolu] Contrôler un Sprite

Message par Baguette » 22 Juil 2015 11:52

Bonjour,

Je débute avec Unity 5.1, j'ai juste quelques notions en programmation dans divers langages de type Basic.

J'essaye de pouvoir contrôler un simple Sprite en C#.

Le problème c'est que les seuls tutos que je trouve sur Internet ça concerne un Sprite animé (hors le mien ne l'est pas) et donc j'ai tout un tas de lignes de codes qui m'agacent et ne m'intéressent pas pour le moment. Et je n'aime pas taper du code que je ne comprend pas.

Je voudrais juste un morceau de code pour déplacer mon sprite sur l'AXE X ou Y, peu importe, en appuyant sur la flèche gauche ou droite, ni plus ni moins.

Est-ce que quelqu'un pourrait me donner ce petit bout de code ?

Merci d'avance,

Cordialement,
Dernière édition par Baguette le 23 Juil 2015 15:58, édité 1 fois.

Avatar de l’utilisateur
artemisart
Messages : 1893
Inscription : 21 Juin 2011 19:51
Localisation : Centre
Contact :

Re: Contrôler un Sprite

Message par artemisart » 22 Juil 2015 20:40

Salut,

En pseudocode ça donnerai quelque-chose du genre :

Code : Tout sélectionner

void Update ()
{
	if fleche gauche
		transform.Translate (...);
	if fleche droite
		transform.Translate (...);
	// ou mieux avec les axes :
	transform.Translate (axe gauche-droite);
}
Et pour compléter et comprendre le code :P :
http://unity3d.com/learn/tutorials/modu ... list=17117
http://unity3d.com/learn/tutorials/modu ... list=17117
http://unity3d.com/learn/tutorials/modu ... list=17117

Baguette
Messages : 8
Inscription : 22 Juil 2015 11:46

Re: Contrôler un Sprite

Message par Baguette » 23 Juil 2015 15:57

Merci d'avoir pris la peine de me répondre mais j'ai utilisé cette solution qui à l'air de fonctionner à merveille.

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class Controle : MonoBehaviour {

	public float deplacement;

	void Update () {

		if (Input.GetKey (KeyCode.D)) {
			GetComponent<Rigidbody2D>().velocity = new Vector2 (deplacement, GetComponent<Rigidbody2D>().velocity.y);
			Debug.Log ("Avancer");
		}

		if (Input.GetKey (KeyCode.Q)) {
			GetComponent<Rigidbody2D>().velocity = new Vector2 (-deplacement, GetComponent<Rigidbody2D>().velocity.y);
			Debug.Log ("Reculer");
		}
	
	}
}
Il faut bien entendu rajouter la composante RigidBody au Sprite, ce qui était mon cas.

Répondre

Revenir vers « (C#) CSharp »