Raylib DrawTriangle() 用法
Raylib DrawTriangle() usage
简介
您好!我最近一直在研究 Asteroids 克隆,但有一些问题,其中之一与 Raylib 的 DrawTriangle()
函数有关。
代码
// player triangle
static Triangle PlayerTriangle = {
// point positions
{100, 10}, // point A
{10, 100}, // point B
{10, 10}, // point C
// player color
BLACK
};
// player window element
static const WindowElement PlayerElement = {
// element type: triangle
TRIANGLE,
// element data (type Triangle)
&PlayerTriangle
};
问题
然后通过 drawElement()
函数来渲染玩家的 WindowElement
。我确信 Raylib 的 DrawTriangle()
函数正在被调用,因为取自 here(shapes/basic 形状)的示例已正确执行,但我不确定为什么我的代码中显示的值不是 做任何事!
注意与建议
首先,我要感谢社区,因为我是 Stack Overflow 的新手,可能在这里至少犯了一个错误。其次,请注意,问题很可能发生在 values 中,我将 in to DrawTriangle()
,不是我代码的逻辑部分,因为 raylib's website 中的示例有效。
编辑
最小可重现示例:
// dependencies
#include<raylib.h>
#include<stdlib.h>
// driver code
int main(int argc, char** argv)
{
// window width/height
const unsigned int screenWidth = 1000;
const unsigned int screenWidth = 1000;
// initialize window
InitializeWindow(screenWidth, screenHeight, "Amazing Window");
// game loop
while(! WindowShouldClose())
{
// begin drawing
BeginDrawing();
// draw triangle
DrawTriangle(
// triangle vertices
{100, 10},
{10, 100},
{10, 10},
// triangle color
BLUE
);
// end drawing
EndDrawing();
}
}
好的,所以我做了一些研究(基本上是向我的朋友寻求帮助),我们得出结论,Raylib 的 DrawTriangle()
函数只接受逆时针方向的值,否则,屏幕上不会绘制任何内容。以下是我们使用的值:
// draw triangle
DrawTriangle(
{100, 10}, // point a
{10, 100}, // point b
{100, 100}, // point c
BLACK // triangle color
);
简介
您好!我最近一直在研究 Asteroids 克隆,但有一些问题,其中之一与 Raylib 的 DrawTriangle()
函数有关。
代码
// player triangle
static Triangle PlayerTriangle = {
// point positions
{100, 10}, // point A
{10, 100}, // point B
{10, 10}, // point C
// player color
BLACK
};
// player window element
static const WindowElement PlayerElement = {
// element type: triangle
TRIANGLE,
// element data (type Triangle)
&PlayerTriangle
};
问题
然后通过 drawElement()
函数来渲染玩家的 WindowElement
。我确信 Raylib 的 DrawTriangle()
函数正在被调用,因为取自 here(shapes/basic 形状)的示例已正确执行,但我不确定为什么我的代码中显示的值不是 做任何事!
注意与建议
首先,我要感谢社区,因为我是 Stack Overflow 的新手,可能在这里至少犯了一个错误。其次,请注意,问题很可能发生在 values 中,我将 in to DrawTriangle()
,不是我代码的逻辑部分,因为 raylib's website 中的示例有效。
编辑
最小可重现示例:
// dependencies
#include<raylib.h>
#include<stdlib.h>
// driver code
int main(int argc, char** argv)
{
// window width/height
const unsigned int screenWidth = 1000;
const unsigned int screenWidth = 1000;
// initialize window
InitializeWindow(screenWidth, screenHeight, "Amazing Window");
// game loop
while(! WindowShouldClose())
{
// begin drawing
BeginDrawing();
// draw triangle
DrawTriangle(
// triangle vertices
{100, 10},
{10, 100},
{10, 10},
// triangle color
BLUE
);
// end drawing
EndDrawing();
}
}
好的,所以我做了一些研究(基本上是向我的朋友寻求帮助),我们得出结论,Raylib 的 DrawTriangle()
函数只接受逆时针方向的值,否则,屏幕上不会绘制任何内容。以下是我们使用的值:
// draw triangle
DrawTriangle(
{100, 10}, // point a
{10, 100}, // point b
{100, 100}, // point c
BLACK // triangle color
);