FLASH 4 を使ってジグソーパズルを作る事になったのですが、
アクションスクリプトが分かりません。
FLASHを使ったジグソーパズルのアクションスクリプトのサンプルが載ったサイトや、書籍って誰か教えていただけないですか?
時間がなくて大変困ってます。
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

なぜか damedame さんのサイトにアクセスできなかったので、研究用に作ったjigsaw flash のurl を載せてみました。

通常は、この辺がflashの限界ではないでしょうか? (ここまでだったら誰でもできる?!(^v^)>)

課題となっていた ピース同士のグループ化は、
 1.隣あう各ピースの、構成枚数毎の順列組合せをすべて用意する。
 2.動的にflash上またはサーバー上でインスタンスをグループ化する。
 3.ドラッグ中のオブジェクトの座標移動値に、グループ化されたオブジェクトを
  連動させる。
 くらいしか思いつかないのですが、
1.については、膨大な組合せを準備しなくてはならず、2についてはflashオブジェクトの解析が必要です。3.については、疑似ドラッグのようで、スムースに動くか??

 ということで、ピース同士のグループ化はあきらめません????

 

参考URL:http://www.nt.sakura.ne.jp/~garakuta/jigs.html
    • good
    • 0
    • good
    • 0

移動や完了チェックは問題ないのですがピース同士のグループ化、グループ解除が難しいですね。

申し訳ないのですが、別の専門家にお願いします。
    • good
    • 0

ジグソーパズルというのは、ランダムな位置にあるピースを、ドラッグ&ドロップで任意の位置に移動する という事でしょうか? その時回転などの動作も必要なのでしょうか。

もう少し詳しい仕様を書かれた方が良いと思います。

この回答への補足

スミマセン。説明が足りませんでした。
パズルはランダムに置かれたピースをドラッグ&ドロップで移動させるんですが、ピース同志でもドロップ出来て、そのドロップした2つのピースはドロップしたまま移動できる。でも、1つのピースだけはある場所に固定で置いてあり、最終的にはその固定したピースにドロップさせないと完成しないんです。完成させた時に完成ボタンを押すとメッセージがでます。しかし、ピースの中には間違ったものもあり、間違ったまま完成ボタンを押すと間違ってますというメッセージを出したいんです。(それからピースは回転させません。)
どうかこんなパズルに関するスクリプトが載ってるサイトやこんなスクリプトが分かる方、教えてください。

補足日時:2001/05/08 11:37
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QActionScriptで画像と文字を表示

ActionScriptで1フレーム目にボタンをおいて2フレーム目に
任意のjpg画像を表示させたいのですができません。

同一フレーム内で
on (press) {
image.loadMovie("hoge.jpg");
}
とすれば表示はできました。

Aベストアンサー

フレーム1 のボタンに,

on (press) {
gotoAndStop(2);
}

と書いておいて,
フレーム2 の空白キーフレームに(フレーム2に空白キーフレームがなければ作る),

image.loadMovie("hoge.jpg");

と書けば良いだけだと思います。
当然,フレーム2 には image というインスタンス名のムービークリップが存在している必要がありますが。

Qformタグを使うと不要な空行が出てしまいます。(サンプル有り)

いつも勉強させていただいております。今回は質問をさせていただけないでしょうか。

あるフォーム(Google検索ボックス)をページの中に入れようとしています。
下記のような、HTMLを書いてみました。

上の文章
<form>
form の文章
</form>
下の文章

どうやっても、「form の文章」の上下に2,3行分くらいの空行が
できてしまいます。
<form height="16">としてもだめです。
どのようにすれば、空行をなくせるのでしょうか?

よろしくお願いします。

Aベストアンサー

<form style="margin:0">
これでどうでしょうか。

QFLASHCS3のActionScript3.0で外部画像の読み取り後

FLASHCS3のActionScript3.0で外部画像の読み取り後に、ムービー内に画像を入れると表示されません。
複数画像をfor文で読みながら、読み終えたらEvent.COMPLETEで関知して、loadComp関数内で
addChildして画像を表示させたいですが、その後マウスドラッグで動かせるようにするため
mc1という空のムービーを作ってその中に、画像を内包したいのですがそうすると画像が表示されないです。
※mc1.addChild(event.target.loader);というように

