アプリ版:「スタンプのみでお礼する」機能のリリースについて

この前も質問させていただきましたが、また別のところでつまづいてしまったので質問させてください。

学校の制作で、「Flashで携帯ストラップを作ろう」というテーマでFlashを作っています。
1.ユーザーが好きなパーツをドラッグして好きな携帯ストラップを作る。
2.「完成」ボタンを押すとFlashで作った携帯ストラップが画像化されてメールフォームに送られて住所などを入力して注文。
という流れです。

制作環境はWindowsXP・Flash8です。

今の時点でできているのはこちら↓
http://ribbon.chu.jp/flash/snapshot/snapshot.html
自分で好きなパーツを組み合わせて携帯ストラップを作り、
「SNAP」というボタンを押すと画像化されます。
その後メールフォームで送信という形にしたいです。
もしソースが見たいという場合は、ソースファイルをDLしてみていただいてもかまいません;

↑で「SNAP」というボタンを押していただいたら分かると思うんですが、
ストラップの紐の部分は写るんですが、肝心なパーツが写り込まなくてつまづいています。

ちなみに、
●ムービークリップMASK_MCに画像化したい部分にマスクをかける。
●MASK_MCをステージに配置。
●MASK_MCのインスタンス名は「mc_ss」。
●別に用意したボタンを押すとPHPと連携してでmc_ssの範囲のみを画像化したのをブラウザに表示。
という形になっています。

そのMASK_MCの中のマスク下にあるものは全て写り込むのですが、
携帯ストラップのパーツにどんどん複製していくActionScriptを記述しているのでMASK_MCの中にそれを持ってくるとActionScriptが正常に動作しませんでした;

【参考にしたサイト】
http://www.flash-jp.com/modules/newbb/viewtopic. …
http://playon.jp/mm/paint/
http://qurage.net/labo/fla8/snapshot.html
http://app.fudemame.net/nenga2009/design/photo_w …

XMLでFlashの画面を画像化して…という話しを聞いたのですが、ネットで調べても本屋さんで調べても結局何がなんだか分かりませんでした…。(ちなみにActionScriptもPHPもプログラミングは初心者です;)

Flashでもメールフォームが作れるそうですが、文字(名前とかメアドとか住所とか)を送信するサンプルは見たことあるのですがFlashの画面自体をメールフォームで送信するやり方は見たことがなくどうしていいかわからない状態です;

説明が下手ですみません。。。
期限がすぐせまっていて困っています。
みなさんのお力を貸してください;

A 回答 (2件)

パーツたちは、Stage上に複製されたインスタンスたちを取得して配列に格納したものです。

また、このやり方はインスタンス名を取得する必要はありません。

ActionScript3で作った方が早いかも知れません。
下記のURLにアクセスして、Latest Milestone Release BuildsのAdobe Flex SDKの最新版をダウンロードすることが出来ます。これでActionScript3が使えます。

「Download Flex 3 - Flex SDK - Confluence」
http://opensource.adobe.com/wiki/display/flexsdk …

また、PHPの方はPHPカテゴリで質問してみてください。詳しく分かる方がいらっしゃると思います。

何かありましたらまた質問してください。頑張ってください。

参考URL:http://livedocs.adobe.com/flash/9.0_jp/ActionScr …
    • good
    • 0
この回答へのお礼

ご解答丁寧にありがとうございます^^

FlashCS3の体験版があったので、ダウンロードしてActionScript3.0でやってみたらこんな風にできました(まだ画面のレイアウトやデザインなどはめちゃくちゃですが…)↓
http://ribbon.chu.jp/flash/strap2/strap_test2.swf

参考にしたURLはこちら↓
http://www.inazumatv.com/contents/archives/643

とりあえず画面をキャプチャするところまでできました!
あとはキャプチャでできた画像をメールフォームで送信できるようにするだけですが、どのようにすればいいのでしょうか…;

お礼日時:2008/11/19 10:09

ActionScriptからPHPに、個々のパーツの情報をPOSTで渡す方法はいかがでしょうか?


Flash8ということは、ActionScript2でしょうか。
ActionScript2を使ったことがないので詳しくは分かりませんが、宜しければ参考にしてください。

----------
ActionScript

// POSTするためのもの
var loadVars:LoadVars = new LoadVars();

// パーツの数 (以下は、PHPではPOST["partsLength"]という風に取得出来ます)
loadVars.partsLength = パーツたち.length.toString();

// 個々のパーツのタイプ・_x・_yを格納
for (var i:Number = 0; i < パーツたち.length; i++) {
loadVars["parts_" + i.toString() + "_type"] = パーツ[i].タイプ.toString();
loadVars["parts_" + i.toString() + "_x"] = パーツ[i]._x.toString();
loadVars["parts_" + i.toString() + "_y"] = パーツ[i]._y.toString();
}

// PHPに送信
my_lv.send("PHPファイルのパス", "_blank", "POST");

----------
PHP

// 個々のパーツのタイプ・x・yを取得
for ($i = 0; $i < $_POST["partsLength"]; $i++) {
パーツ[$i]のタイプ = $_POST["parts_" + $i + "_type"];
パーツ[$i]のx = $_POST["parts_" + $i + "_x"];
パーツ[$i]のy = $_POST["parts_" + $i + "_y"];
}

// forの中で、画像処理の関数を呼ぶ
// パーツのタイプで画像を判断し、もともと用意しておいた画像を呼ぶ
// その画像をx,yの位置に表示する
// jpegとして書き出す

----------
このやり方よりもBitmapを使う方が良いかも知れませんが、その方法が分かりませんでした。
期限には間に合いましたでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます^^
サンプルまで書いていただいて助かります;
ちなみにActionScript2.0でやっています。

ソースについて質問があるのですが、
-----------------------------------------------------------
loadVars.partsLength = パーツたち.length.toString();

// 個々のパーツのタイプ・_x・_yを格納
for (var i:Number = 0; i < パーツたち.length; i++) {
loadVars["parts_" + i.toString() + "_type"] = パーツ[i].タイプ.toString();
loadVars["parts_" + i.toString() + "_x"] = パーツ[i]._x.toString();
loadVars["parts_" + i.toString() + "_y"] = パーツ[i]._y.toString();
}
-----------------------------------------------------------
の部分の「パーツたち」や「パーツ」には何を書けばいいのでしょうか…;
インスタンス名でしょうか…?
それと個々のパーツのインスタンス名が、
パーツ1→Num=0→mcName+Num
パーツ2→Num=100→mcName+Num
みたいにmcName+「0~」「100~」「200~」と開始の数が違うようにしているので「i」を使うと変なことになりそうなんです;


あと、今はBitmapを使って描画しています。
ただ、パーツにActionScriptを組み込んでドラッグしたら複製するようにしているので、キャプチャを撮るためのマスクの下にActionScriptが組み込まれたパーツを持ってくるとパーツに組み込んだActionScrriptが正常に動作しないんです;


もうひとつトラブル(?)があって、キャプチャを描画するPHPに日本語を書いたりHTMLを書いたりすると、画像ではなく文字がばーっと出てしまいました…。
画面を画像化するだけでなくその画像をさらにメールフォームで送信できるようにしたいのです…。
ActionScript3.0(CS3?)ならできるようなことを聞いて、Flash8では無理なのかなと思い始めてきました…。
ActionScript3.0でサンプル見つけました↓
http://www.inazumatv.com/contents/archives/643


とりあえず書いていただいたサンプルでやってみます。
ちなみに期限は11月の末までです;
本当にありがとうございますm(__)m

お礼日時:2008/11/17 11:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!