#!/usr/bin/perl use strict; use SWF::Shape (); use SWF::Sprite(); use SWF::Fill(); SWF::setScale(1.0); print "Content-type: application/x-shockwave-flash\n\n"; my $gradient1 = new SWF::Gradient(); $gradient1->addEntry( 0.0, 255,255,255 ); $gradient1->addEntry( 0.2, 255,255,0 ); $gradient1->addEntry( 0.4, 255,0,0 ); $gradient1->addEntry( 0.6, 255,0,255 ); $gradient1->addEntry( 0.8, 0,0,255 ); $gradient1->addEntry( 1.0, 0,0,0 ); my $s = new SWF::Shape(); my $fill = $s->addFill( $gradient1,0 ); # SWFFILL_LINEAR_GRADIENT ); $fill->scaleTo(0.04); $s->setRightFill( $fill ); #$s->setRightFill( $s->addFill(0xff, 0, 0)); $s->movePenTo(-500,-500); $s->drawLineTo(500,-500); $s->drawLineTo(500,500); $s->drawLineTo(-500,500); $s->drawLineTo(-500,-500); # what's the difference? #my $p = new SWF::MovieClip(); my $p = new SWF::Sprite(); my $i = $p->add($s); for(my $j=0; $j<360; ++$j) { $i->rotate($j); $i->addColor( 1, 10, $j ); $p->nextFrame(); } $p->nextFrame(); my $m = new SWF::Movie(); $i = $m->add($p); $i->moveTo(1500,1000); $i->setName("blah"); $m->setBackground(0xff, 0xff, 0xff); $m->setDimension(3000,2000); $m->output();