-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdrawcrosshair.cpp
62 lines (53 loc) · 1.9 KB
/
drawcrosshair.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "MyHUD.h"
#include "Engine/Canvas.h"
#include "Engine/GameViewportClient.h"
void AMyHUD::DrawHUD()
{
Super::DrawHUD();
// Ekranın boyutunu al
FVector2D ViewportSize = FVector2D(GEngine->GameViewport->Viewport->GetSizeXY());
// Crosshair'ın boyutlarını ve orta noktasını hesapla
float CrosshairSize = 10.f;
FVector2D CrosshairPosition(ViewportSize.X / 2.f, ViewportSize.Y / 2.f);
// Crosshair'ın iç kısmını temsil eden boyutları hesapla
float InnerCrosshairSize = CrosshairSize * 0.5f;
float InnerCrosshairOffset = InnerCrosshairSize * 0.5f;
// Crosshair'ı çizmek için kullanılacak çizgi kalınlığı
float LineThickness = 2.f;
// Crosshair'ın dış kısmını yatay olarak çiz
DrawLine(
CrosshairPosition.X - CrosshairSize,
CrosshairPosition.Y,
CrosshairPosition.X + CrosshairSize,
CrosshairPosition.Y,
FLinearColor::White,
LineThickness
);
// Crosshair'ın dış kısmını dikey olarak çiz
DrawLine(
CrosshairPosition.X,
CrosshairPosition.Y - CrosshairSize,
CrosshairPosition.X,
CrosshairPosition.Y + CrosshairSize,
FLinearColor::White,
LineThickness
);
// Crosshair'ın iç kısmını temsil eden yatay çizgiyi çiz
DrawLine(
CrosshairPosition.X - InnerCrosshairSize - InnerCrosshairOffset,
CrosshairPosition.Y,
CrosshairPosition.X + InnerCrosshairSize - InnerCrosshairOffset,
CrosshairPosition.Y,
FLinearColor::Black,
LineThickness
);
// Crosshair'ın iç kısmını temsil eden dikey çizgiyi çiz
DrawLine(
CrosshairPosition.X,
CrosshairPosition.Y - InnerCrosshairSize - InnerCrosshairOffset,
CrosshairPosition.X,
CrosshairPosition.Y + InnerCrosshairSize - InnerCrosshairOffset,
FLinearColor::Black,
LineThickness
);
}