普通にmc1を除いて、
addChild(event.target.loader);
とすると表示されます。

ムービーに内包すると画像が表示されないのはなぜか知りたいです。
よろしくお願いします。


photoLoad();
//画像読み込み関数
function photoLoad() {
urlList[0] = "photo1.jpg";
urlList[1] = "photo2.jpg";
urlList[2] = "photo3.jpg";
urlList[3] = "photo4.jpg";
urlList[4] = "photo5.jpg";

for (var i = 0; i < urlList.length; i++) {
var x:int;
loaderList[i] = new Loader();
loaderList[i].load(new URLRequest(urlList[i]));
loaderList[i].x = x;
x = x+100; //画像のサイズによって変更
loaderList[i].contentLoaderInfo.addEventListener(Event.COMPLETE,loadComp);
}
}
//画像読み込み関数ここまで****************************************

function loadComp(event:Event):void{

var mc1:MovieClip = new MovieClip();

//■■■問題の箇所・addChildの前にmc1をつけると表示されない■■■
addChild(event.target.loader);

//移動可能に
mc1.addEventListener(MouseEvent.MOUSE_DOWN, startObj0);
mc1.addEventListener(MouseEvent.MOUSE_UP, stopObj0);

function startObj0(event:MouseEvent):void
{
mc1.startDrag();
}
function stopObj0(event:MouseEvent):void
{
mc1.topDrag();
}
}

FLASHCS3のActionScript3.0で外部画像の読み取り後に、ムービー内に画像を入れると表示されません。
複数画像をfor文で読みながら、読み終えたらEvent.COMPLETEで関知して、loadComp関数内で
addChildして画像を表示させたいですが、その後マウスドラッグで動かせるようにするため
mc1という空のムービーを作ってその中に、画像を内包したいのですがそうすると画像が表示されないです。
※mc1.addChild(event.target.loader);というように

普通にmc1を除いて、
addChild(event.target.loader);
とすると表示されま...続きを読む

Aベストアンサー

var x:int;
↑単に宣言しただけでxの数値は未定なんですね。

loaderList[i].x = x;
↑未定な座標に何かを配置できる?

x = x+100; //画像のサイズによって変更
↑未定な数値に 100 を加算するってどういうこと?


var mc1:MovieClip = new MovieClip();
↑mc1 というムービークリップを作ったのですね。

↑しかし???
 この mc1 はどこに配置したの?



細かいことを書けばもっとありますが
ざっと見ただけで上記のように思います。

QJavaスクリプトを使う理由

別のファイル(特に、お問い合わせフォームとか?)にリンクするとき、
単なる別窓ではなくて
サイズ指定の小さい別窓を開くように指定してあるのを見かけますが、
タブブラウザ使っている者としてはサイズ指定は無意味、
しかも、普段はJavaスクリプトoffにしているので
リンク文字や画像を押しても何の反応もなくて、虚しい思いをすることがときどきあります。
普通にhtmlで別窓指定するだけでは不十分なのでしょうか??
実際にこういうページを作っていらっしゃるかたのお考えは本当のところどんなふうなのか
聞かせてほしいです。

(予想としては、
1.なんとなく恰好いいような気がするから
2.ツールが勝手に書いてしまうから
ぐらいです。)

Aベストアンサー

ModalDialogを使いたい時とか、、、かな?
どうしても、そのウィンドウで処理が終わってからじゃないと、
メインの画面に戻ってきて欲しくない場合とかに使うんじゃないでしょうか。
例えば、郵便番号だけ入力させてダイアログへ飛んで、住所を選択させてダイアログを閉じて、元の画面に住所を反映させる・・・とか
質問者さんの考え方だと
「それならページ遷移してしって、また戻ってくればいいんじゃない?」
って話もありますが。

Qライブラリにある画像をaction scriptから呼び出して表示する

action script初心者ですのでわかりやすく説明していただけると助かります。

今、test.flaというファイルがあり、その中にa.gif、b.gif、c.gifというファイルをライブラリに読み込んでいます。

