用于导出 Jpg 的 Flash 命令。在 Adobe Animate CC 中
Flash Commands for Exporting Jpg. in Adobe Animate CC
我制作了一款游戏,允许用户装扮我公司的徽标。问题是我是一个完全的编码新手,而且我被困在一项对我来说非常困难的任务上。
我只想导出徽标和用户放在上面的项目。每个项目都绑定到一个特定的框架。每个项目都在一个单独的页面中,当用户单击第 1 页上的选项卡时,该页面会移动。徽标上项目所在的每个关键帧也有一个单独的命名层,以便于编目和检索。
以下是通用代码:
var myWindowArray = [neckWindow1, eyesWindow1, hatsWindow1, hatsWindow2, accessoriesWindow1, accessoriesWindow2, colorsWindow1, faceWindow1];
function hideAllWindows(){
for each (var window in myWindowArray){
window.x=950
}
}
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{
hideAllWindows();
neckWindow1.x=387.95
}
function showeyesWindow1 (event:MouseEvent):void{
hideAllWindows();
eyesWindow1.x=387.95
}
function showhatsWindow1 (event:MouseEvent):void{
hideAllWindows();
hatsWindow1.x=387.95
}
function showaccessoriesWindow1 (event:MouseEvent):void{
hideAllWindows();
accessoriesWindow1.x=387.95
}
function showaccessoriesWindow2 (event:MouseEvent):void{
hideAllWindows();
accessoriesWindow2.x=387.95
accessoriesWindow2.y=121.10
}
function showcolorsWindow1 (event:MouseEvent):void{
hideAllWindows();
colorsWindow1.x=387.95
}
function showfaceWindow1 (event:MouseEvent):void{
hideAllWindows();
faceWindow1.x=387.95
}
function showhatsWindow2 (event:MouseEvent):void{
hideAllWindows();
hatsWindow2.x=387.95
hatsWindow2.y=121.10
}
然后该代码链接到个人 window 代码如下:
import flash.events.MouseEvent;
var myNeckArray = [glasses1, glasses2, glasses3, glasses4, glasses5, glasses6, glasses7, glasses8, glasses9, glasses10, glasses11, glasses12];
for each (var neck in myNeckArray) {
neck.addEventListener (MouseEvent.CLICK, onNeckClick);
}
function onNeckClick (event:MouseEvent):void {
MovieClip(parent).eyes_MC.gotoAndStop(event.target.name);
}
如何访问标记的关键帧并导出图像?另外,如果我想让用户在导出时自动 post 到 Facebook,这个过程和代码是否相似?
您可以 "draw" 任何 MovieClip/Sprite 像这样的 BitmapData 对象:
var bitmapData:BitmapData = new BitmapData(myMovieClip.width,myMovieClip.height);
bitmapData.draw(myMovieClip);
然后使用 as3corelib 将数据编码为 JPG、PNG 格式,如下所示:
import com.adobe.images.JPGEncoder;
var jpgEncoder:JPGEncoder = new JPGEncoder(quality);
var byteArray:ByteArray = jpgEncoder.encode(bitmapData);
然后如果你想在本地保存图像,只需这样做:
var fileReference:FileReference=new FileReference();
fileReference.save(byteArray, ".jpg");
如果您想在 Facebook 上共享文件,您需要将 ByteArray post 到服务器端脚本,然后将其写入服务器上的文件,然后传递文件 URL返回到您的应用程序并将其用于 link 到 Facebook post.
中的图像
因此,将完成的 "user customized logo" 的最顶层父级绘制到位图中,然后按照上述步骤操作。
我制作了一款游戏,允许用户装扮我公司的徽标。问题是我是一个完全的编码新手,而且我被困在一项对我来说非常困难的任务上。
我只想导出徽标和用户放在上面的项目。每个项目都绑定到一个特定的框架。每个项目都在一个单独的页面中,当用户单击第 1 页上的选项卡时,该页面会移动。徽标上项目所在的每个关键帧也有一个单独的命名层,以便于编目和检索。
以下是通用代码:
var myWindowArray = [neckWindow1, eyesWindow1, hatsWindow1, hatsWindow2, accessoriesWindow1, accessoriesWindow2, colorsWindow1, faceWindow1];
function hideAllWindows(){
for each (var window in myWindowArray){
window.x=950
}
}
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{
hideAllWindows();
neckWindow1.x=387.95
}
function showeyesWindow1 (event:MouseEvent):void{
hideAllWindows();
eyesWindow1.x=387.95
}
function showhatsWindow1 (event:MouseEvent):void{
hideAllWindows();
hatsWindow1.x=387.95
}
function showaccessoriesWindow1 (event:MouseEvent):void{
hideAllWindows();
accessoriesWindow1.x=387.95
}
function showaccessoriesWindow2 (event:MouseEvent):void{
hideAllWindows();
accessoriesWindow2.x=387.95
accessoriesWindow2.y=121.10
}
function showcolorsWindow1 (event:MouseEvent):void{
hideAllWindows();
colorsWindow1.x=387.95
}
function showfaceWindow1 (event:MouseEvent):void{
hideAllWindows();
faceWindow1.x=387.95
}
function showhatsWindow2 (event:MouseEvent):void{
hideAllWindows();
hatsWindow2.x=387.95
hatsWindow2.y=121.10
}
然后该代码链接到个人 window 代码如下:
import flash.events.MouseEvent;
var myNeckArray = [glasses1, glasses2, glasses3, glasses4, glasses5, glasses6, glasses7, glasses8, glasses9, glasses10, glasses11, glasses12];
for each (var neck in myNeckArray) {
neck.addEventListener (MouseEvent.CLICK, onNeckClick);
}
function onNeckClick (event:MouseEvent):void {
MovieClip(parent).eyes_MC.gotoAndStop(event.target.name);
}
如何访问标记的关键帧并导出图像?另外,如果我想让用户在导出时自动 post 到 Facebook,这个过程和代码是否相似?
您可以 "draw" 任何 MovieClip/Sprite 像这样的 BitmapData 对象:
var bitmapData:BitmapData = new BitmapData(myMovieClip.width,myMovieClip.height);
bitmapData.draw(myMovieClip);
然后使用 as3corelib 将数据编码为 JPG、PNG 格式,如下所示:
import com.adobe.images.JPGEncoder;
var jpgEncoder:JPGEncoder = new JPGEncoder(quality);
var byteArray:ByteArray = jpgEncoder.encode(bitmapData);
然后如果你想在本地保存图像,只需这样做:
var fileReference:FileReference=new FileReference();
fileReference.save(byteArray, ".jpg");
如果您想在 Facebook 上共享文件,您需要将 ByteArray post 到服务器端脚本,然后将其写入服务器上的文件,然后传递文件 URL返回到您的应用程序并将其用于 link 到 Facebook post.
中的图像因此,将完成的 "user customized logo" 的最顶层父级绘制到位图中,然后按照上述步骤操作。