[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Swftools-common] Re: [ FIXED ] Creating a Simple Viewer
From: |
Stephen More |
Subject: |
[Swftools-common] Re: [ FIXED ] Creating a Simple Viewer |
Date: |
Thu, 26 Feb 2009 08:58:33 -0500 |
Here is a template that creates a basic viewer in actionscript 3.0.
It compiles with flex.
Feel free to place it anywhere on the swftools web site.
/*
/opt/swftools-2009-02-16-1757/bin/pdf2swf --flashversion=9 --stop
source.pdf -o dest.swf
*/
package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.display.Loader;
import flash.net.URLRequest;
public class Main extends MovieClip
{
private var backBtn:Sprite;
private var fwdBtn:Sprite;
private var loader:Loader;
private var viewport:MovieClip;
public function Main()
{
backBtn = new Sprite();
backBtn.graphics.beginFill( 0x00ff00, 1 );
backBtn.graphics.drawRect( 0, 0, 100, 100 );
backBtn.buttonMode = true;
backBtn.addEventListener( MouseEvent.CLICK, backOne );
var backField:TextField = new TextField();
backField.x = 50;
backField.y = 50;
backField.text = "Prev";
backBtn.addChild( backField );
addChild( backBtn );
fwdBtn = new Sprite();
fwdBtn.x = 100;
fwdBtn.graphics.beginFill( 0xff0000, 1 );
fwdBtn.graphics.drawRect( 0, 0, 100, 100 );
fwdBtn.buttonMode = true;
fwdBtn.addEventListener( MouseEvent.CLICK, fwdOne );
var fwdField:TextField = new TextField();
fwdField.x = 50;
fwdField.y = 50;
fwdField.text = "Next";
fwdBtn.addChild( fwdField );
addChild( fwdBtn );
var request:URLRequest = new URLRequest(
"http://127.0.0.1/dest.swf" );
loader = new Loader();
loader.contentLoaderInfo.addEventListener( Event.INIT, loaded );
loader.load( request );
}
public function loaded(event:Event):void
{
viewport = MovieClip( loader.content );
trace( "Frames: " + viewport.totalFrames );
viewport.y = 100;
addChild( viewport );
}
public function backOne( event:MouseEvent ):void
{
trace( "back: " + event.target );
viewport.prevFrame();
}
public function fwdOne( event:MouseEvent ):void
{
trace( "fwd: " + event.target );
viewport.nextFrame();
}
}
}
-Steve More
On Wed, Feb 25, 2009 at 2:40 PM, wrote:
> I am trying to follow "Appendix A: Creating your own Viewers" on
> http://www.quiss.org/swftools/pdf2swf_usage.html but I am not having
> much luck.
>
> When I try to swfcombine from 2009-02-16-1757 I get error: WARNING
> Didn't find anything named viewport in file. No substitutions will
> occur.
>
> Here is the Simple Viewer code that I have compiled:
>
> package
> {
> import flash.display.MovieClip;
> import flash.display.Sprite;
> import flash.events.Event;
> import flash.events.MouseEvent;
> import flash.text.TextField;
>
> public class Main extends MovieClip
> {
> private var backBtn:Sprite;
> private var fwdBtn:Sprite;
> public var viewport:MovieClip;
>
> public function Main()
> {
> backBtn = new Sprite();
> backBtn.graphics.beginFill( 0x00ff00, 1 );
> backBtn.graphics.drawRect( 0, 0, 100, 100 );
> backBtn.buttonMode = true;
> backBtn.addEventListener( MouseEvent.CLICK, backOne );
>
> var backField:TextField = new TextField();
> backField.x = 50;
> backField.y = 50;
> backField.text = "Prev";
> backBtn.addChild( backField );
> addChild( backBtn );
>
>
> fwdBtn = new Sprite();
> fwdBtn.x = 100;
> fwdBtn.graphics.beginFill( 0xff0000, 1 );
> fwdBtn.graphics.drawRect( 0, 0, 100, 100 );
> fwdBtn.buttonMode = true;
> fwdBtn.addEventListener( MouseEvent.CLICK, fwdOne );
>
> var fwdField:TextField = new TextField();
> fwdField.x = 50;
> fwdField.y = 50;
> fwdField.text = "Next";
> fwdBtn.addChild( fwdField );
> addChild( fwdBtn );
>
>
> viewport = new MovieClip();
> viewport.graphics.beginFill( 0x0000FF, 1 );
> viewport.graphics.drawRect( 0, 0, 200, 200 );
> viewport.graphics.endFill();
> viewport.y = 100;
> addChild( viewport );
>
> }
>
> public function backOne( event:MouseEvent ):void
> {
> trace( "back: " + event.target );
> viewport.prevFrame();
> }
>
> public function fwdOne( event:MouseEvent ):void
> {
> trace( "fwd: " + event.target );
> viewport.nextFrame();
> }
> }
> }
>
>
> Here is the beginning of swfdump:
> [HEADER] File version: 9
> [HEADER] File is zlib compressed. Ratio: 66%
> [HEADER] File size: 1566
> [HEADER] Frame rate: 24.000000
> [HEADER] Frame count: 1
> [HEADER] Movie width: 500.00
> [HEADER] Movie height: 375.00
> [045] 4 FILEATTRIBUTES usenetwork as3 symbolclass
> [04d] 559 METADATA
> [041] 4 SCRIPTLIMITS
> [009] 3 SETBACKGROUNDCOLOR (86/9c/a7)
> [029] 26 SERIALNUMBER
> [02b] 5 FRAMELABEL "Main"
> [052] 907 DOABC "frame1", lazy load
> ....
>
> Thanks for any help in getting this viewer to work.
>
> -Steve More
>