ここで、カードというレイヤーを作り、そのアクションフレームに
card1 = Math.floor(Math.random()*3) + 1;
card2 = Math.floor(Math.random()*3) + 1;
card3 = Math.floor(Math.random()*3) + 1;
といれてランダムの1~3の数字を出しました。
この結果に基づいて、特定の座標に結果が1の場合a.gifを、
結果が2の場合はb.gifを、3の場合はc.gifを表示したいと
思います。
すでにレイヤー上に存在しているオブジェクトであれば、
位置情報をいれてそこに置くだけなのですが、なにぶんどの
カードが表示されるか決められてないのでオブジェクトは
レイヤー上においてありません。
ライブラリから呼び出して表示する命令はありますでしょうか?

状況としてはトランプでシャッフルして最初の手札を配る時に
どういう風にして表示したらよいかということになります。

考え方の間違いなどあるかもしれませんが、その点も指摘して
いただいた上で解説していただけると助かります。

よろしくお願いします。

action script初心者ですのでわかりやすく説明していただけると助かります。

今、test.flaというファイルがあり、その中にa.gif、b.gif、c.gifというファイルをライブラリに読み込んでいます。

ここで、カードというレイヤーを作り、そのアクションフレームに
card1 = Math.floor(Math.random()*3) + 1;
card2 = Math.floor(Math.random()*3) + 1;
card3 = Math.floor(Math.random()*3) + 1;
といれてランダムの1~3の数字を出しました。
この結果に基づいて、特定の座標に結果が1の場合a.gifを、
...続きを読む

Aベストアンサー

考え方は全く間違っていないと思います。
そのまま延長すればできます。


--- ライブラリから呼び出す方法 ---

GIFのままだと,ライブラリから呼び出せないので,
まず,
そのGIFを一度ステージ上に全部呼び出して,
1つ1つをムービークリップシンボルに変換してください。
変換した後は,ステージ上から消して良いです。

ムービークリップシンボルに変換すると,
ライブラリの中にもそのムービークリップシンボルが入りますよね。
それを呼び出します。

次に,
変換したムービークリップシンボルのうち1つを選択し,
「右クリック」→「リンケージ」よりリンケージの設定をします。
リンケージプロパティのパネルより,

 リンケージ:□ActionScriptに書き出し

という部分の □ にチェックを入れてください。
すると,

  □最初のフレームに書き出し

というのにもチェックが入ります。
とりあえずそれで良いと思います。
そして,その上の

識別子:[         ]

という部分に,任意の識別子を付けてください。
ここでは,『gif1』という識別子にしたとします。

他のGIFの入ったムービークリップも同様にします。
それぞれの識別子は別の名前にしてください。
ここでは,他の物は『gif2』『gif3』という識別子にしたとします。

ここまで来ると準備が整ったので,スクリプトを書きます。
質問者様が書かれているスクリプトをそのまま利用して,
その後に,ライブラリから呼び出し,整列させるスクリプトを付け加えると以下のようになります。

------------------------------------
card1 = Math.floor(Math.random()*3)+1;
card2 = Math.floor(Math.random()*3)+1;
card3 = Math.floor(Math.random()*3)+1;
_root.attachMovie("gif"+card1,"G1",1);
_root.attachMovie("gif"+card2,"G2",2);
_root.attachMovie("gif"+card3,"G3",3);
_root.G1._x = 150;
_root.G1._y =100;
_root.G2._x = 250;
_root.G2._y =100;
_root.G3._x = 350;
_root.G3._y =100;
------------------------------------

4行目~6行目が,ライブラリからムービークリップを呼び出すスクリプトです。
構文は,ヘルプなどで調べてもらうとわかりますが,

MovieClip.attachMovie("リンケージの識別子","新しいインスタンス名",深度);

です。
"リンケージの識別子" の部分を, "gif"+card1 のようにしていますが,
もし,card1 の値が 1 であれば, gif1 が,
もし,card1 の値が 2 であれば, gif2 が,
もし,card1 の値が 3 であれば, gif3 が,
それぞれ呼び出されます。
リンケージの識別子を付けるときに,最後に連番を付けておくと, if文で分岐させる必要がなくなります。

