• 締切済み

FLASHで「かるた」を作りたいのですが…

あるイベントで小学生が作った「いろはかるた」を、記念にWEB上でできるゲームにしたい、FLASHで作ろうという話しが持ち上がりました。 父兄の中でたまたま私が簡単なFLASH作成の経験があったため、依頼を受けたのですが、恥ずかしながら私のFLASH知識は、動きを付けられる程度でゲーム作りの経験は全くありません。 依頼主は「記念に残すだけなので、難しいモノは必要無い」と言うのですが、それでもどうしたら良いのかわからず、そうは言っても多少はゲーム性のあるものにしたいし… と、困ってしまっております。 恐れ入りますが、参考となる作り方、あるいは「かるたゲーム作りのfla.を公開」しているサイトとか、あるいは書籍等、ご存知の方がおられましたら、教えていただけないでしょうか。 何卒、よろしくお願いいたします。

  • Flash
  • 回答数2
  • ありがとう数4

みんなの回答

  • eye-eye
  • ベストアンサー率66% (2/3)
回答No.2

>動きを付けられる程度でゲーム作りの経験は全くありません。 正直、ゲーム的カルタをつくるとなると非常に難しいと思います。 お断りするのが無難と考えます。 他の方が回答されたプログラムがご理解できるというのであれば、 問題はないと思いますが「どうにも難しい…」とお思いであるのであればなおさらです。 それでも、何とかしたい・・・とお考えでしたら、 例えば、次のようなことをしてはいかがでしょうか? ■参考サイト:マウスに追随する虫眼鏡 http://www.geocities.jp/flashiroha/script/as23.html ↑これを応用することで、子どもたちのつくったカルタを小さいスペースで表示させることが出来ます。 また、この特性をいかして、親がPCの前で読み札を読み上げ、 虫眼鏡で子どもが取り札を探すといった「遊び」もできます。 親が読み札を読み上げられるように、 読み札をPDFなど印刷できるようししてあげると親切かもしれません。 また、取り札も同様に印刷できるようにしてあげると、 PCの前だけではなく、リアルなカルタゲームが楽しめるようになるのではないでしょうか。 以上、拙い文章ですがご参考くださいませ。

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

