gpt4 book ai didi

c++ - CINDER_APP_BASIC 中的 Lib Cinder 方法设置{}

转载 作者:行者123 更新时间:2023-11-28 06:59:04 27 4
gpt4 key购买 nike

当我的程序启动时,它必须在背景上显示一个圆圈。我还必须控制所有显示圈。为此,我使用了 class VertexControllerclass Vertex。在 Vertex 我有构造函数:

Vertex::Vertex(const ci::Vec2f & CurrentLoc){

vColor = Color(Rand::randFloat(123.0f),Rand::randFloat(123.0f),Rand::randFloat(123.0f));
vRadius = Rand::randFloat(23.0f);
vLoc = CurrentLoc;
}

VertexController 中我有

VertexController::VertexController()
{
Vertex CenterVertex = Vertex(getWindowCenter());
CenterVertex.draw(); // function-member draw solid circle with random color
}

在我编写的setup{}方法中

void TutorialApp::setup(){
gl::clear(Color(255,204,0));
mVertexController=VertexController();
}

不幸的是,我的方法没有用。我只看到背景。所以主要问题 - 在 CINDER_APP_BASIC 中绘图只能直接在 draw{},update{},setup{} 中进行?如果是,请提出解决方案,否则请说明我的失败之处。

最佳答案

这行代码对我来说没有任何意义:

mVertexController=VertexController();

无论如何,您应该只使用 draw() 函数将圆圈绘制到窗口。这就是为什么默认情况下有 gl::clear(Color(0,0,0)); 来清除背景并从头开始绘制新帧(这是在 OpenGL 中绘制的方式,由Cinder 中的默认设置,有效)。

我建议使用 Vector用于存储所有圆圈的容器(这样你可以通过一些努力动态地添加和删除圆圈),在 VertexController 构造函数中添加第一个,并制作单独的函数 VertexController::draw() 使用 for 循环绘制所有圆圈。

关于c++ - CINDER_APP_BASIC 中的 Lib Cinder 方法设置{},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22763457/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com