引言
你好!我最近一直在研究一个小行星克隆,但是有几个问题,其中一个与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()函数正在被调用,因为从这里 (形状/基本形状)中获取的一个示例执行正确,尽管我不确定为什么代码中显示的值没有执行任何操作!
说明和建议
首先,我要感谢社区,因为我对Stack溢出很陌生,在这里可能至少犯了一个错误。第二,请注意,如果不是肯定的话,问题很可能发生在我输入到DrawTriangle()的值中,而不是我的代码的逻辑部分,雷利卜网站的例子就是这样做的。
编辑
最小可重现性示例:
// 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();
}
}发布于 2021-04-24 20:40:56
好的,我做了一些研究(基本上是向我的朋友寻求帮助),我们的结论是,Raylib的DrawTriangle()函数只接受逆时针方向的值,否则屏幕上就不会画任何东西。以下是我们使用的值:
// draw triangle
DrawTriangle(
{100, 10}, // point a
{10, 100}, // point b
{100, 100}, // point c
BLACK // triangle color
);https://stackoverflow.com/questions/67221420
复制相似问题