2016-04-04 5 views
0

Ich machte ein Spiel, mit dem Benutzer das Logo meines Unternehmens verkleiden könnte. Das Problem ist, dass ich ein totaler Anfänger bin, und ich stecke auf einer Aufgabe fest, die ziemlich schwierig für mich ist.Flash-Befehle zum Exportieren von Jpg. in Adobe Animate CC

Ich möchte nur das Logo und die Elemente exportieren, die der Benutzer darauf platziert. Jeder Gegenstand ist an einen bestimmten Rahmen gebunden. Jedes Element befindet sich auf einer separaten Seite, die verschoben wird, wenn der Benutzer auf eine Registerkarte auf Seite 1 klickt. Jedes Schlüsselbild, in dem sich ein Element auf dem Logo befindet, verfügt außerdem über eine separate benannte Ebene zum einfachen Katalogisieren und Abrufen.

enter image description here

Das Folgende ist die allgemeine Code:

var myWindowArray = [neckWindow1, eyesWindow1, hatsWindow1, hatsWindow2, accessoriesWindow1, accessoriesWindow2, colorsWindow1, faceWindow1]; 
 
function hideAllWindows(){ 
 
\t for each (var window in myWindowArray){ 
 
\t \t window.x=950 
 
\t } 
 
} 
 
neckButton1.addEventListener(MouseEvent.CLICK, showneckWindow1); 
 
eyesButton1.addEventListener(MouseEvent.CLICK, showeyesWindow1); 
 
hatsButton1.addEventListener(MouseEvent.CLICK, showhatsWindow1); 
 
accessoriesButton1.addEventListener(MouseEvent.CLICK, showaccessoriesWindow1); 
 
colorButton1.addEventListener(MouseEvent.CLICK, showcolorsWindow1); 
 
faceButton1.addEventListener(MouseEvent.CLICK, showfaceWindow1); 
 
accessoriesButton2.addEventListener(MouseEvent.CLICK, showaccessoriesWindow2); 
 
hatsButton2.addEventListener(MouseEvent.CLICK, showhatsWindow2); 
 

 
function showneckWindow1 (event:MouseEvent):void{ 
 
\t hideAllWindows(); 
 
\t neckWindow1.x=387.95 
 
} 
 
function showeyesWindow1 (event:MouseEvent):void{ 
 
\t hideAllWindows(); 
 
\t eyesWindow1.x=387.95 
 
} 
 
function showhatsWindow1 (event:MouseEvent):void{ 
 
\t hideAllWindows(); 
 
\t hatsWindow1.x=387.95 
 
} 
 
function showaccessoriesWindow1 (event:MouseEvent):void{ 
 
\t hideAllWindows(); 
 
\t accessoriesWindow1.x=387.95 
 
} 
 
function showaccessoriesWindow2 (event:MouseEvent):void{ 
 
\t hideAllWindows(); 
 
\t accessoriesWindow2.x=387.95 
 
\t accessoriesWindow2.y=121.10 
 
} 
 
function showcolorsWindow1 (event:MouseEvent):void{ 
 
\t hideAllWindows(); 
 
\t colorsWindow1.x=387.95 
 
} 
 
function showfaceWindow1 (event:MouseEvent):void{ 
 
\t hideAllWindows(); 
 
\t faceWindow1.x=387.95 
 
} 
 
function showhatsWindow2 (event:MouseEvent):void{ 
 
\t hideAllWindows(); 
 
\t hatsWindow2.x=387.95 
 
\t hatsWindow2.y=121.10 
 
}

dann diesen Code Links zu den einzelnen Codefenster wie folgt:

import flash.events.MouseEvent; 
 

 
var myNeckArray = [glasses1, glasses2, glasses3, glasses4, glasses5, glasses6, glasses7, glasses8, glasses9, glasses10, glasses11, glasses12]; 
 
for each (var neck in myNeckArray) { 
 
\t neck.addEventListener (MouseEvent.CLICK, onNeckClick); 
 
} 
 
function onNeckClick (event:MouseEvent):void { 
 
\t MovieClip(parent).eyes_MC.gotoAndStop(event.target.name); 
 
}

Wie kann ich auf die getaggten Keyframes zugreifen und das Bild exportieren? Ist dieser Prozess und der Code ähnlich, wenn ich Benutzern erlauben möchte, beim Exportieren automatisch auf Facebook zu posten?

Antwort

2

Sie können "zeichnen" jede MovieClip-/Sprite zu einem Bitmapdata-Objekt wie folgt aus:

var bitmapData:BitmapData = new BitmapData(myMovieClip.width,myMovieClip.height); 
bitmapData.draw(myMovieClip); 

und die Daten in ein Format wie JPG kodieren, PNG mit as3corelib wie folgt aus:

import com.adobe.images.JPGEncoder; 
var jpgEncoder:JPGEncoder = new JPGEncoder(quality); 
var byteArray:ByteArray = jpgEncoder.encode(bitmapData); 

Wenn Sie dann das Bild lokal speichern möchten, tun Sie dies einfach:

var fileReference:FileReference=new FileReference(); 
fileReference.save(byteArray, ".jpg"); 

Wenn Wenn Sie die Datei auf Facebook teilen möchten, müssen Sie das ByteArray in ein serverseitiges Skript schreiben und es dann in eine Datei auf Ihrem Server schreiben. Geben Sie dann die Datei-URL an Ihre Anwendung zurück und verknüpfen Sie sie mit dem Bild in der Facebook-Post.

So zeichnen Sie die obersten Elternteil Ihres fertigen "benutzerdefiniertes Logo" zu einer Bitmap und folgen Sie den oben genannten Schritten.