Gói chính thức · Game engine

Phòng nhiều người chơi Phaser qua WebSocket

Ví dụ Phaser 4 hoàn chỉnh: danh sách phòng, bốn chỗ ngồi, chủ phòng, trạng thái sẵn sàng, chat có báo đang gõ và một game phản xạ, tất cả vẽ trên canvas. Người chơi Phaser, trình duyệt và Godot có thể chơi cùng phòng.

  • Gói Lobby chạy ngay trong Phaser: nó chỉ cần pusher-js.
  • Mỗi lượt chạm là một sự kiện phía client trên kênh của phòng; không cần vận hành game server.
  • Tên và chat dùng ô nhập thật đặt trên canvas, nên bộ gõ tiếng Trung, Nhật và Hàn đều dùng được.

Đăng nhập để xem các đoạn mã này với host cụm của riêng bạn. Đăng nhập

  1. Cài đặt

    git clone https://github.com/hibira-io/examples
    cd examples/phaser-lobby
    npm install && npm run dev
  2. Sử dụng

    import Pusher from 'pusher-js';
    import { Room } from '@hibira-io/lobby';
    
    const pusher = new Pusher(import.meta.env.VITE_HIBIRA_APP_KEY, {
      cluster: 'hkg',
      wsHost: 'ws.hibira.io',
      channelAuthorization: { endpoint: '/api/hibira/auth' },
    });
    const room = Room.join(pusher, 'presence-room-42', { capacity: 4 });
    room.on('start', ({ data }) => this.scene.start('Game', data));

Trước khi bắt đầu

  • Bật "Cho phép sự kiện phía client" trong cài đặt ứng dụng để người chơi gửi nước đi và lượt chạm cho nhau.
  • Kênh private và presence cần một auth endpoint trên backend ký các lượt đăng ký bằng secret của ứng dụng, giống như với pusher-js.

Dùng app key từ bảng điều khiển; secret chỉ để trên máy chủ của bạn. Kênh, sự kiện và endpoint xác thực hoạt động y như với Pusher. Tạo tài khoản miễn phí →