#include <FK/FK.h>
#include <FK/SimpleWindow.h>
int main(int argc, char *argv[])
{
fk_AppWindow window;
fk_AppWindow win;
fk_Sphere sphereA(8,2.0);
fk_Sphere sphere(8, 5.0);
fk_Model modelA,modelB,modelC[5];
fk_Vector posA, posB,posC, vec;
double distance;
int c;
int div;
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[c].setShape(&sphereA);
modelC[c].setMaterial(Yellow);
modelC[c].glMoveTo(c*5.0,30.0,10.0);
window.entry(modelC[c]);
}
window.setSize(800, 600);
window.setBGColor(0.6, 0.7, 0.8);
window.open();
window.setFPS(0);
while(window.update() == true) {
if(win.getSpecialKeyStatus(FK_RIGHT) ==
FKUT_SW_PRESS){
modelA.glTranslate(0.05, 0.0, 0.0);
}else if(win.getSpecialKeyStatus(FK_LEFT) ==
FKUT_SW_PRESS){
modelA.glTranslate(-0.05, 0.0, 0.0);
}
posA = modelA.getPosition();
posB = modelB.getPosition();
vec = posB - posA;
distance = vec.dist();
if(distance < 10.0) {
window.remove(modelB);
} else {
modelA.setMaterial(Blue);
}
}
return 0;
}
Fine Kernel ToolKitというフレームワークを使用しております。
このプログラムはmodelAを動かしてmodelBに当てるとmodelBが消えるというものになっています。
それで、
今回の質問ですが、 modelAがmodelBに衝突したらmodelC[c]も消えるようにしたいです。
どうすればよいか教えていただきたいです。
それとできたらなのですが、modelC[c]はfor文で5個球がでるようになっているのですが、一回の衝突ごとに球が一個ずつ消えるようにしたいです。
回答お待ちしております。