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ình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Huy Tran đã bình luận 08:02 17-07-2017

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.

Câu hỏi mới nhất