Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Hỏi về Multi touch in unity 2d
20:07 15-07-2017
1.314 lượt xem
1 bình luận
08:02 17-07-2017
code:
if (Input.GetMouseButton(0)) {
RaycastHit2D hit = Physics2D.Raycast (Camera.main.ScreenToWorldPoint ((Input.mousePosition)), Vector2.zero);
if (hit.collider !=null && hit.collider.name == "Jump" && grounded == true) {
rb.velocity = new Vector2 (rb.velocity.x,jumpHeight*Time.deltaTime);
}
if (hit.collider !=null && hit.collider.name == "Left") {
rb.AddForce (new Vector2 (-moveSpeed, 0));
}
if (hit.collider !=null && hit.collider.name == "Right") {
rb.AddForce (new Vector2 (moveSpeed, 0));
}
}
"Jump", "Left", "Right" là những box collider2d
Code này của mình khi build ra file .APK test trên điện thoại thì trong 1 khoảng thời gian, máy chỉ input vào được 1 nút (Có nghĩa là không thể vừa chạy vừa nhảy được). Mình có chuyển nút "Jump" thành Button, nhưng vào test trong điện thoại thì không được mượt lắm. Vậy ai có cách gì không ạ? Mình chuyển 2 nút "Left", "Right" thành JoyStick liệu có ổn không? Thanks
Bạn có để Input.MultiTouchEnables = true thử chưa ??? Với lại để multitouch mình nghĩ bạn nên tìm hiểu về hàm Input.GetTouch, cái mảng Input.touches với class Touch trong Unity vì nó hỗ trợ bạn xử lý được nhiều cử chỉ tay trên Android với iOs chớ xài GetMouseButton hình như không làm được multiTouches thì phải.