83 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
| using UnityEngine;
 | |
| using System.Collections;
 | |
| using HedgehogTeam.EasyTouch;
 | |
| 
 | |
| public class BallRunPlayer : MonoBehaviour {
 | |
| 
 | |
| 	public Transform ballModel;
 | |
| 
 | |
| 	private bool start =false;
 | |
| 	private Vector3 moveDirection;
 | |
| 	private CharacterController characterController;
 | |
| 	private Vector3 startPosition;
 | |
| 	private bool isJump = false;
 | |
| 
 | |
| 	void OnEnable(){
 | |
| 		EasyTouch.On_SwipeEnd += On_SwipeEnd;
 | |
| 	}
 | |
| 
 | |
| 	void OnDestroy(){
 | |
| 		EasyTouch.On_SwipeEnd -= On_SwipeEnd;
 | |
| 	}
 | |
| 
 | |
| 	void Start(){
 | |
| 		characterController = GetComponent<CharacterController>();
 | |
| 		startPosition = transform.position;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	void Update () {
 | |
| 
 | |
| 		if (start){
 | |
| 			moveDirection = transform.TransformDirection(Vector3.forward)* 10f * Time.deltaTime;
 | |
| 			moveDirection.y -= 9.81f * Time.deltaTime;
 | |
| 
 | |
| 			if (isJump){
 | |
| 				moveDirection.y = 8f;
 | |
| 				isJump = false;
 | |
| 			}
 | |
| 			characterController.Move(  moveDirection);
 | |
| 			ballModel.Rotate( Vector3.right * 400 * Time.deltaTime);
 | |
| 		}
 | |
| 
 | |
| 		if (transform.position.y<0.5){
 | |
| 			start=false;
 | |
| 			transform.position = startPosition;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	void OnCollision(){
 | |
| 		Debug.Log("ok");
 | |
| 	}
 | |
| 
 | |
| 	void On_SwipeEnd (Gesture gesture){
 | |
| 	
 | |
| 		if (start){
 | |
| 			switch (gesture.swipe){
 | |
| 				case EasyTouch.SwipeDirection.DownLeft:
 | |
| 				case EasyTouch.SwipeDirection.UpLeft:
 | |
| 				case EasyTouch.SwipeDirection.Left:
 | |
| 					transform.Rotate(Vector3.up * -90);
 | |
| 			
 | |
| 					break;
 | |
| 				case EasyTouch.SwipeDirection.DownRight:
 | |
| 				case EasyTouch.SwipeDirection.UpRight:
 | |
| 				case EasyTouch.SwipeDirection.Right:
 | |
| 					transform.Rotate(Vector3.up * 90);
 | |
| 					break;
 | |
| 				case EasyTouch.SwipeDirection.Up:
 | |
| 					if (characterController.isGrounded){
 | |
| 						isJump = true;
 | |
| 					}
 | |
| 					break;
 | |
| 			}
 | |
| 		}
 | |
| 		
 | |
| 		
 | |
| 	}
 | |
| 
 | |
| 	public void StartGame(){
 | |
| 		start = true;
 | |
| 	}
 | |
| }
 |