Quantcast
Channel: Latest Questions on Unity Answers
Viewing all articles
Browse latest Browse all 171066

How do I get gui.buttons mapped to movement for tablet?

$
0
0
I want to port a project to my tablet. Its a 2D side scroll-er with three controls left right and attack. I have pc controls all down, but I want to make them work with gui buttons. I tried several ways, but I always end up with one error. My Code using System.Collections; using SpriteFactory; public class player : MonoBehaviour { public float speed = 1.0f; private Transform thisTransform; private Sprite sprite; private bool flipped; // Use this for initialization void Awake () { thisTransform = transform; sprite = (Sprite)GetComponent(typeof(Sprite)); } // Update is called once per frame void Update () { Vector3 moveVector = new Vector3(0,0,0); bool moving = false; if(Input.GetKey(KeyCode.A)){ moveVector.x -= 1.0f; moving = true; } if(Input.GetKey(KeyCode.D)){ moveVector.x += 1.0f; moving = true; } if (Input.GetKey(KeyCode.F)) { Attack(); } else { if(!IsAttacking()) { if(moving) { Move(moveVector); } else Stand(); } } } private void Stand() { sprite.Stop(); } private void Move(Vector3 moveVector) { FlipSprite(moveVector.x); moveVector *= speed * Time.deltaTime; thisTransform.position = thisTransform.position + moveVector; sprite.Play("walk"); } private void FlipSprite(float x) { if(x == 0.0f) return; float xDir = Mathf.Sign(x); if(!flipped && xDir < 0.0f) { flipped = true; sprite.SetFlippedState(true, false); } else if(flipped&& xDir > 0.0f) { flipped = false; sprite.SetFlippedState(false, false); } } private void Attack() { if(IsAttacking()) return; sprite.Play("Sword"); } private bool IsAttacking() { if(sprite.IsAnimationPlaying("Sword")) return false; return false; } }

Viewing all articles
Browse latest Browse all 171066

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>