Nhảy tường cho 2D Platformer


14

Tôi đã tìm kiếm một cách để thực hiện nhảy tường trong trò chơi xna của mình, nhưng tôi không thể tìm thấy bất kỳ thông tin nào về nó, ai đó có thể giúp tôi không?

Câu trả lời:


21

Khi người chơi va chạm vào tường trong khi nhảy (hoặc, nếu bạn thích, ngã), hãy bật cờ trong 100 mili giây tiếp theo hoặc do đó gây ra một nỗ lực để nhảy thành công một bước nhảy (bỏ qua mọi kiểm tra tiếp xúc bề mặt) với một tốc độ hợp lý trên trục X theo hướng ra khỏi tường. Hãy nhớ tắt cờ sớm nếu một bước nhảy trong thực tế được bắt đầu.


3
Tôi nghĩ bạn cần sửa đổi câu đầu tiên: "Khi người chơi va chạm vào tường (trong khi họ đang nhảy) ..." nếu không thì người chơi có thể nhảy tường khỏi đứng yên trên mặt đất bên cạnh bức tường, điều đó sẽ không xảy ra hy vọng.
CiscoIPPhone

@CiscoIPPhone: Vâng, cảm ơn. Điều đó sẽ tạo ra một sự thay đổi hành vi kỳ lạ giữa 100 ms sau va chạm và sau đó.
hỗn loạn

2

Tôi thành thật sẽ chỉ cần kiểm tra một điểm. Vì thế:

if (falling AND left_key_pressed AND !point_free(x-1,y))
    doWallJump

Bạn có thể muốn thay đổi y để nói y + sprite_ rắc / 2 (hoặc - tùy thuộc vào hệ tọa độ của bạn) để nó kiểm tra bên trái giữa sprite của bạn thay vì trên cùng (hoặc dưới cùng). Đây là cách N thực hiện kiểm tra tường để nhảy tường (đoạn cuối) .

Sau đó, bạn phải quyết định mức độ chặt chẽ của bạn muốn nhảy tường của bạn. Nếu vận tốc dọc của cú nhảy của bạn vượt qua chiều ngang trước khi người chơi có thể tiếp cận bức tường đó một lần nữa, bạn sẽ không thể nhảy lên cùng một bức tường và sẽ dần dần rơi xuống đáy (như trong trò chơi Mario với trò nhảy tường ). Nếu bạn cho phép chiều ngang đủ yếu để người chơi quay lại tường, anh ấy / cô ấy sẽ có thể tiến lên tường (như trong Meat Boy).

Một cách tiếp cận khác không được đề cập là Super Metroid. Trong trò chơi đó khi bạn chống lại một bức tường, nếu bạn di chuyển khỏi bức tường đó, một hình ảnh động "di chuyển khỏi bức tường" rất ngắn sẽ phát. Nếu bạn nhảy trong hoạt hình đó, bạn sẽ thực hiện một cú nhảy tường. (Super Metroid cũng cho phép người chơi trèo tường bằng cách nhảy tường, nhưng nó đòi hỏi một chút kỹ năng (thực tế mọi thứ về nhảy tường trong Super Metroid đòi hỏi một chút kỹ năng ...).)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.