Zurück   Flashforum > Flash > Flash erweitern > Flash Entwicklungsumgebung erweitern

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-06-2006, 20:24   #1 (permalink)
[+]
 
Benutzerbild von André Michelle
 
Registriert seit: Dec 2002
Ort: cologne
Beiträge: 2.271
BitmapItem exportieren

Ich versuche für jedes Bitmap eine SWF zu exportieren.
Dabei wird immer ein Bitmap in der Schleife zum Export freigegeben und dann das SWF exportiert. Mit WAVs konnte ich das schon mit genau diesem Script machen, aber mit Bitmap geht es nicht mehr. JSFL ist eine sehr instabile Geschichte...

Siehe Kommentare. Jemand eine Idee ?

Code:
var doc = fl.getDocumentDOM();

var outputPath = "file:///" + doc.path.substr( 0 , doc.path.indexOf( doc.name ) ).split( "\\" ).join( "/" ) + 'swfs/';

fl.outputPanel.clear(); 

fl.trace( outputPath );

var libItems = fl.getDocumentDOM().library.items;

var lastItem = null;

fl.trace( "convert: " + libItems.length + " items." );

for( var i = 0 ; i < libItems.length ; i++ )
{
	if ( lastItem != null )
	{
		lastItem.linkageExportInFirstFrame = false;
		lastItem.linkageIdentifier = undefined;
		lastItem.linkageExportForAS = false;
	}
	
	var currentItem = libItems[i];
	
	currentItem.linkageExportForAS = true;
	
	fl.trace( "linkageExportForAS set." );
	
	fl.trace( currentItem );	// bitmapItem
	
	currentItem.linkageExportInFirstFrame = true;
	
	//-- AB HIER WIRD NICHTS MEHR AUSGEFÜHRT
	
	fl.trace( "linkageExportInFirstFrame set." );
	
	currentItem.linkageIdentifier = "flag";
	
	fl.trace( "linkageIdentifier set." );
	
	var name = currentItem.name;
	
	fl.getDocumentDOM().exportSWF( outputPath + name.substr( 0, name.indexOf( ".png" ) ) , true ) ;

	lastItem = currentItem;
}

lastItem.linkageIdentifier = undefined;
lastItem.linkageExportForAS = false;

fl.trace( "ready." );
__________________
aM

blog | laboratory | tonfall | processing

Audiotool.com

Geändert von André Michelle (17-06-2006 um 20:26 Uhr)
André Michelle ist offline   Mit Zitat antworten
Alt 18-06-2006, 11:12   #2 (permalink)
[Ernst Reiter]
 
Benutzerbild von Scrawer
 
Registriert seit: Jul 2001
Ort: austria
Beiträge: 3.691
das liegt daran das die linkageExport settings für bitmaps nicht greifen.... du müsstest zuvor deine bitmaps in movieclips packen und diese exportieren... da kannst dann auch die ganze linkageExportForAS, linkageExportInFirstFrame und linkageIdentifier props setzen.

so könnte das aussehen
ActionScript:
  1. var doc = fl.getDocumentDOM();
  2. var outputPath = "file:///" + doc.path.substr( 0 , doc.path.indexOf( doc.name ) ).split( "\\" ).join( "/" ) + 'swfs/';
  3. fl.outputPanel.clear();
  4. var libItems = doc.library.items;
  5.  
  6. for( var i = 0 ; i < libItems.length ; i++ )
  7. {
  8.     if (libItems[i].itemType == "bitmap")
  9.     {
  10.         doc.addItem({x:0, y:0}, libItems[i]);
  11.         var item = doc.convertToSymbol("movie clip", "exportContainer", "top left");
  12.         item.linkageExportForAS = true;
  13.         item.linkageExportInFirstFrame = true;
  14.         item.linkageIdentifier = "flag";
  15.         document.deleteSelection();
  16.         doc.exportSWF(outputPath + libItems[i].name + ".swf", true);
  17.         doc.library.deleteItem( "exportContainer" );       
  18.     }
  19. }
__________________
Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen
m.f.g Scrawer (www.thinkspace.at)
Scrawer ist offline   Mit Zitat antworten
Alt 18-06-2006, 14:42   #3 (permalink)
[+]
 
Benutzerbild von André Michelle
 
Registriert seit: Dec 2002
Ort: cologne
Beiträge: 2.271
Zitat:
das liegt daran das die linkageExport settings für bitmaps nicht greifen
Ich hätte dazu sagen sollen, dass es Flash8 ist. Da kann man Bitmaps zum Export freigeben. Das es in JSFL nicht geht, ist sehr schwach.

Ich löse das jetzt mit einem MovieClip und selectiere ein Bitmap darin an und tausche das in einer Schleife aus.

Solche Probleme sind aber sehr oft mit JSFL. Es ist kein Spass, damit zu arbeiten.

Code:
var doc = fl.getDocumentDOM();

var outputPath = "file:///" + doc.path.substr( 0 , doc.path.indexOf( doc.name ) ).split( "\\" ).join( "/" ) + 'swfs/';

fl.outputPanel.clear(); 

fl.trace( outputPath );

var libItems = fl.getDocumentDOM().library.items;

fl.trace( "convert: " + libItems.length + " items." );

for( var i = 0 ; i < libItems.length ; i++ )
{
	var currentItem = libItems[i];
	
	if( currentItem.itemType == 'bitmap' )
	{	
		fl.getDocumentDOM().selection[0].libraryItem = fl.getDocumentDOM().library.items[i];
		
		var name = fl.getDocumentDOM().library.items[i].name;
	
		fl.getDocumentDOM().exportSWF( outputPath + name.substr( 0, name.indexOf( ".png" ) ) , true ) ;
	}
}


fl.trace( "ready." );
__________________
aM

blog | laboratory | tonfall | processing

Audiotool.com
André Michelle ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele