$sitDown->addKeyFrame($st1); $sitDown1 = new servo_modelBlank(); $sitDown1->timeWork = $stepTime; $sitDown1->timeFrame = $timeFrame; $sitDown1->repeats = 0; $sitDown1->addKeyFrame($st2); $sitDown2 = new servo_modelBlank(); $sitDown2->timeWork = $stepTime; $sitDown2->timeFrame = $timeFrame; $sitDown2->repeats = 0; $sitDown2->addKeyFrame($st3); $sitDown3 = new servo_modelBlank(); $sitDown3->timeWork = $stepTime; $sitDown3->timeFrame = $timeFrame; $sitDown3->repeats = 0; $sitDown3->addKeyFrame($st4); $tl->addModel($sitDown); $tl->addModel($sitDown1); $tl->addModel($sitDown2); $tl->addModel($sitDown1); $tl->addModel($sitDown2); $tl->addModel($sitDown3); // подсчитать модели - разложить их по таймлайну. $tl->calculateTimeLine(); /* $time=0; $time2=0; for($i=0;$i<sizeof($tl->servoKeys);$i++){ // пауза между фреймами $time=$tl->servoKeys[$i];
// первая модель передвижения---------------------------------------------------------------- $frmPack = array("s1" => array(array("angle" => 0, "time" => 0, "speed" => STL_SPEED_ACCELERATION), array("angle" => 45, "time" => 1000, "speed" => STL_SPEED_NORMAL), array("angle" => 135, "time" => 4000, "speed" => STL_SPEED_DECELERATION), array("angle" => 180, "time" => 5000, "speed" => STL_SPEED_NORMAL)), "s2" => array(array("angle" => 0, "time" => 0, "speed" => STL_SPEED_NORMAL), array("angle" => 180, "time" => 5000, "speed" => STL_SPEED_NORMAL))); // создать модель поведения на основе созданных кадров $model = new servo_modelBlank(); $model->timeWork = 5000; $model->timeFrame = 200; $model->repeats = 1; $model->addKeyFrame($frmPack); $tl->addModel($model); // вторая модель передвижения---------------------------------------------------------------- $frmPack2 = array("s2" => array(array("angle" => 0, "time" => 0, "speed" => STL_SPEED_NORMAL), array("angle" => 180, "time" => 2000, "speed" => STL_SPEED_NORMAL))); $model2 = new servo_modelBlank(); $model2->timeWork = 2000; $model2->timeFrame = 100; $model2->repeats = 0; $model2->addKeyFrame($frmPack2); $tl->addModel($model2); // подсчитать модели - разложить их по таймлайну. $tl->calculateTimeLine(); $time = 0; $time2 = 0; for ($i = 0; $i < sizeof($tl->servoKeys); $i++) { // пауза между фреймами $time = $tl->servoKeys[$i]; if ($time2 > 0) { usleep((int) ($time - $time2 * 1000)); } $time2 = $time; $arrPos = $tl->{$servoTimeline}[$tl->servoKeys[$i]]; if ($arrPos["s1"] != '') { }