景品パネルの作り方

このQ&Aのポイント
  • FLASH初心者が結婚式の二次会の幹事をする際に、パネルを使った景品ゲームを行いたい。
  • パネルの裏に別の絵を表示させ、ランダムに景品を抽出し、特定の景品は後の方で表示されるようにしたい。
  • FLASH初心者のため、作成の概要やアクションスクリプトなどの教えていただけると助かります。
回答を見る
  • ベストアンサー

景品パネルの作り方

FLASH初心者です。今度友人の結婚式の二次会の幹事をすることになりました。 そこでゲームをするのですが、景品を選んでもらうときに以下のような方法で景品を表示したいのです。 9枚のパネルが並んでおり、そのうちの1枚をクリックするとパネルがめくれて裏に書いてある景品が表示れる。これをゲームの勝者に1人ずつ選んで貰うというものです。 現在悩んでいるのは、 (1)パネルの裏に別の絵があるようにしたい (2)景品はランダムに抽出したい(1番のパネルにはAの景品、2番のパネルにはBの景品と決めておかない) (3)特定の景品は後の方で表示されるようにしたい。 ということなのですが。。。 FLASH初心者のため、悩んでおります。よい方法がありましたら作成の概要や、アクションスクリプトなど教えていただければ幸いです。

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

質問者が選んだベストアンサー

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

#1です CS5 をお使いでしたら パネルがめくれるアニメーションを作る際に ムービークリップを「3D 回転」させると よりリアルな表現ができると思います【添付図↓】 しかしこの機能を使うには ActionScript 3.0 のパブリッシュ設定にする必要があります。 そうなると #1 のスクリプトは使えません。 またお礼に ActionSctipt 3.0 をご希望と書いていらっしゃるので 3.0 に書き換えました。 ActionScript 3.0 設定の 新規ドキュメント を作成し フレーム1にコピペ→「制御」→「ムービープレビュー」する例です。 --------------- //適当に9個のMCを作成(本当は手動で作成) for (var i:uint = 0; i <= 8; i++) { this["panel" + i] = new MovieClip(); this["panel" + i].x = i % 3 * 60 + 40; this["panel" + i].y = Math.floor(i / 3) * 40 + 20; this["panel" + i].buttonMode = true; this["panel" + i].mouseChildren = false; this["panel" + i].txt = new TextField(); this["panel" + i].txt.autoSize = TextFieldAutoSize.CENTER; this["panel" + i].txt.border = true; this["panel" + i].txt.text = "panel" + i; this["panel" + i].addChild(this["panel" + i].txt); this.addChild(this["panel" + i]); } //9つの要素の配列を作成 //最後の Z を "特定の景品" 対象文字とする var arr:Array = new Array("A","B","C","D","E","F","G","H","Z"); //クリック数カウント用変数を用意 var cnt:uint = 0; for (i = 0; i <= 8; i++) { //9個のMCクリック時に関数 mcClick を実行 this["panel" + i].addEventListener(MouseEvent.CLICK,mcClick); } //関数 mcClick を定義 function mcClick(e:MouseEvent):void { //カウントを1加算 cnt++; //乱数を入れる変数の宣言 var rnd:uint; //もしカウント数が6以下であれば if (cnt <= 6) { //0~配列の最終要素-1までの乱数を取得 rnd = Math.floor(Math.random() * (arr.length - 1)); //カウント数が6以上であれば(最後の方であれば) } else { //0~配列の最終要素までの乱数を取得 rnd = Math.floor(Math.random() * arr.length); } //その乱数要素を配列から削除して取得表示 e.currentTarget.txt.text = "景品" + arr.splice(rnd,1); //クリック動作を削除(重複クリック防止) e.currentTarget.removeEventListener(MouseEvent.CLICK,mcClick); e.currentTarget.buttonMode = false; } --------------- なお ActionScript 3.0 ではシンボルに識別子を付けられません。 もしライブラリからシンボルを呼び出す場合は クラス名を付けて new ○○ で呼び出します。 その場合はこの辺をご参考に↓。 「F-site [AS3] クラスを文字列で参照したい」 http://f-site.org/articles/2008/01/17051234.html あと#1も2も字数制限ほぼいっぱいで これ以上詳細な説明はココでは難しいです。  

その他の回答 (1)

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