呼び出されたものは,何も指定しないと,座標 (x,y)=(0,0) に表示出されます。
それでは困るので,
7行目~12行目で,座標を指定しています。
座標は,作る物によって全く変わるので,適当に数値を変えてください。

また,card1~card3 のように 3枚くらいであれば,上のように羅列したスクリプトでも良いですが,
もっと card が増えると for文 などでループさせるほうが良いと思います。
こんな感じです↓。
------------------------------------
for(var i=1;i<=3;i++){
_root["card"+i] = Math.floor(Math.random()*3)+1;
_root.attachMovie("gif"+_root["card"+i],"G"+i,i);
}
_root.G1._x = 150;
_root.G1._y =100;
_root.G2._x = 250;
_root.G2._y =100;
_root.G3._x = 350;
_root.G3._y =100;
------------------------------------

上のスクリプトの上から6行が4行に短縮されます。
もっと,card が増えたとしても,for(var i=1;i<=3;i++) の i<=3 の 3 を変えるだけです。

下の6行も規則正しいものならば,for文の中に入れられますが,
座標がどうなるかはわからないため,for文にはしませんでした。

考え方は全く間違っていないと思います。
そのまま延長すればできます。


--- ライブラリから呼び出す方法 ---

GIFのままだと,ライブラリから呼び出せないので,
まず,
そのGIFを一度ステージ上に全部呼び出して,
1つ1つをムービークリップシンボルに変換してください。
変換した後は,ステージ上から消して良いです。

ムービークリップシンボルに変換すると,
ライブラリの中にもそのムービークリップシンボルが入りますよね。
それを呼び出します。

次に,
変換したムービークリップ...続きを読む

Q▲▲Flashを使ってお気に入りに登録▲▲

お気に入りに登録する際、HTMLの場合は
<A href="JavaScript:window.external.AddFavorite('アドレス','HP名')">お気に入りに追加</A>
ですが、Flashをクリックする事によって
お気に入りに追加したい時は、FlashのHTMLをどのように変化させればいいでしょうか?
わかる方よろしくお願いします(*'v'*)
Flashのtxtの内容
*** Text Setup ***
&text=Hideyuki.com&

*** Start Position Setup ***
&StartX=15&

*** Mode Setup (mode=0:Text Only, mode=1:Link Bunner) ***
&mode=1&
&url=Hideyuki_com_main.html&
&target=_self&

*** Text Color Setup ***
&colorR=50&
&colorG=50&
&colorB=50&


*** Don't Change This Value ***
&loadFlag=1&

urlを変化させる事によってできるのでしょうか?

お気に入りに登録する際、HTMLの場合は
<A href="JavaScript:window.external.AddFavorite('アドレス','HP名')">お気に入りに追加</A>
ですが、Flashをクリックする事によって
お気に入りに追加したい時は、FlashのHTMLをどのように変化させればいいでしょうか?
わかる方よろしくお願いします(*'v'*)
Flashのtxtの内容
*** Text Setup ***
&text=Hideyuki.com&

*** Start Position Setup ***
&StartX=15&

*** Mode Setup (mode=0:Text Only, mode=1:Link Bunner) ***
&mode=1&
&url=Hideyuki_com...続きを読む

Aベストアンサー

しばらく,何を質問されているのか全然わかりませんでした。

おそらく,Flashの素材屋さんみたいな所から,
SWFファイルとTXTファイルをダウンロードするなどして,
そのTXTファイルの中身をどう書きかえるかということなのですね。

それは,本当はFlashを作られた方しかわかりません。
Flash作者の勝手に決めたルールで変わります。
マクロメディアのFlash作成ソフトをお持ちでしたら
(持っていないことはわかっています説明のためです),
ボタンを用意してそのボタンに,

on (release) {
getURL("JavaScript:window.external.AddFavorite('アドレス','HP名')", "_self");
}

というスクリプトを書けば,できるといえばできます。
今やってみたらできました。

でも,せっかく環境をほとんど選ばないFlashにIEにしか通用しないスクリプトを入れるのはおかしいので,
Flashを使って作る人はまずこんなスクリプトは書かないとは思います。

