78 lines
1.9 KiB
C#
78 lines
1.9 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.UI;
|
|
|
|
public class PlayerController : MonoBehaviour
|
|
{
|
|
|
|
void Awake(){
|
|
instance = this;
|
|
}
|
|
|
|
public static PlayerController instance;
|
|
public static Transform t => instance.transform;
|
|
public static Vector3 position=> instance.transform.position;
|
|
public float movingSpeed = 1;
|
|
public float speedIncremental = 0.01f;
|
|
public float verticalSpeed = 0.5f;
|
|
public float rotationRange = 15;
|
|
public bool invert= true;
|
|
|
|
public Text txtScore;
|
|
|
|
void Start()
|
|
{
|
|
|
|
}
|
|
|
|
// float t2=0;
|
|
// Update is called once per frame
|
|
void FixedUpdate()
|
|
{
|
|
// if(t2 < 1){
|
|
// t2+=Time.deltaTime;
|
|
// return;
|
|
// }
|
|
transform.Translate(new Vector3(movingSpeed,0), Space.World);
|
|
|
|
input = Mathf.Lerp(input, dif / inputRange, inputSmoothness);
|
|
|
|
transform.Translate(new Vector3(0,input * verticalSpeed), Space.World);
|
|
transform.localEulerAngles = new Vector3(0,0,input * rotationRange);
|
|
|
|
txtScore.text = (transform.position.x < 0) ? "" : transform.position.x.ToString("n0");
|
|
|
|
movingSpeed += speedIncremental * Time.deltaTime;
|
|
|
|
}
|
|
public float input = 0;
|
|
public float inputSmoothness =0.1f;
|
|
public float inputRange = 200;
|
|
public float dif = 0;
|
|
float startedPos=0;
|
|
|
|
public void OnPointerDown(BaseEventData e){
|
|
PointerEventData ped = (PointerEventData) e as PointerEventData;
|
|
|
|
startedPos = ped.position.y;
|
|
}
|
|
|
|
public void OnPointerDrag(BaseEventData e){
|
|
PointerEventData ped = (PointerEventData) e as PointerEventData;
|
|
|
|
dif = (invert) ? ped.position.y-startedPos: startedPos - ped.position.y;
|
|
}
|
|
|
|
public void OnPointerUp(BaseEventData e){
|
|
dif = 0;
|
|
startedPos = 0;
|
|
}
|
|
|
|
|
|
public void GameOver(){
|
|
Application.LoadLevel(0);
|
|
}
|
|
}
|