ページ 11

forループができてない

Posted: 2014年2月26日(水) 21:29
by るる

コード:

#include <FK/FK.h>
#include <FK/SimpleWindow.h>

int main(int argc, char *argv[])
{
fk_AppWindow window;
fk_Sphere sphereA(8,2.0);
fk_Sphere sphere(8, 5.0);
fk_Model modelA,modelB,modelC;
fk_Vector posA, posB, vec;
double distance;
int c;

modelA.setShape(&sphere);
modelA.setMaterial(Green);
modelA.glMoveTo(-20.0, 2.0, 0.0);
window.entry(modelA);

modelB.setShape(&sphere);
modelB.setMaterial(Yellow);
modelB.glMoveTo(0.0, -2.0, 0.0);
window.entry(modelB);


for(c = 0; c < 5; c++){
modelC.setShape(&sphereA);
modelC.setMaterial(Yellow);
modelC.glMoveTo(c*5.0,30.0,10.0);
window.entry(modelC);

}
window.setSize(800, 600);
window.setBGColor(0.6, 0.7, 0.8);
window.open();
window.setFPS(0);

while(window.update() == true) {
modelA.glTranslate(0.05, 0.0, 0.0);

posA = modelA.getPosition();
posB = modelB.getPosition();
vec = posB - posA; 
distance = vec.dist(); 

if(distance < 10.0) {
modelA.setMaterial(Red);
} else {
modelA.setMaterial(Green);
}
}

return 0;
}


Fine Kernel ToolKit というフレームワークを使用しています。
25行目の
for(c = 0; c < 5; c++){
modelC.setShape(&sphereA);
modelC.setMaterial(Yellow);
modelC.glMoveTo(c*5.0,30.0,10.0);
window.entry(modelC);

}
ここなのですが、ループさせて5個球を出すようにしたいのですが、一つしかでません。
どこが間違えていて、どうしたら球が五個でるか教えていただきたいです。
お願いします。

Re: forループができてない

Posted: 2014年2月26日(水) 21:37
by Milla

コード:

fk_Model modelA,modelB,modelC[5];

for(c = 0; c < 5; c++)
{
        modelC[c].setShape(&sphereA);
        modelC[c].setMaterial(Yellow);
        modelC[c].glMoveTo(c*5.0,30.0,10.0);
        window.entry(modelC[c]);
}

フレームワークはわかりませんが、こうではないかなとエスパーしてみます。

Re: forループができてない

Posted: 2014年2月26日(水) 21:47
by るる
そのとおりでした!
いやーほんとに助かりました!
ほんとエスパーでしたw