j'espère avoir posté ceci dans la bonne section, sinon je m'en excuse platement
Voilà mon petit souci du moment,
je suis en train de créer un mini jeu de plateforme sur android et iPhone, mais j'ai un petit souci avec les mouvements du perso
J'utilise le "Mobile Single Stick Control Rig" d'unity, jusque là cela fonctionne très bien
mais je ne veux pas que le joystick bouge dans tous les sens puisque mon perso ne peut aller que de droite à gauche (jeu 2d)
J'ai réussi à dupliquer le bouton de saut pour en faire un bouton de tir, mais je n'arrive pas a faire de meme pour "mouvement à droite" et "mouvement à gauche"
(un peu comme une manette gameboy lol, 2 boutons de direction et 1 bouton saut et 1 bouton tir)
J'espère que vous comprenez mon souci
ci-dessous le script de mon perso...
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class PlayerControler : MonoBehaviour
{
public AudioClip jump;
public Animator anim;
public float speed = 8f;
int block = 1; //Modif
public Transform checkSol;
bool toucheLeSol = false;
float rayonSol = 0.3f;
public LayerMask Sol;
// Use this for initialization
void Start ()
{
anim = GetComponent<Animator> ();
}
void FixedUpdate ()
{
toucheLeSol = Physics2D.OverlapCircle (checkSol.position, rayonSol, Sol);
anim.SetBool ("sol", toucheLeSol);
}
// Update is called once per frame
void Update ()
{
float x = CrossPlatformInput.GetAxis ("Horizontal");
anim.SetFloat ("speed", Mathf.Abs (x));
if (toucheLeSol && CrossPlatformInput.GetButtonDown ("Jump")) {
AudioSource.PlayClipAtPoint(jump, Camera.main.transform.position);
rigidbody2D.AddForce (new Vector2 (0, 1800));
}
if (x > 0) {
transform.Translate (x * speed * Time.deltaTime * block, 0, 0);
transform.eulerAngles = new Vector2 (0, 0);
BackgroundScroller.current.Go ();
}
if (x < 0) {
transform.Translate (-x * speed * Time.deltaTime * block, 0, 0);
transform.eulerAngles = new Vector2 (0, 180);
BackgroundScroller.current.NoGo ();
}
}
void SetBlock(int bck)// Modif
{
block = bck;
}
}