[Unity] Button OnPress 4261 4

O temacie

Autor Pablo135

Zaczęty 6.01.2017 roku

Wyświetleń 4261

Odpowiedzi 4

Pablo135

Pablo135

Użytkownicy
posty8
ProfesjaGracz
  • Zbanowany
Cześć.
Stworzyłem przycisk w Unity ale mam problem. ;(
Jak zrobić by funkcja wywoływała się gdy przycisk jest wciśnięty?
Na początku próbowałem z OnClick ale to wywołuje się tylko raz. :/
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Tylko za pierwszym razem wywołuje się funkcja czy po kliknięciu wywołuje się tylko raz?

Pablo135

Pablo135

Użytkownicy
posty8
ProfesjaGracz
  • Zbanowany
1 raz na kliknięcie. Jak trzymam to i tak tylko raz się wywoła.
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
No to klikaj, a nie trzymaj. Pokaż kod.

Pablo135

Pablo135

Użytkownicy
posty8
ProfesjaGracz
  • Zbanowany
Nie mogę klikać. Gra będzie na Androida a przycisk jest od tego że postać się porusza gdy trzymamy przycisk. Mógłbym zrobić większy ruch i dać do OnClick ale wtedy to będzie niewygodne. :/
Na komputerze trzymam strzałkę i porusza się :D
Chciałbym by było tak samo z przyciskiem :(

using UnityEngine;
using System.Collections;

public class Movement : MonoBehaviour
{
public int Speed = 7;
public int JumpHeight = 3;
bool grounded;

void Update ()
{

if ((Input.GetKeyUp (KeyCode.UpArrow) || Input.GetKeyUp (KeyCode.W)) && grounded == true)
{
Jump ();
}

if ((Input.GetKey (KeyCode.LeftArrow)) || (Input.GetKey (KeyCode.A)))
{
MoveLeft ();
}

if ((Input.GetKey (KeyCode.RightArrow)) || (Input.GetKey (KeyCode.D)))
{
MoveRight ();
}
}

void Jump ()
{
this.GetComponent<Rigidbody2D> ().AddForce (Vector2.up * JumpHeight * 100);
}

void MoveLeft ()
{
this.GetComponent<Rigidbody2D> ().AddForce (Vector2.left * Speed);
}

void MoveRight ()
{
this.GetComponent<Rigidbody2D> ().AddForce (Vector2.right * Speed);
}

void OnCollisionEnter2D(Collision2D coll)
{
grounded = true;
}

void OnCollisionExit2D(Collision2D coll)
{
grounded = false;
}
}


Przyciski wywołują funkcje MoveLeft() i MoveRight()
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry