JUCE ViewPort如何

时间:2015-10-12 23:48:30

标签: c++ juce

我有一个名为Obstacle的组件,我使用addAndMakeVisible和setBounds函数将其用作mainContentComponent的组件。我想在窗口上滚动这个障碍组件,关于时间。我正在使用计时器和setBounds函数来执行此操作。

我意识到使用setBounds每次调用paint函数,并且每次调用paint函数时都会创建我的组件。我想使用viewPort类并使用setViewedComponent类将我的组件传递给viewport对象。我使用了API,但没有多少帮助。有人能指出我如何使用ViewPort,在窗口上滚动我的juce :: component吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您认为应该Viewport::setViewedComponent用于此目的是正确的。

例如:

myViewport.setViewedComponent (new MyComponent());

视口将为您处理组件的生命周期。

您没有准确说明您遇到的问题,但常见的错误是忘记设置已查看组件的大小。您可以在班级中使用Component::setSize进行查看。

例如:

MyComponent::MyComponent()
{
    setSize (100, 100);
}

有关Viewport的更多信息,请here
有关Component的更多信息,请访问here