CPP / JUCE 音频编程框架 - 滑块阵列不工作 - 单个滑块工作
CPP / JUCE Audioprogramming Framework - Array of Sliders not working - Single Slider works
我在编写自定义组件时遇到了一些问题。但是我尝试使用这样的单个滑块实例:
ScopedPointer<Slider> slider001;
ScopedPointer<Slider> slider002;
slider001->setBounds (0 , sliderY , sliderWidth, sliderHeight );
slider002->setBounds (0+ 1*sliderX , sliderY , sliderWidth, sliderHeight );
addAndMakeVisible (slider001 = new Slider ("new slider"));
addAndMakeVisible (slider002 = new Slider ("new slider"));
一切都按预期工作,但是你知道人们很懒,所以我尝试使用数组:
ScopedPointer<Slider> sliderArray[128];
for(int i=0; i==128; i++)
{sliderArray[i]->setBounds (0 +i *sliderX , sliderY , sliderWidth, sliderHeight );}
}
for(int i=0; i==128; i++)
{
addAndMakeVisible (sliderArray[i]= new Slider ("Value"));
sliderArray[i]->setRange (sliderMinimumRange, sliderMaximumRange, sliderRangeStepsize );
sliderArray[i]->setSliderStyle (Slider::LinearBarVertical);
}
现在屏幕只是一片空白。
我尝试用数组替换单个滑块元素并遍历它们,但我完全不知道从哪里开始修复此行为。
谢谢
您的问题在于您配置循环的方式:
for(int i=0; i==128; i++) {}
这可以解释为:
"set i
to 0, and while i == 128
, do {}
then i++
"
您可能想写的是:
for(int i=0; i<128; i++) {}
我在编写自定义组件时遇到了一些问题。但是我尝试使用这样的单个滑块实例:
ScopedPointer<Slider> slider001;
ScopedPointer<Slider> slider002;
slider001->setBounds (0 , sliderY , sliderWidth, sliderHeight );
slider002->setBounds (0+ 1*sliderX , sliderY , sliderWidth, sliderHeight );
addAndMakeVisible (slider001 = new Slider ("new slider"));
addAndMakeVisible (slider002 = new Slider ("new slider"));
一切都按预期工作,但是你知道人们很懒,所以我尝试使用数组:
ScopedPointer<Slider> sliderArray[128];
for(int i=0; i==128; i++)
{sliderArray[i]->setBounds (0 +i *sliderX , sliderY , sliderWidth, sliderHeight );}
}
for(int i=0; i==128; i++)
{
addAndMakeVisible (sliderArray[i]= new Slider ("Value"));
sliderArray[i]->setRange (sliderMinimumRange, sliderMaximumRange, sliderRangeStepsize );
sliderArray[i]->setSliderStyle (Slider::LinearBarVertical);
}
现在屏幕只是一片空白。 我尝试用数组替换单个滑块元素并遍历它们,但我完全不知道从哪里开始修复此行为。
谢谢
您的问题在于您配置循环的方式:
for(int i=0; i==128; i++) {}
这可以解释为:
"set i
to 0, and while i == 128
, do {}
then i++
"
您可能想写的是:
for(int i=0; i<128; i++) {}