JUCE ViewPort как

У меня есть компонент под названием Obstacle, и я использую его как компонент из моего mainContentComponent, используя функции addAndMakeVisible и setBounds. Я хочу прокручивать этот компонент препятствия по моему окну относительно времени. Для этого я использую функцию таймера и setBounds.

Я понимаю, что использование setBounds вызывает функцию рисования каждый раз, и что мой компонент создается каждый раз, когда вызывается функция рисования. Я хотел бы использовать класс viewPort и передать свой компонент в объект окна просмотра, используя класс setViewedComponent. Я использовал API, но мало что помогло. Может ли кто-нибудь указать мне примеры того, как использовать ViewPort для прокрутки моего juce::component по окну?

Большое спасибо.


person Rithesh    schedule 12.10.2015    source источник
comment
Вам помог мой ответ? Если да, отметьте его как принятый или укажите, почему ответа недостаточно.   -  person OMGtechy    schedule 24.10.2015


Ответы (1)


Вы правы, думая, что для этой цели следует использовать Viewport::setViewedComponent.

Например:

myViewport.setViewedComponent (new MyComponent());

Окно просмотра будет обрабатывать время жизни компонента для вас.

Вы не указываете, какая именно проблема у вас возникла, но распространенная ошибка — забыть установить размер просматриваемого компонента. Вы можете сделать это с Component::setSize внутри вашего класса для просмотра.

Например:

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

Дополнительную информацию о Viewport можно найти здесь.
Дополнительную информацию о Component можно найти здесь.

person OMGtechy    schedule 18.10.2015