2016-04-04 3 views
0

私は自分の会社のロゴをドレスアップできるゲームを作った。問題は、私がコーディングの初心者であり、私にとってかなり難しい課題に取り組んでいることです。JpgをエクスポートするためのFlashコマンド。 Adobe AnimateのCC

ロゴとその上に置くアイテムだけをエクスポートしたいと思います。各アイテムは特定のフレームに関連付けられています。各アイテムは、ユーザーが1ページ目のタブをクリックすると移動する別のページにあります。アイテムがロゴ上にある各キーフレームにも、簡単なカタログ作成と取得のために別の名前付きレイヤーがあります。

enter image description here

次の一般的なコードであり、以下のように個々のウィンドウコードに続いて、そのコードリンク

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 
 
}

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); 
 
}

タグ付きキーフレームにアクセスしてイメージをエクスポートするにはどうすればよいですか?また、エクスポート時にユーザーがFacebookに自動的に投稿できるようにしたい場合は、このプロセスとコードが似ていますか?

答えて

2

あなたはこのような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"); 

If Facebook上でファイルを共有したい場合は、ByteArrayをサーバー側のスクリプトに投稿し、それをサーバー上のファイルに書き込んだ後、ファイルURLをアプリケーションに渡して、そのURLを使用してFacebookのポスト。

完成した「ユーザーがカスタマイズしたロゴ」の最上位の親をビットマップに描画し、上記の手順に従います。

関連する問題