// Update is called once per frame void Update() { IsDown = false; if (Input.touches.Length > 0) { foreach (Touch touch in Input.touches) { if (Vector2.Distance(touch.position, transform.position) < radius) { IsDown = true; break; } } } if (HybridInput.IsDebugMode()) { if (Input.GetKey(KeyCode.Mouse0) && Vector2.Distance(Input.mousePosition, transform.position) < radius) { IsDown = true; } } if (IsDown) { Image.color = new Color(Image.color.r, Image.color.g, Image.color.b, 0.6f); } else { Image.color = new Color(Image.color.r, Image.color.g, Image.color.b, 0.5f); } }
// Update is called once per frame void Update() { transform.Translate(new Vector3(HybridInput.GetAxis("Horizontal"), HybridInput.GetAxis("Vertical"), 0f) * Time.deltaTime); if (HybridInput.GetButton("Button")) { r.color = new Color(0, 0, 0); } else { r.color = new Color(1, 1, 1); } }
void Awake() { if (HorizontalAxisName != null && HorizontalAxisName.Length > 0) { HorizontalAxis = new TouchAxis(HorizontalAxisName); HybridInput.Register(HorizontalAxis); } if (VerticalAxisName != null && VerticalAxisName.Length > 0) { VerticalAxis = new TouchAxis(VerticalAxisName); HybridInput.Register(VerticalAxis); } }
// Update is called once per frame void Update() { if (Alive) { InputX = HybridInput.GetAxis("Horizontal"); InputY = HybridInput.GetAxis("Vertical"); var input = new Vector3(InputX, 0.0f, InputY); if (Hunger > 0.0f) { Hunger -= Time.deltaTime * HungerDecayRate; } else { Die(); } float bodyScale = Hunger / 100f + 0.1f; Body.localScale = new Vector3(bodyScale, bodyScale, bodyScale); var horizSpeed = input; horizSpeed.y = 0.0f; if (horizSpeed.magnitude > 0.1f) { var horizDiff = Vector3.SignedAngle(Model.forward, horizSpeed, Vector3.up); float amount = Mathf.Sign(horizDiff) * Mathf.Min(Mathf.Abs(horizDiff), TurnSpeed * Time.deltaTime); Model.Rotate(Vector3.up, amount); anim.SetFloat("LegSpeed", Mathf.Clamp(horizSpeed.magnitude, 0.0f, 1.0f)); if (footStepTimer < Time.time) { PlayRandomSound(footSteps); footStepTimer = Time.time + 0.15f + Random.Range(0.0f, 0.1f); } } else { anim.SetFloat("LegSpeed", 0.0f); } } }
// Update is called once per frame void Update() { if (FingerId == ID_NONE) { if (HybridInput.IsDebugMode() && (Input.GetKeyDown(KeyCode.Mouse0) && Vector2.Distance(Input.mousePosition, transform.position) < Radius)) { FingerId = ID_MOUSE; } foreach (Touch touch in Input.touches) { if (Vector2.Distance(touch.position, transform.position) < Radius) { FingerId = touch.fingerId; } } } Vector3 touchPosition = Vector3.zero; bool foundActiveTouch = false; if (FingerId == ID_MOUSE) { if (Input.GetKey(KeyCode.Mouse0)) { touchPosition = Input.mousePosition; } else { FingerId = ID_NONE; } } else if (FingerId != ID_NONE) { foreach (Touch touch in Input.touches) { if (touch.fingerId == FingerId) { touchPosition = touch.position; foundActiveTouch = true; break; } } if (!foundActiveTouch) { FingerId = ID_NONE; } } Vector3 diff; if (FingerId != ID_NONE) { diff = (touchPosition - transform.position) / Radius; diff.z = 0; if (diff.magnitude > 1.0f) { diff = diff.normalized; } } else { diff = Vector3.zero; } HorizontalAxis.Axis = diff.x; VerticalAxis.Axis = diff.y; Vector2 knobPos = transform.position + diff * Radius; Knob.transform.position = new Vector3(knobPos.x, knobPos.y, Knob.transform.position.z); }
void OnDestroy() { HybridInput.Unregister(HorizontalAxis); HybridInput.Unregister(VerticalAxis); }
void OnDestroy() { HybridInput.Unregister(this); }
void Awake() { HybridInput.Register(this); Label.enabled = ShowLabel; Label.text = ButtonName; }
// Start is called before the first frame update void Start() { HybridInput.SetDebugMode(DebugMode); TouchInputUI.SetActive(DebugMode); }