Tom_Kazansky
<b><font color="RoyalBlue"><font face="Lucida Cons
- 28/12/06
- 3,454
- 462
- Thread starter
- #121
Trong hình trên:
caster là điểm của hero khi vừa cast spell, target là điểm "mục tiêu"
A là góc giữa caster và target, gọi là "góc cast"
D là khoảng cách giữa caster và target
Giờ phải đi tìm a b và C
---
Giả sửa tổng thời gian khi bắt đầu move "crescent" này tới lúc nó mất (tới target point) thì là 1 giây, ta dùng 0.04s timer vậy sẽ có 1 / 0.04 = 25 tick
Để tính a, ta dùng D * Sin( góc ), "góc" ở đây sẽ chạy từ 0 -> 90, 25 tick -> mỗi tick góc này sẽ tăng 90 / 25 tạm gọi là góc sin. Vậy ta có a = D * Sin( sin * tick )
Tương tự với b, nhg "D" của b thì là "độ rộng" mà ta cho trước (của Twinmoon hiện nay là 200) -> 200 * Sin( góc ), nhg với góc chạy từ 0 -> 180 -> mỗi tick góc này tăng 180 / 25, tạm gọi là góc "sin2". Vậy ta có b = 200 * Sin( sin2 * tick)
Sau khi có a và b thì ta tìm điểm C.
Đơn giản, chỉ là:
Point with Polar Offset với điểm gốc là caster, khoảng cách là a và góc là A => ta đc điểm C'.
Point with Polar Offset với điểm gốc là C', khoảng cách là b và góc là A+90 ( "crescent" bên trái là +90, còn bên phải là -90, như hình là "crescent" bên trái ) => ta đc điểm C
Sau đó chỉ cần move "crescent dummy" vào C là xong.
--
đến phần deal dmg, để deal dmg, ta pick unit xung quanh C, nhớ là phải có 1 group chứa "những unit đã bị crescent đi qua", điều kiện pick unit thì ngoài các điều kiện thông thường, phải thêm điều kiện: Matching unit is in "group chứa những unit đã bị crescent đi qua" equal to False
--
Vậy là xong.
:


Thank anh Tom

