PHP Velho Oeste 2024

SWFMorph::__construct

(PHP 5 < 5.3.0, PECL ming SVN)

SWFMorph::__constructСоздает новый объект SWFMorph

Описание

SWFMorph::__construct ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Создает новый объект SWFMorph.

Также называется "анимация формы". Это позволяет вам делать эти "липкие скручивающие вещи", которые заставят ваш компьютер тормозить. О, боже!

Примеры

Этот простой пример превратит большой красный квадрат в меньший синий, граничащий с черным квадратом.

Пример #1 Пример использования swfmorph()

<?php
  $p 
= new SWFMorph();

  
$s $p->getShape1();
  
$s->setLine(0000);

  
/* Обратите внимание, что это отклонение от обычных фигур (слева, а не справа).
     Я понятия не имею, почему это так, но это, кажется, работает.. */

  
$s->setLeftFill($s->addFill(0xff00));
  
$s->movePenTo(-1000,-1000);
  
$s->drawLine(2000,0);
  
$s->drawLine(0,2000);
  
$s->drawLine(-2000,0);
  
$s->drawLine(0,-2000);

  
$s $p->getShape2();
  
$s->setLine(60,0,0,0);
  
$s->setLeftFill($s->addFill(000xff));
  
$s->movePenTo(0,-1000);
  
$s->drawLine(1000,1000);
  
$s->drawLine(-1000,1000);
  
$s->drawLine(-1000,-1000);
  
$s->drawLine(1000,-1000);

  
$m = new SWFMovie();
  
$m->setDimension(3000,2000);
  
$m->setBackground(0xff0xff0xff);

  
$i $m->add($p);
  
$i->moveTo(1500,1000);

  for (
$r=0.0$r<=1.0$r+=0.1) {
    
$i->setRatio($r);
    
$m->nextFrame();
  }

  
header('Content-type: application/x-shockwave-flash');
  
$m->output();
?>

add a note add a note

User Contributed Notes 1 note

up
0
mark omohundro, ajamyajax dot com
15 years ago
<?php
 
// with a few changes to the example above --
  // looks like SWFMorph() can also be used to DISSOLVE a shape...
  // Shape2's fill below is set to same movie setBackground() color,
  // and its setLine() parameter #1 for weight is set to zero.
  // smaller seems to look a little better with this also...

 
$rbg = 0x66; // 102
 
$gbg = 0x99; // 153
 
$bbg = 0xCD; // 205

 
$p = new SWFMorph();

 
$s = $p->getShape1();
 
$s->setLine(0, 0, 0, 0);
 
$s->setLeftFill($s->addFill(0xff, 0, 0));
 
$s->movePenTo(-1000,-1000);
 
$s->drawLine(2000,0);
 
$s->drawLine(0,2000);
 
$s->drawLine(-2000,0);
 
$s->drawLine(0,-2000);

 
$s = $p->getShape2();
 
$s->setLine(0,0,0,0);  // changed from (60,0,0,0)
 
$s->setLeftFill($s->addFill($rbg, $gbg, $bbg));  // new color to match
 
$s->movePenTo(0,-1000);
 
$s->drawLine(1000,1000);
 
$s->drawLine(-1000,1000);
 
$s->drawLine(-1000,-1000);
 
$s->drawLine(1000,-1000);

 
$m = new SWFMovie();
 
$m->setDimension(6000,4000);
 
$m->setBackground($rbg, $gbg, $bbg);

 
$i = $m->add($p);
 
$i->moveTo(3000,2000);

  for (
$r=0.0; $r<=1.0; $r+=0.1) {
   
$i->setRatio($r);
   
$m->nextFrame();
  }
 
$m->add(new SWFAction("stop();"));
 
$m->nextFrame();

 
header('Content-type: application/x-shockwave-flash');
 
$m->output();
?>
To Top