Flash のバージョンなどを一切書かれていらっしゃらないため 具体的な回答がしにくいですが。。。 回答できないので 勝手に(かなり無難に) Flash MX 以上をお持ちで ActionScript 1.0 または 2.0 をご使用で Flash Player 6 以上で動作するものと決めます。 (Flash MX 以上 とは Flash MX,Flash MX 2004,Flash 8,Flash CS3,Flash CS4,Flash CS5 のことです。) 「パネル」 に対して 「ランダムな裏」 を考えると 特に (3) の条件がややこしくなります。 そこで 『クリック』 に対してのみ 『ランダムな裏』 を考えます。 そうすると比較的簡単になると思います。 ActionScript 1.0 または 2.0 設定で 新規ドキュメント を作成し (Flash MX は ActionScriptバージョンの選択はできない。) 次のスクリプトをフレーム1にコピペして 「制御」→「ムービープレビュー」などをしてみてください。 ------------------------ //適当に9個のMCを作成(本当は手動で作成) for (i = 0; i <= 8; i++) { this.createEmptyMovieClip("panel" + i, i); this["panel" + i]._x = i % 3 * 60 + 40; this["panel" + i]._y = Math.floor(i / 3) * 40 + 20; this["panel" + i].createTextField("txt", 0, 0, 0, 0, 0); this["panel" + i].txt.autoSize = "center"; this["panel" + i].txt.border = true; this["panel" + i].txt.text = "panel" + i; } //9つの要素の配列を作成 //最後の Z を "特定の景品" 対象文字とする var arr = new Array("A", "B", "C", "D", "E", "F", "G", "H", "Z"); //クリック数カウント用変数を用意 var cnt = 0; for (i = 0; i <= 8; i++) { //9個のMCクリック時の動作 this["panel" + i].onRelease = function() { //カウントを1加算 cnt++; //もしカウント数が6以下であれば if (cnt <= 6) { //0~配列の最終要素-1までの乱数を取得 var rnd = Math.floor(Math.random() * (arr.length - 1)); //カウント数が6以上であれば(最後の方であれば) } else { //0~配列の最終要素までの乱数を取得 var rnd = Math.floor(Math.random() * arr.length); } //その乱数要素を配列から削除して取得表示 this.txt.text = "景品" + arr.splice(rnd, 1); //クリック動作を削除(重複クリック防止) delete this.onRelease; }; } ------------------------ 実際の作成例としては カードが裏返るアニメーション入りのMC(ムービークリップ)を9個用意しておいて それぞれのシンボル(≠インスタンス)に適当な識別子を付け クリックしたカードと同じ座標に ランダムなシンボルを attachMovie() で呼び出すというような工夫も考えられます。 (あくまでも工夫の一例です。他にも方法はあります。) 「リンケージについて」 http://www.1art.jp/flash2/chapter/33/33.htm  

niiisannn
質問者

お礼

教えていただいたscriptをコピペすると僕のイメージしているものが表示されました。 actionscript3.0だとエラーがでました。 申し訳ないのですが、実際の作成例として示していただいた方法についても、actionscriptを記載して頂けませんか? 是非宜しくお願いします。

niiisannn
質問者

補足

ご回答ありがとうございます。 FLASHのバージョンはCS5をOSはMacOS10.6.6を使用しております。今日はちょっと時間がないので明日以降試させていただきます。 また結果を報告致します!!