ここではテキストと画像1つのみの回答しかできませんので苦肉の策です。 ActionScriptをコピペするだけで簡易的なカルタを作成できるものを作ってみました。 バージョンがわかりませんので, できるだけバージョンを下げて FlashMX以上で使用可能 なものにしています。 /*------------------------------------- 「フレーム1 にコピペ&パブリッシュするだけで動作するカルタ」 このままの数値である場合ステージは 330×200 前後が適当 FlashMX以上で使用可能 ActionScript1.0 要 FlashPlayer6 以上の SWF パブリッシュ -------------------------------------*/ // カルタ問題データ配列を作成 cartaArr = new Array(); // カルタ問題データを用意 (★可変) cartaArr[0] = "犬も歩けば棒にあたる"; cartaArr[1] = "論より証拠"; cartaArr[2] = "花より団子"; cartaArr[3] = "憎まれっ子世にはばかる"; cartaArr[4] = "骨折り損のくたびれ儲け"; cartaArr[5] = "屁をひって尻すぼめ"; cartaArr[6] = "年寄りの冷水"; cartaArr[7] = "塵もつもれば山となる"; cartaArr[8] = "律義者の子沢山"; cartaArr[9] = "盗人の昼寝"; cartaArr[10] = "瑠璃も玻璃も照らせば光る"; cartaArr[11] = "老いては子に従え"; // 札の横幅の設定 (★可変) cardW = 40; // 札の高さの設定 (★可変) cardH = 60; // 札の横並び個数を設定 (★可変) colNum = 6; // カルタ問題出題のスピードを設定 (★可変) speed = 10; // 札を並べる上の空白スペースを設定 (★可変) marginTop = 50; // 札を並べる左の空白スペースを設定 (★可変) marginLeft = 20; // 札の間隔のスペースを設定 (★可変) spacing = 10; // ---札のランダム配置配列作成--- // 0から昇り順の整列した一時的な配列を作成 tmpArr = new Array(); for (i=0; i<cartaArr.length; i++) { tmpArr[i] = i; } // 札のランダム配置用配列を作成 cardArr = new Array(); for (i=0; i<cartaArr.length; i++) { ranNum = Math.floor(Math.random()*tmpArr.length); cardArr[i] = Number(String(tmpArr.splice(ranNum, 1))); } // --- ランダム出題用配列を作成--- // 0から昇り順の整列した一時的な配列を再作成 tmpArr = new Array(); for (i=0; i<cartaArr.length; i++) { tmpArr[i] = i; } // ランダム出題用配列を作成 questArr = new Array(); for (i=0; i<cartaArr.length; i++) { ranNum = Math.floor(Math.random()*tmpArr.length); questArr[i] = Number(String(tmpArr.splice(ranNum, 1))); } // ---札の配置--- // 列の値の初期化 C = 0; // 行の値の初期化 R = 0; // for (i=0; i<cartaArr.length; i++) { // i が 0 ではなくて colNum で割りきれる数の時 if (i != 0 && i%(colNum) == 0) { C = 0; R++; // それ以外で i が 0 ではない時 } else if (i != 0) { C++; } // 札MCを作成 (※本当はライブラリにでも用意) _root.createEmptyMovieClip("cardMC"+i, i); // 札MCを配置 _root["cardMC"+i]._x = marginLeft+(spacing+cardW)*C; _root["cardMC"+i]._y = marginTop+(spacing+cardH)*R; // 札MCに札番号変数をセット _root["cardMC"+i].num = cardArr[i]; // 札MCにフラグの変数 flag をセット _root["cardMC"+i].flag = false; // 札MC内にテキストフィールドを作成 _root["cardMC"+i].createTextField("_txt", 0, 0, 0, cardW, cardH); _root["cardMC"+i]._txt.border = true; _root["cardMC"+i]._txt.background = true; _root["cardMC"+i]._txt.backgroundColor = 0xBBFFDD; _root["cardMC"+i]._txt.selectable = false; _root["cardMC"+i]._txt.text = cartaArr[cardArr[i]].substr(0, 1); } // 問題MCを作成 (※本当はステージ右横にでも用意) _root.createEmptyMovieClip("questMC", cartaArr.length); // 問題MC内にテキストフィールドを作成 _root.questMC.createTextField("_txt", 0, 0, 0, 0, 0); _root.questMC._txt.background = true; _root.questMC._txt.backgroundColor = 0xA0FFFF; _root.questMC._txt.autoSize = true; _root.questMC._txt.selectable = false; _root.questMC._txt.text = " =*=*=*= カルタ =*=*=*= "; // 問題MCを配置 _root.questMC._x = Stage.width/2-_root.questMC._width/2; _root.questMC._y = 10; // スタートボタンを作成(※ココではテキストフィールド入りMC) _root.createEmptyMovieClip("startMC", cartaArr.length+1); _root.startMC.createTextField("_txt", 0, 0, 0, 0, 0); _root.startMC._txt.border = true; _root.startMC._txt.background = true; _root.startMC._txt.backgroundColor = 0xFF3333; _root.startMC._txt.autoSize = true; _root.startMC._txt.text = "\n  スタート  \n "; _root.startMC._x = Stage.width/2-_root.startMC._width/2; _root.startMC._y = Stage.height/2-10; // スタートボタン(MC)ロールオーバー時の動作 _root.startMC.onRollOver = function() { _root.startMC._txt.backgroundColor = 0xFFFF33; }; // スタートボタン(MC)プレス時の動作 _root.startMC.onPress = function() { _root.startMC._txt.backgroundColor = 0x999900; }; // スタートボタン(MC)ロールアウト時&外で放した時の動作 _root.startMC.onRollOut = _root.startMC.onReleaseOutside=function () { _root.startMC._txt.backgroundColor = 0xFF3333; }; // スタートボタン(MC)クリック時の動作 _root.startMC.onRelease = function() { // カルタ問題作成ユーザ定義関数を実行 makequest(); // カルタを動かすユーザ定義関数を実行 playCarta(); // 札クリック時の動作を定義するユーザ定義関数を実行 funcCard(); // この startMC を削除 this.removeMovieClip(); }; // 問題カウント用変数の初期化 cnt = 0; // 札クリック時の動作を定義するユーザ定義関数の定義 function funcCard() { for (i=0; i<cartaArr.length; i++) { // 札クリック時の動作を定義 _root["cardMC"+i].onRelease = function() { // もしこの札の札番号変数 num が問題番号と一致していれば if (this.num == questArr[cnt]) { // この札の変数 flag の値を true にする this.flag = true; // この札のテキストフィールドの色を変える this._txt.backgroundColor = 0xFF6666; } }; } } // 問題作成ユーザ定義関数の定義 function makequest() { // 問題MCを初期座標に配置 _root.questMC._x = Stage.width+20; // 問題MCに問題番号変数をセット _root.questMC.num = questArr[cnt]; // 問題テキストに問題をセット _root.questMC._txt.text = cartaArr[questArr[cnt]]; } // カルタを動かすユーザ定義関数の定義 function playCarta() { // 1フレーム進む時間に毎回実行 _root.questMC.onEnterFrame = function() { // この questMC を speed ずつ左に移動 this._x -= speed; // もし 問題カウント用変数 cnt がカルタの枚数-1 未満で // なおかつ この questMC が左に消えれば if (cnt<cartaArr.length-1 && this._x<=-this._width) { for (i=0; i<cartaArr.length; i++) { // もし札の変数 num が 問題番号と一致していて // なおかつ 札のフラグ変数 flag が false のとき if (_root["cardMC"+i].num == questArr[cnt] && !_root["cardMC"+i].flag) { // その札を削除する _root["cardMC"+i].removeMovieClip(); break; } } // 問題カウント用変数 cnt を 1 加算 cnt++; // 問題作成ユーザ定義関数を実行 makequest(); } else if (this._x<=-this._width) { for (i=0; i<cartaArr.length; i++) { if (_root["cardMC"+i].num == questArr[cnt] && !_root["cardMC"+i].flag) { _root["cardMC"+i].removeMovieClip(); break; } } // 採点&得点表示するユーザ定義関数を実行 markCarta(); // // この _root.questMC.onEnterFrame を削除 delete _root.questMC.onEnterFrame; } }; } // 採点&得点表示するユーザ定義関数の定義 function markCarta() { // 得点の変数 point の初期化 point = 0; for (i=0; i<cartaArr.length; i++) { // もし札のフラグ変数 flag が true であれば if (_root["cardMC"+i].flag) { // ポイントを 1 加算 point++; } } // 得点の表示 _root.questMC._txt.text = "☆ "+Math.round((point/cartaArr.length)*100)+"点 ☆"; _root.questMC._x = Stage.width/2-_root.questMC._width/2; } // ------//------//------//------ // 以上をコピペです。 (★可変) マークを付けた場所以外も全て変更可能です。 スクリプト本体を触らなくてもこの部分を変えるだけで色々カスタマイズできます。 という意味の (★可変) です。  // 札MCを作成 (※本当はライブラリにでも用意) と書いていますが, 実際は絵札をちゃんと描いたりして作成する方が良いです。 ライブラリの中にムービークリップシンボルとして絵札を用意しておいて そのムービークリップシンボルの絵札を attachMovie で呼びだすとか, また, 外部にJPEGとして絵を置いておいて そのJPEGを空のムービークリップ内に loadMovie するとか, そういう方法を使う方が良いという意味です。

