Character controls, camera with dead zone, flashlight scale

This commit is contained in:
Иван Кузьменко 2023-08-16 01:20:28 +03:00
parent f307a7ef00
commit bbc3f0821e
7 changed files with 80 additions and 4 deletions

View file

@ -19,12 +19,16 @@ public partial class Flashlight : Node
var playerScreenPosition = playerScreenCenterPosition + Constants.HalfScreenSize;
PlayerCircle.Position = playerScreenPosition;
var d = Camera.FlashlightPosition.DistanceTo(Player.Position);
FlashlightRadius = Mathf.Lerp(Constants.MinFlashlightRadius, Constants.MaxFlashlightRadius,
Mathf.Clamp(d - Constants.MinFlashlightDistance, 0,
Constants.MaxFlashlightDistance - Constants.MinFlashlightDistance) / Constants.MaxFlashlightDistance);
var flashlightScreenPosition = flashlightScreenCenterPosition + Constants.HalfScreenSize;
var flashlightScale = FlashlightRadius / Constants.MaxFlashlightRadius;
Circle.Position = flashlightScreenPosition;
Circle.Scale = new Vector2(flashlightScale, flashlightScale);
var d = Camera.FlashlightPosition.DistanceTo(Player.Position);
if (d <= FlashlightRadius)
Polygon.Visible = false;
else