普通は書かないというのがまず前提で,
上のスクリプトの形によく似ている部分は,

*** Mode Setup (mode=0:Text Only, mode=1:Link Bunner) ***
&mode=1&
&url=Hideyuki_com_main.html&
&target=_self&


の部分です。
確証はありませんが,ここの &URL= 以降を替えれば良いような気がします。


*** Mode Setup (mode=0:Text Only, mode=1:Link Bunner) ***
&mode=1&
&url=JavaScript:window.external.AddFavorite('アドレス','HP名')&
&target=_self&

これで行けるのではないかと思います。

しかし
Flashは 文字コードが UTF-8 です。 Shift-JIS はデフォルトでは使えません。
だから,HP名 に日本語は使えない気がするので,それは避けた方が良いような気がします。
UTF-8 なのか Shift-JIS なのかも
Flash作成者の設定次第なので,使えるかどうかはわかりません。
出来てしまったものを後から変更する手段はありません。

しばらく,何を質問されているのか全然わかりませんでした。

おそらく,Flashの素材屋さんみたいな所から,
SWFファイルとTXTファイルをダウンロードするなどして,
そのTXTファイルの中身をどう書きかえるかということなのですね。

それは,本当はFlashを作られた方しかわかりません。
Flash作者の勝手に決めたルールで変わります。
マクロメディアのFlash作成ソフトをお持ちでしたら
(持っていないことはわかっています説明のためです),
ボタンを用意してそのボタンに,

