SWFDisplayItem->setRatio

(no version information, might be only in CVS)

SWFDisplayItem->setRatio -- オブジェクト比を設定する

説明

void swfdisplayitem->setratio ( float ratio )

警告

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

swfdisplayitem->setratio() は、オブジェクト比を ratio に設定します。明らかに、これは morph に対してのみ有用です。

オブジェクトは swfshape()swfbutton()swftext() あるいは swfsprite() となります。オブジェクトは swfmovie->add() を使用して追加されていなければ なりません。

この単純な例では、3 つの同心円をうまく変形させます。

例 1. swfdisplayitem->setname() の例

<?php

  $p
= new SWFMorph();

  
$g = new SWFGradient();
  
$g->addEntry(0.0, 0, 0, 0);
  
$g->addEntry(0.16, 0xff, 0xff, 0xff);
  
$g->addEntry(0.32, 0, 0, 0);
  
$g->addEntry(0.48, 0xff, 0xff, 0xff);
  
$g->addEntry(0.64, 0, 0, 0);
  
$g->addEntry(0.80, 0xff, 0xff, 0xff);
  
$g->addEntry(1.00, 0, 0, 0);

  
$s = $p->getShape1();
  
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  
$f->scaleTo(0.05);
  
$s->setLeftFill($f);
  
$s->movePenTo(-160, -120);
  
$s->drawLine(320, 0);
  
$s->drawLine(0, 240);
  
$s->drawLine(-320, 0);
  
$s->drawLine(0, -240);

  
$g = new SWFGradient();
  
$g->addEntry(0.0, 0, 0, 0);
  
$g->addEntry(0.16, 0xff, 0, 0);
  
$g->addEntry(0.32, 0, 0, 0);
  
$g->addEntry(0.48, 0, 0xff, 0);
  
$g->addEntry(0.64, 0, 0, 0);
  
$g->addEntry(0.80, 0, 0, 0xff);
  
$g->addEntry(1.00, 0, 0, 0);

  
$s = $p->getShape2();
  
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  
$f->scaleTo(0.05);
  
$f->skewXTo(1.0);
  
$s->setLeftFill($f);
  
$s->movePenTo(-160, -120);
  
$s->drawLine(320, 0);
  
$s->drawLine(0, 240);
  
$s->drawLine(-320, 0);
  
$s->drawLine(0, -240);

  
$m = new SWFMovie();
  
$m->setDimension(320, 240);
  
$i = $m->add($p);
  
$i->moveTo(160, 120);

  for (
$n=0; $n<=1.001; $n+=0.01) {
    
$i->setRatio($n);
    
$m->nextFrame();
  }

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