//////////////
action spin_kreuz1()
{
ENTITY* gear8 = ent_create("add_shape2.mdl",vector(120,0,0),NULL);
set(gear8, VISIBLE);
c_setminmax(me);
pXent_settype(me,PH_RIGID,PH_SPHERE);
var i;
for (i=10; i<360; i+=72) {
gear8.pan = i;
pXent_addshape(me, gear8, PH_BOX);
}
pXent_removeshape(my, 0);
//
var Motion[6] = { 0,0,0,0,0,NX_D6JOINT_MOTION_FREE};
pXcon_add(PH_6DJOINT,me,NULL,0);
pXcon_set6djoint(me,Motion,NULL);
}
//////////////
action spin_kreuz2()
{
ENTITY* gear8 = ent_create("add_shape2.mdl",vector(-120,0,0),NULL);
set(gear8, VISIBLE);
c_setminmax(me);
pXent_settype(me,PH_RIGID,PH_SPHERE);
var i;
for (i=10; i<360; i+=72) {
gear8.pan = i;
pXent_addshape(me, gear8, PH_BOX);
}
pXent_removeshape(my, 0);
//
var Motion[6] = { 0,0,0,0,0,NX_D6JOINT_MOTION_FREE};
pXcon_add(PH_6DJOINT,me,NULL,0);
pXcon_set6djoint(me,Motion,NULL);
}
//////////////
action spin_kreuz3()
{
ENTITY* gear8 = ent_create("add_shape2.mdl",vector(0,120,0),NULL);
set(gear8, VISIBLE);
c_setminmax(me);
pXent_settype(me,PH_RIGID,PH_SPHERE);
var i;
for (i=10; i<360; i+=72) {
gear8.pan = i;
pXent_addshape(me, gear8, PH_BOX);
}
pXent_removeshape(my, 0);
//
var Motion[6] = { 0,0,0,0,0,NX_D6JOINT_MOTION_FREE};
pXcon_add(PH_6DJOINT,me,NULL,0);
pXcon_set6djoint(me,Motion,NULL);
}
//////////////
action spin_kreuz4()
{
ENTITY* gear8 = ent_create("add_shape2.mdl",vector(0,-120,0),NULL);
set(gear8, VISIBLE);
c_setminmax(me);
pXent_settype(me,PH_RIGID,PH_SPHERE);
var i;
for (i=10; i<360; i+=72) {
gear8.pan = i;
pXent_addshape(me, gear8, PH_BOX);
}
pXent_removeshape(my, 0);
//
var Motion[6] = { 0,0,0,0,0,NX_D6JOINT_MOTION_FREE};
pXcon_add(PH_6DJOINT,me,NULL,0);
pXcon_set6djoint(me,Motion,NULL);
}
action test_block()
{
pXent_settype(me,PH_RIGID,PH_CONVEX);
ENTITY* kreuz1 = ent_create ("kreuz.mdl", vector(120,0,0), spin_kreuz1);
ENTITY* kreuz2 = ent_create ("kreuz.mdl", vector(-120,0,0), spin_kreuz2);
ENTITY* kreuz3 = ent_create ("kreuz.mdl", vector(0,120,0), spin_kreuz3);
ENTITY* kreuz4 = ent_create ("kreuz.mdl", vector(0,-120,0), spin_kreuz4);
c_setminmax(me);
pXent_setbodyflag(me,NX_BF_KINEMATIC,1); // aktiviert kinematische Steuerung
// Steuerung Schleife
ANGLE angle;
while(1)
{
if (key_j)
{
angle.pan += -8* time_step;
pXent_rotate(me, nullvector, vector(angle.pan,0,0));
}
if (key_k)
{
angle.pan += 8* time_step;
pXent_rotate(me, nullvector, vector(angle.pan,0,0));
}
wait(1);
}