📲Client-side distance convert
Trong mỗi game đấu, các đơn vị ui được thể hiện trên màn hình của người chơi thông qua bộ 2 giá trị (distance,y), trong đó:
Distance là độ xa của nhân vật/chướng ngại vật/coins/... so với cột mốc bắt đầu là 0, tính theo đơn vị metre(m).
y là độ cao hiện tại của UI trên màn hình, nằm trong khoảng từ 0-1080(chiều cao tối đa của màn hình) đơn vị px.
Vì góc nhìn nhân vật của mỗi người chơi là cố định, và đơn vị của 2 đại lượng distance và y khác nhau nên sẽ có đoạn convert giữa distance sang px để thấy được vị trí khác nhau của từng distance ở mỗi màn hình của client
Mỗi tick, nhân vật sẽ di chuyển được quãng đường logic là v * dt (m), với đơn vị v(m/s), cũng trong 1 tick đó nhân vật được thể hiện di chuyển tương đối 1 đoạn v(px)(1*), vận tốc nhân vật lúc này được tính theo px là v(px/tick). Như quy định sẵn đối với tick, mỗi 1s sẽ bao gồm 60 tick => Quy đổi đơn vị 1m = 60px.
Ta có thể thay đổi ratio ở công thức (1*) để thay đổi tỉ lệ tương quan giữa metre và pixel .
Last updated