Trying to solve for arrow angles.
This commit is contained in:
@@ -25,7 +25,7 @@ namespace JUI {
|
||||
|
||||
void Draw() override {
|
||||
Color4 debug_color = Colors::Red;
|
||||
float debug_size = 4;
|
||||
float debug_size = 1;
|
||||
|
||||
J2D::FillCircle(debug_color, GetAbsolutePosition(), debug_size, 5);
|
||||
}
|
||||
@@ -56,28 +56,30 @@ namespace JUI {
|
||||
|
||||
|
||||
void Draw() override {
|
||||
|
||||
auto goal_point = goal->Point();
|
||||
auto origin_point = origin->Point();
|
||||
|
||||
using namespace J3ML;
|
||||
Color4 line_color = Colors::Green;
|
||||
float line_size = 4;
|
||||
Color4 line_color = Colors::Blues::DarkBlue;
|
||||
float line_size = 1;
|
||||
|
||||
J2D::DrawLine(line_color, origin->Point(), goal->Point(), line_size);
|
||||
|
||||
Vector2 lookback_dir = goal->Point() - origin->Point();
|
||||
float tri_size = 10;
|
||||
|
||||
Rotation angle = lookback_dir.AimedAngle();
|
||||
Vector2 triangle_base_pt = goal->Point() + (origin->Point().Normalized());
|
||||
|
||||
angle += 10_degrees;
|
||||
J2D::DrawPoint(Colors::Yellow, triangle_base_pt, 4);
|
||||
|
||||
Vector2 fan_vector_left = (Math::Cos(angle), Math::Sin(angle));
|
||||
Vector2 tri_left = triangle_base_pt.Normalized().Rotated90CW()*tri_size;
|
||||
Vector2 tri_right = triangle_base_pt.Normalized().Rotated90CW()*tri_size;
|
||||
Vector2 tri_top = goal->Point();
|
||||
|
||||
Vector2 tri_polys[3] = {
|
||||
origin->Point(),
|
||||
J2D::DrawLine(line_color, tri_top, tri_left, line_size);
|
||||
J2D::DrawLine(line_color, tri_top, tri_right, line_size);
|
||||
|
||||
};
|
||||
|
||||
J2D::FillTriangle(line_color);
|
||||
|
||||
//J2D::FillTriangle();
|
||||
J2D::FillTriangle(line_color, {tri_left, tri_right, tri_top});
|
||||
}
|
||||
protected:
|
||||
Anchor* origin;
|
||||
|
6
main.cpp
6
main.cpp
@@ -180,11 +180,11 @@ JUI::UtilityBar* CreateUtilityBar(JUI::Widget* root) {
|
||||
}
|
||||
}
|
||||
|
||||
auto* ptA = new JUI::Anchor(topbar, {10_px, 20_px});
|
||||
auto* ptA = new JUI::Anchor(topbar, {30_px, 20_px});
|
||||
|
||||
auto* ptB = new JUI::Anchor(demos, UDim2::Center);
|
||||
auto* ptB = new JUI::Anchor(demos, UDim2::BottomRight);
|
||||
|
||||
auto* line = new JUI::ArrowDecorator(topbar, ptA, ptB);
|
||||
auto* line = new JUI::ArrowDecorator(topbar, ptB, ptA);
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user