PHP Velho Oeste 2024

SWFMorph::__construct

(PHP 5 < 5.3.0, PECL ming SVN)

SWFMorph::__construct新規に SWFMorph オブジェクトを作成する

説明

SWFMorph::__construct ( void )
警告

この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。

新しい SWFMorph オブジェクトを作成します。

"shape tween" とも呼ばれます。これは、趣味の悪いねじれたもので コンピュータを息詰まらせてしまいます。なんと楽しいことだ!

この単純な例は、大きな赤い四角形を小さな青い黒枠の四角形に変形します。

例1 swfmorph() の例

<?php
  $p 
= new SWFMorph();

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

  
/* Note that this is backwards from normal shapes (left instead of right).
     I have no idea why, but this seems to work.. */

  
$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