on (release) {
getURL...続きを読む

QActionScript3から過去のActionScript2に移りたいのです

2ヶ月ぐらい前にFlash CS3で参考書を見ながらActionScript3を始めたのですがソースを見れば大体は理解できるようになりましたが参考書に出てきた所以外の部分だと自分の頭が悪く理解や応用ができずに現在は心が折れてしまいました。
ただ自分の目標としているオリジナルゲームは作りたいのでActionScript3よりも過去のActionScript2の方が簡単だった、という文章をネットで見かけたのと私の求めているようなソースがActionScript2の物が多いという理由で過去のActionScript2の方を覚えようと思いました。

そこで本題なのですが現在「FLASH ActionScriptバイブル」を買おうと思っています。
Wikipediaで調べた所
ActionScript1はFlash 5~Flash MX
ActionScript2はFlash MX 2004~Flash 8
上記のようになっていたのです。
私はActionScript2を学びたいのですが「FLASH ActionScriptバイブル」は「Macromedia Flash 5日本語版を最大限に生かすスクリプト言語」と書いているのでActionScript1って事ですよね?。
これはActionScript2を学びたい者には買っても意味がないのでしょうか?(これ以外にもActionScript1の本を買ってもActionScript2を学ぶ私には無駄になりますでしょうか?)。
それとも買っても問題ないのでしょうか?。

2ヶ月ぐらい前にFlash CS3で参考書を見ながらActionScript3を始めたのですがソースを見れば大体は理解できるようになりましたが参考書に出てきた所以外の部分だと自分の頭が悪く理解や応用ができずに現在は心が折れてしまいました。
ただ自分の目標としているオリジナルゲームは作りたいのでActionScript3よりも過去のActionScript2の方が簡単だった、という文章をネットで見かけたのと私の求めているようなソースがActionScript2の物が多いという理由で過去のActionScript2の方を覚えようと思いました。

そこ...続きを読む

Aベストアンサー

ご質問は結局
 「ActionScript3からActionScript2に移りたい」
ということではなくて,
 「ActionScript1の勉強はActionScript2の役に立つのか?」
ということですよね?


ActionScript3 がそれ以前のものと違いすぎるだけです。
一方,
ActionScript1 と ActionScript2 との間には境界なんてあってないようなものです。

関係式に表すと,

 AS1≒AS2 ≠AS3

もしくは

 AS1≦AS2 ≠AS3

のような感じです。
他のものに喩えると

 英文字A~W≦英文字A~Z ≠ギリシャ文字

のようなものです。
英文字(アルファベット)A~Z まで覚えるのでしたら,
英文字A~W まで覚えることも含まれます。


> これはActionScript2を学びたい者には買っても意味がないのでしょうか?

意味はありすぎると思いますよ。
そこからちょいちょいと足せば ActionScript2 になります。

ご質問は結局
 「ActionScript3からActionScript2に移りたい」
ということではなくて,
 「ActionScript1の勉強はActionScript2の役に立つのか?」
ということですよね?


ActionScript3 がそれ以前のものと違いすぎるだけです。
一方,
ActionScript1 と ActionScript2 との間には境界なんてあってないようなものです。

関係式に表すと,

 AS1≒AS2 ≠AS3

もしくは

 AS1≦AS2 ≠AS3

のような感じです。
他のものに喩えると

 英文字A~W≦英文字A~Z ≠ギリシャ文字

のようなもの...続きを読む

QFLASHを使ったオススメサイト教えてください!

会社のサイトをFLASHで作る事になりました。
作るからにはかっこいいものを作りたいと思うのですが、良いデザインがなかなか思いつきません。
FLASHはムービーでもナビゲーションでも小物でもかまいませんので、
オススメサイトがあったら教えてください。参考にしたいのです。
企業のサイトでお願いします。

Aベストアンサー

ううーん・・・っと。
参考にするのであれば良いとは思うんですが、
企業サイトを参考にして、企業サイトを作るとなると、
デザイナではない状態では、『パクリ』になる恐れがあると思うので、
それがちょっと恐い所ですね。

それはさておき。
他の方への回答へのお礼を見ていて気付いたのですが、
会社のサイトをFLASHで全部作るという事でしょうか?
そうなると、デザイン云々の前に、ActionScriptを勉強した方が良いです。
おそらく使いはじめたばかり、となると、
どうしてもムービー(アニメーション)的に編集しがちなので、
ファイルが必要以上に重たくなってしまい、
サイト自体の表示に時間がかかったりしてビジターを逃がしやすいです。

と、いうわけで、私はFLASHで何ができるか、というサイトをご紹介しておきます。

参考URL:http://fpower.org/

Q日時を表示させるFlashのサンプル ActionScript2.0用

Flash MXを最近始めました。(^^;
恐らくActionScriptは2.0なので、皆さんから、ActionScript3.0から始めればと言われると思いますが、これしかないので・・・

今日と昨日と明日の日付を表示させる簡単なFlashを作成しようとおもっているのですが、
中々うまくいきません。
あと2桁の乱数も表示させたいです。

できたとしてもFlashが動作するローカル環境の日時が間違っていたら、今日の日付もおかしいのでしょうか?
結局、ActionScriptはJavascriptということでしょうか?

Aベストアンサー

別にActionScriptは2.0でも可笑しくないですよ。
実際にActionScriptは3.0を操れる人って、まだまだ少数派でしょうから。(だからこそ、需要も高いのですが)

>今日と昨日と明日の日付を表示させる簡単なFlashを作成しようとおもっているのですが、
>中々うまくいきません。

どう巧くいかないのですか?コードも表示されていないと「ここがまずい」とも助言できませんよ。

>できたとしてもFlashが動作するローカル環境の日時が間違っていたら、今日の日付もおかしいのでしょうか?

はい。その通り。もしくはグローバル時間を読み込むかです。

>結局、ActionScriptはJavascriptということでしょうか?

似ていますが、違います。ActionScript2.0とActionScript3.0も大きく違います。

QFlashを使ったサイトの指示書について

はじめまして。
Web関連のディレクション業務に最近携わったものです。
今度、Flashを使ったWebページの作成を外注業者に依頼するのですが
動きのあるようなページについては、
具体的にどのような指示を入れればいいのでしょうか?

これまでは、Powerpointを使ったワイヤーフレームで依頼していました。
もし参考になるサイトやファイルがあれば教えてください。
宜しくお願い致します。

Aベストアンサー

Flashで出来ることはあまりにも多いので、Flashを使ったどんなWebページかにもよると思います。

Flashアニメーション、JavaScriptアニメーションなど、
アニメーション関連は絵コンテを使用しています。

絵コンテというのはテレビアニメ、映画アニメなどを作るときの台本のようなものです。


人気Q&Aランキング

おすすめ情報