Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Unity - sterownie postacią na platformie Android


Rekomendowane odpowiedzi

Opublikowano

Witam, wiecie może jak sterować postacią na androidzie ?? Poniżej wrzucam skrypt, dzięki któremu poruszam się strzałkami, a skakanie mam spacją.

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour {

	public float heroSpeed;

	public float jumpForce;

	public Transform groundTester;

	public LayerMask layersToMask;

	Animator anim;

	Rigidbody2D rgbBody;

	bool dirToRight = true;

	private bool onTheGround;

	private float radius = 0.1f;

	// Use this for initialization
	void Start () {

		anim = GetComponent<Animator> ();

		rgbBody = GetComponent<Rigidbody2D> ();
	
	}
	
	// Update is called once per frame
	void Update () {
		
		onTheGround = Physics2D.OverlapCircle (groundTester.position, radius, layersToMask);

		float horizontalMove = Input.GetAxis ("Horizontal");

		rgbBody.velocity = new Vector2 (horizontalMove * heroSpeed, rgbBody.velocity.y);

		if(Input.GetKeyDown(KeyCode.Space) && onTheGround){
			rgbBody.AddForce(new Vector2(0f, jumpForce));
			anim.SetTrigger("jump");
		}

		anim.SetFloat ("speed", Mathf.Abs (horizontalMove));

		if (horizontalMove < 0 && dirToRight){
			Flip();
		}

		if (horizontalMove > 0 && !dirToRight) {
			Flip();
		}

	}

	void Flip()
	{
		dirToRight = !dirToRight;
		
		Vector3 heroScale = gameObject.transform.localScale;
		
		heroScale.x *= -1;
		
		gameObject.transform.localScale = heroScale;
	}
}
Opublikowano

Ja to robię w ten sposób, że dodaje na scenie przyciski: strzałka w górę, dół, lewo, prawo, ewentualnie jakaś spacja, lub strzał. Do tych przycisków podpinam skrypt, którym odwołuje się do skryptu podpiętego do postaci odpowiadającego za sterowanie, a w tym skrypcie na sterowanie tworze osobne funkcje typu: void lewo(), void prawo()... itd. a skryptami podpiętymi pod przyciski odwołuje się do tych funkcji. Mniej więcej wygląda to tak:

Jeżeli input.gettouch to void lewo() ( oczywiście to nie zadziała :P )

Ogólnie przyda Ci się to:

 

http://docs.unity3d.com/ScriptReference/Input.GetTouch.html

Powodzenia :D

2cf6pe0.jpg


"Hmm jak by to powiedzieć... Moje pierwsze wrażenie o grupie... Nie lubię was..." - Kakashi


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...