syousa19
質問者

お礼

丁寧なご指導、ありがとうございます!  ここまで教えていただけるとは思っていなかったので、嬉しい驚きです。 心から感謝します。 使っているのはFlashMXなので、その点はクリアでしょうか。 後は、教えていただいた内容でとにかく頑張ってやってみます。 まずは、手描きされた絵札をスキャンするところからではありますが(笑) 本当にありがとうございました。

関連するQ&A

  • 全くのflash初心者です。30秒~1分くらいのFLASHを使用した動画を作りたいのですが・・・

    ひょんなことから、よくネット上で見かけるFLASH動画を作ってみたいなと思いました。 とりあえず、Macromedia社FLASH か Adobe社FLASH というソフト(これらは内容的には同じものですか? 調べたらMacromedia社はAdobe社に買収されたそうですが・・・)を使うのかということはわかりました。 出来れば、30秒~1分くらいで色々効果を付けて、動きのあるものを作ってみたいなと考えています。 テレビゲームなどの公式HPとかの紹介ムービー(?)みたいなものをイメージしていて、作ってみたい流れは何となく出来上がってはいるのですが・・・ 全く無知識からのスタートで、photoshopやillustlator等も全くといっていいほど使用したことのない初心者です。こんな私でも、FLASHムービーの作成は可能でしょうか?また、C言語的なプログラミング知識とかも必要なのでしょうか? Adobe社FLASHの体験版をネットの初心者講座等を見て、使用してみたのですが殆ど理解出来ず、思うようにオブジェクトを動かせませんでした。 もちろん、根気がものすごく必要だということはわかっています。 色々、Amazonとかで初心者用の本とか無いものかと探しているんですけれど、結構主出版されており私みたいな初心者でも理解できる本なのかレビューを見ただけではわからないので、もし超初心者でも理解可能な書籍等もお勧め頂ければと思っています。 また、回答者様で自分も全くの初心者だったけれど今じゃばりばり作ってますというような方(最初は皆様初心者でしょうが・・・)がいらしゃったら、FLASH作成においての体験談やこうゆう本、ソフトを使ったとか、どういう風に始めたかなど教えてくだされば嬉しいです。 今回、FLASH作成をしてみようと思い、質問サイトでの過去の質問などのぞいていたのですが、情報が数年前だったりと古かったりしたので改めて質問させてもらいました。 よろしくお願いします。

  • ActionScript ランダムでMC複製、位置、大きさ、角度などを変更させたいのですが

    http://namatamago.com/site/work/sample/ver5/Random/Random07.html http://namatamago.com/site/work/sample/ver5/Random/Random07_2.html 上記URLのような動きをさせるムービーを制作したいと思っています。 使用ツールはFlash8、ActionSctiptはこれまでサンプルソースを見て自分なりに数値を変更などの範囲でしか利用していません。 flaファイルのサンプルがあればなんとか自分の力でできそうなのですが、残念ながら上記サイトでは公開を終了されてしまったようです。 これに近いサンプル・制作方法のわかるサイトや書籍、参考になるようなものがあればご紹介いただけないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 携帯ゲームを作りたい

    はじめまして、質問よろしくお願いいたします。 趣味でビジュアルノベルや恋愛AVGなどのフリーソフトを製作しています。(ツールはコミックメーカー、吉里吉里、FLASHなどを使用) この度一度挑戦してみたかった携帯でプレイできるゲームを作ってみたいと思い意気込んでいたのですが、検索の仕方が悪いのかあまり参考になるページが見つからずに行き詰まっています。そこで携帯用のゲーム(アプリ)を製作された事のある方、または詳しい方にお聞きしたいのですが ●お勧めのツールや(もしあるなら)フリーツールを教えてください ●携帯ゲームを作るにあたり初心者用のお勧めの講座サイトや書籍などありましたら紹介して頂けないでしょうか ○欲を言うと、完成したゲームの公開方法なども教えて頂けると嬉しいです。 初めて作るので複雑な変値や選択肢の無い、背景や1枚絵だけで構成されたシンプルな短編ノベルゲームにしようと思っています。 FLASHはある程度理解しているつもりです。javaに関しては無知に近い初心者です; …関係ないかもしれませんが使用している携帯はauです。 どうぞよろしくお願いいたしますm(__)m

  • ホームページ制作で依頼側が原稿を用意するタイミング

    個人事業主や、中小企業がホームページ制作を依頼する場合、 ホームページに載せる原稿はどのタイミングで提出しなければいけないのでしょうか? 公開までの流れとしては以下のようなステップを踏むと思うのですが、 どの段階までに原稿を用意しなければならないのか、調べてもいまいちわかりませんでした。 依頼 打ち合わせ トップページデザイン制作 確認 サブページデザイン制作 確認 コーディング 納品 普通に考えて、 原稿がなければ制作側はトップページに何を載せるかわからないため、作りようがないと思うので、 トップページデザイン制作に入る前までに提出する必要があると思うのですがいかがでしょう? もしくは、 打ち合わせ時におおまかに載せたいことを話しておき、 デザインを作ってもらう→そのあと具体的な文章を入れていく、、というのも可能なのでしょうか? 個人的に考えて、おおまかでは文章の量も定まらないし、デザインが定まらなく、制作側は困ってしまうと思うのですがいかがでしょうか? ご回答よろしくお願い致します。

  • かるたについて

    かるたについて教えていただきたいのですが、 かるたってキャラクター物とことわざ物、昔ながらのかるた等 いろいろあると思うのですが、私が探しているのがなかなか見つかりません。 時期的にも過ぎてしまったのもあるのかもしれないのですが、 なんとかして見つけたいのです。 そのかるたというのは、 絵が写真の野菜、動物、乗り物、身の回りの物になっているかるたです。 こういうかるたご存知の方いらっしゃいましたら、 情報をお願いします。

  • かるたに、”を” がある?

    アンパンマンのカルタなのですが、”を”のカードがないのですが、いいのですか?

  • かるたの作り方

    いろはかるたの作り方で、最初の文字を濁点や○をつけることは出来ますか?? 例えば、 「は」で「バトンはリレーで使うもの」などのように、 「は」のところを「ば」から始めるのは、ルール上ありですか?? 教えてください。

  • 一眼レフデジカメの購入について(おすすめ機種等)

    質問させて頂きます。 一眼レフデジカメを購入希望なのですが、初心者ですので何を選択すればよいか悩んでいます。 希望としましては((1)から優先です。また、分からない事については回答頂けると嬉しいです)、 (1)電池は専用の充電型ではなく、市販の(単3等)が使えるもの(前に使っていたデジカメは一眼レフではないのですが、充電池が自然放電で使えなくなってしまい、困りましたのでT_T)。 (2)用途は風景、記念撮影、花等ですので、速い動きにはあまり対応していなくてよいのですが、マクロが少しでも良いもの。 (3)画素数は昔、400万もあればいいのでは?と聞いたのですが、どうなのでしょう?あまりこだわりませんが、600万以上あるもの。 (4)値段は安い方がよいですが、15万円くらいまで。 (5)記録メディアはコンパクトフラッシュ64Mを持っているのですが、足りるでしょうか?足りるのであれば、コンパクトフラッシュが使えるもの(また、PSPというゲーム機についていたメモリースティックが使えるものはあるのでしょうか?) 以上です。 おすすめの機種等ありましたら、回答頂けると嬉しいです。 よろしくお願い致します。

  • 5・7・5調 かるた

    御自身が「5・7・5調のかるた」を作成するとしたら・・・ かるたの「い」・「ろ」・「は」は、それぞれどう表しますか? ただし、作品のテーマは統一して下さい^^ 例>私は 「い」・・・いきそうに なるとすかさず 九九唱え 「ろ」・・・ローテンション 全部脱ぐ奴 あるかバカ 「は」・・・はじらいが たまらぬおまえ もういない テーマはちょいエロです(笑)  ※どギツイのはご遠慮ください<m(__)m>

  • 「うんすんかるた」って何ですか?

    「うんすんかるた」というのはどんなものですか。そして、どうして「うんすんかるた」という名前なのでしょうか。その由来も含めて、教えて下さい。 また、実際の写真か絵があれば見たいです。 宜しくお願いします。

専門家に質問してみよう