関連するQ&A

  • 結婚式二次会の景品アイディアをください。

    結婚式二次会の景品アイディアをください。 結婚式二次会の幹事をやっておりますが、 ゲーム勝者に配る景品が決まらずに困っています。 いいアイディアあれば教えてください。 ■チケット系案は決定済なのでチケット以外 ■年齢層は20台後半~50台(30前後中心) ■会場は駅チカ ■男性:女性=2:1 ■1万円、7千円、5千円、3千円の4ラインで複数案が欲しい

  • 抽選会の景品について

    質問致します。ゲーム店で抽選会を行い景品をお客に渡す場合に何か金額などに制限があるか教えてください。 1、抽選会はゲーム店主催、景品そのものはゲーム機会社が協賛品として例えば1等用に20万円相当のTVを店に渡し景品とする、もちろん2等・・・・・と他にも景品あり、しかし、店は景品はすべて協賛品でまかなう。この方法で開催した場合、景品表示法とか公正取引法などに違反しますか?抽選対象者はゲーム機で100円でも遊んで頂いたお客さんに抽選券を渡す方法です。よくある1,000円相当の品物を買っていただいたお客さんにその20倍までの金額しか景品として出してはいけないなどを聞いた事があるので気になります。しかし、今回景品を買うのではなく、あくまでも協賛品として金額相当のものを受けとるので0円という感覚では無理でしょうか。 2、ゲーム機メーカーがゲーム店で抽選会を主催する形の時も上記の様な方法で行った場合、景品の金額の上限などはありますか。

  • 結婚式の二次会の景品購入について

    2013年4月に友人の結婚式の幹事を頼まれました。 そこで、ゲームなどの余興でビンゴをしようと思っています。 景品なども用意して欲しいとのことで、予算は20万円。 以前出席した二次会で、パネルと当選ハガキで、現物の持ち帰りは必要ないという 形式でのビンゴを見た事があります。 そういったものはどこで購入可能なのでしょうか。 ネット上で販売しているサイト等はありますか? もしご存知でしたら、URLを教えて下さい! 結構急ぎなので、早めに回答もらえると嬉しいです!

  • 雀荘をパチンコ屋みたいな換金システムにすれば合法?

    客がメダル売機でメダルを買い、マージャン卓に4人が座りそれぞれ1枚ずつメダルを入れてゲームを始め勝者がメダルを受け取る。 雀荘運営者からメダルを景品と交換してもらい、その景品を雀荘裏の換金所に持って行き換金する。 それならば、パチンコ屋と同等の仕組みだと思いますが摘発されるでしょうか?

  • Windoes7のコントロールパネル

    Windows7にコントロールパネルとゲームがありません。ゲームはどうでもいいのですが、コントロールパネルを表示させる方法を教えてください。

  • Flashでランダムクイズゲームを作成する方法

    こんにちは。 Flashを使用してクイズゲームを作成しています。 30問から10問ランダムに出題して、正解の点数を出すようにする予定です。 現在↓のサイトを参考にして作成してます。 http://orange.2-d.jp/flash/action/19.html しかし、重複でランダム表示されてしまい行き詰まっています。 どのボタン、フレームにどのような命令をしたら良いのか分かりません… Flashに詳しい方、教えていただけると嬉しいです。

  • 画面をランダムに動き回るアクションスクリプト

    フラッシュのアクションスクリプト初心者です。 勉強するにあたってまずは下記のようなアクションを作ってみたいんですが どなたか説明していただける方いらっしゃいますでしょうか? PCの画面上を、なんでもいいんですが例えば●という物体がランダムに動き回るアクションスクリプトってどのように記述すればよいでしょうか? 端まで行ってぶつかったらまた違う方向に移動するというようなものです。 方向もランダムで移動するんですが。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • 忘年会の幹事の事で困っています。

    初めまして。 忘年会での事で、助けてください。 忘年会が近いうちにあるのですが、場所と時間は決まっているのですが、ゲームとかはまだ決まっていなくて・・・ 幹事をする事も最近決まって… 予算もありません。 何かいい方法はないでしょうか? ゲームをするにしても、景品を買うお金も無くて…景品は全員に行き渡らないといけないのでしょうか?

  • サークルの合宿で行うゲームについて(景品付き)

    明後日に大学のサークルで、12名で合宿に行くのですが、昨年末に先輩がサークルを引退し、今回僕が初めて合宿の幹事を行うことになりました。そこで、夕食後に景品付きのビンゴゲームを行うことになりました。 普通のビンゴのルールだとダレる、という意見が出たので、ちょっと変わったルールを考えていたのですが、なかなかいい案が思い浮かびません。 ちなみに去年の夏にも合宿でビンゴをやったのですが、その時は皆に「恋人にするなら誰か」「Sっ気が一番強そうな人は誰か」などのお題が16問と、1~16番までの番号と余白のある4×4マスのビンゴカードを配り、ビンゴを始める前に皆に部員の名前をマスの余白部分に書いてもらい、一人を指名してお題の番号に当たる人の名前を答えてもらうという、いわゆる人名ビンゴ的なもので、お互いの素性を知れるゲームにもなりました(説明がへたくそですいません)。 今回の合宿に行くメンバーは、夏合宿にも行ってこのビンゴを経験した人がほとんどなので、今回はこれとは違う形式のビンゴをやりたいと思っています。 ビンゴでなくても、12人程度で、1位から12位までの順位が付けれて盛り上がれるようなゲームなら何でも構いません。(あまり道具を使わず、ルールが簡単なゲームが良いです) 何か良い形式のビンゴ、またはゲームがあれば教えて下さい。 よろしくお願いします。

  • Java Script、GGI、Flash?どれがいい?

    プログラマーじゃないので、あまり詳しくありません ホームページ上でテキストのランダム表示を行いたいです。 今、何でつくるか、考えているんですが、 何でつくるのがベストでしょうか? Java Script、GGI、Flashなどあると思うんですが。 当方、Flash(Action Scriptも)は使い慣れているんですが、 なんか重たくならないのか、多少心配です。

専門家に質問してみよう