-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathshapes_lines_bezier.php
67 lines (52 loc) · 2.09 KB
/
shapes_lines_bezier.php
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
63
64
65
66
67
<?php
declare(strict_types=1);
use Nawarian\Raylib\Raylib;
use Nawarian\Raylib\Types\{Color, Vector2};
use function Nawarian\Raylib\{
BeginDrawing,
ClearBackground,
CloseWindow,
DrawLineBezier,
DrawText,
EndDrawing,
GetMousePosition,
InitWindow,
IsMouseButtonDown,
SetConfigFlags,
SetTargetFPS,
WindowShouldClose
};
require_once __DIR__ . '/../../vendor/autoload.php';
// Initialization
//--------------------------------------------------------------------------------------
$screenWidth = 800;
$screenHeight = 450;
SetConfigFlags(Raylib::FLAG_MSAA_4X_HINT);
InitWindow($screenWidth, $screenHeight, 'raylib [shapes] example - cubic-bezier lines');
$start = new Vector2(0, 0);
$end = new Vector2($screenWidth, $screenHeight);
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
//--------------------------------------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) { // Detect window close button or ESC key
// Update
//----------------------------------------------------------------------------------
if (IsMouseButtonDown(Raylib::MOUSE_LEFT_BUTTON)) {
$start = GetMousePosition();
} elseif (IsMouseButtonDown(Raylib::MOUSE_RIGHT_BUTTON)) {
$end = GetMousePosition();
}
//----------------------------------------------------------------------------------
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(Color::rayWhite());
DrawText('USE MOUSE LEFT-RIGHT CLICK to DEFINE LINE START and END POINTS', 15, 20, 20, Color::gray());
DrawLineBezier($start, $end, 2.0, Color::red());
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------