13 コピー

Similar documents
16 コピー

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

コンピュータグラフィックス演習 I 2012 年 5 月 21 日 ( 月 )5 限 担当 : 桐村喬 第 7 回モデリングの仕上げ 1 カメラワークとアニメーション 今日の内容 1. カメラワーク 2. シーンの設定 3. アニメーション 前回のテクスチャの紹介 1 / 10

AutoSway_Gaide_kari4

目次 1. デジタル押し花の作り方 3 2. デジタル押し花をきれいに仕上げる方法 まとめ 課題にチャレンジ 19 レッスン内容 デジタル押し花 マイクロソフト社のワープロソフト Word 2010( これ以降 Word と記述します ) の図ツールに搭載されている [ 背景

Microsoft PowerPoint - diip ppt

Microsoft Word - 415Illustrator

Microsoft Word - サンプル _図面編集_.doc

Microsoft Word - as3_errata.doc

画像参照画像送り 5 画像下部に再生ボタンが表示されます 再生ボタンをクリックすると 自動コマ送りされます 1

スライド 1

PowerPoint プレゼンテーション

目次 1. アニメーションの軌跡の概要と仕組み 3 2. パノラマ写真にアニメーションの軌跡を設定 まとめ 課題にチャレンジ 19 レッスン内容 アニメーションの軌跡の概要と仕組み アニメーションの軌跡とは スライドに配置したオブジェクト ( テキストや図形 画像など ) を

サインイン 最初にサインインを行います サインインしたときとそうでないときでは 表示やメニューなどが少し違います アカウントがない場合 最初にアカウントを作りましょう サインインしていないとき サインインしたとき メッセージ 更新情報とお知らせがとどきます

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

コンピュータグラフィックス第8回

MMC Unity講座

HCI プログラミング 5 回目ウィンドウに画像を表示してみよう 今日の講義で学ぶ内容 画像の表示 画像のエフェクト 画像のビューポート指定 画像の表示 1 画像を表示してみましょう 画像の表示はクラス ImageView により管理されます ソースファイル名 :Sample5_1.java //

目次 1. アニメーションの仕組み 3 2. ワードアートでムービーのタイトルを作成 7 3. まとめ 課題にチャレンジ 19 [ アニメーション ] 機能 PowerPoint に搭載されている [ アニメーション ] 機能を使用すると 文字や図形にアニメーション ( さまざまな動きや

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

< F2D D E6A7464>

Mapmakerfor の手順下絵を準備 作者の設定した大きさで作成する場合 下絵にする地図を挿入 トリミングと大きさの調整 大きさを調整した画像を保存 下絵を背景に設定 作成画面の大きさを調整 1 自分で用意した下絵を背景にする場合 下絵を背景に設定 作成画面の大きさを調整 画像が大きい場合シート

Wordの学習

アプリケーション

第 8 回の内容 クライアントサイド処理 JavaScript の基礎

vecrot

ガイダンス

1 2 Sample Sample Sample 3 1

第1章 ビジュアルプログラミング入門

レコードとオブジェクト

PowerPoint プレゼンテーション

ガイダンス

Microsoft Word - VBA基礎(6).docx

Autodesk Revit Structure 2014

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 ゲームプログラミング スプライト スプライト Pygame では pygame.sprite を用いる事でスプライトの管理 描画 衝突判定等を簡単に行う事が出来る 此れを利用してキャラクター操作に関する各種機能をスプライトクラスとして 1 個

4. 下のような画面が表示され 写真を挿入する為に ファイル / ディスク ボタンをクリックします 5. 下のような画面が表示され 挿入する写真を選択し 挿入 ボタンをクリックします ( 写真は Ctrl キー または Shift キーを使うことで 複数枚選択することができます ) (2)

産能大式フローチャート作成アドインマニュアル

Webデザイン論

Processingをはじめよう

JTrimで「さくらんぼ《を描く[下巻]

Microsoft PowerPoint - pr_12_template-bs.pptx

JavaプログラミングⅠ

Microsoft PowerPoint - BIGPADマニュアル日本語_ pptx

マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System 操作説明ビデオなどは 高校 情

目次 1. CAD インターフェイス (3D_Analyzer&3D_Evolution) ユーザーインターフェイス機能強化 (3D_Analyzer&3D_Evolution)... 3 レポート... 3 クリッピング機能... 4 言語... 4 表示オプション

Delphi/400でFlash動画の実装

P.5( ツール一覧 ) 変更 追加のあったツール 16 パペットワープツール ( 新機能 ) CC2018 より [ パペットワープツール ] が追加されました [ 自由変形ツール ] は [ パペットワープツール ] のアイコンを長押しして切り替えることができます アートワークを選択した状態で

写真をクリックすると 拡大表示される Flashフォーマット Flashフォーマットは 写真が自動または手動で切り替わっていく スライドショー形式の表示方法です ページ内の情報 が多い場合や 写真をイメージ的に見せたい場合に便利です iphoneをはじめとする一部のスマートフォンはflashをサポー

1. マイピクチャの中に [ 講習用 ] フォルダーを作成し その中に上記の図のような階層構造のフォルダーを作成します (1) まず マイピクチャの中に [ 講習用 ] フォルダーを作成します [ コンピューター ] [ マイピクチャ ]1 [ マイピクチャ ] フォルダ内 ( 右枠 ) の空白部分

VB.NET解説

まう不具合を解消 Windows10 バージョン1803で ディスプレイのサイズを125% 150% にすると STORM VのTOP 画面がズレてしまう不具合を解消しました 6. 動画 + 音声 コンテンツをインポートすると再編集出来なくなる不具合を解消 スライド+ 動画 + 音声 コンテンツをイ

GIS利用クイックチュートリアル

Microsoft Word - 操作マニュアル(PowerPoint2010).doc

PowerPoint プレゼンテーション

グラフィックス 目次

スライド 1

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

(Microsoft PowerPoint -

仙台高等専門学校竹島研究室太田恭平 スイッチ教材ソフト ~ シャボン玉 ~ 今回はクリック教材としてシャボン玉というソフトを制作します クリックするとシャ ボン玉が膨らみ 飛んで行くというアニメーションです パワーポイント 2010 版で説明しています ( 操作によっては説明を端折っています ) 1

コンテンツメディアプログラミング実習2

Microsoft PowerPoint P演習 第10回 関数.ppt [互換モード]

Microsoft Word - GIMP.doc

Windows7 Windows Live ムービーメーカーで スライドショー作成しよう! PC 教室山下 0

Microsoft PowerPoint - Lec24 [互換モード]

SnNCutCnvs 内蔵のラインストーン模様を使いましょう [ ステップ ] 編集画面にある模様テンプレートから模様を選びます 模様リストから [ ラインストーン ] カテゴリーを選択します 模様リストが表示されます 希望の模様を選んで 編集領域へドラッグします 一覧から模様アイコンをクリックする

Spydercheckr03.indd

VW.mcd

Microsoft Word - 白井散策マップ_日本語マニュアル.docx

PowerPoint プレゼンテーション

1 パワーポイントの起動と終了 1-1. 起動 スタートボタンをクリックし すべてのプログラムから Microsoft Office をクリックし Microsoft PowerPoint をクリックし起動します マイクロソフトオフィス マイクロソフトパワーポイント 2010 スタートボタン 1-2

Graphical User Interface 描画する

コンピュータグラフィックス第6回

Microsoft Word - Galopマニュアル doc

Scratch で簡単プログラミング 作例 : ペンギンさんのごあいさつ ( 筆者作成 ) 作例 :Bezier Game -

. フォントを OS にインストールする インターネット等で入手したフリーのフォントをインストールすることにより Windows に標準でインストールされているフォント以外のものを利用することができます 多数のフォントをインストールするとパソコンの動作が遅くなります 必要なフォント以外はインストール

また おすすめはしませんが C: Program Files Adobe Adobe After Effects [version] Support Files Plug-ins に配置することによって After Effects からのみ使用できます macos の場合 /Library/Appl

アセンブリにおけるパターンの作成

ガイダンス

Microsoft Word - BentleyV8XM_GoogleEarth.docx

Sample 本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft Excel 2010( テキスト内では Excel と記述します ) 画面の設定( 解像度 ) ピクセル 本テキストは 次の環境でも利用可能です Windows

データ構造とアルゴリズム論

as_viewer_manual_new_version

手書認識 グラフ描画 Step2-2 手書認識 : 認識結果を PaintPanel で描画する < 属性付き文字列 AttributedString> 標準出力では分かりにくいうえに認識結果を使えないので 認識するごとに PaintPanel に文字を描画することにする ここで 数式はただの文字列

目次 1. フラッシュ型スライド教材を作ってみよう 2 2. 文字が順に消えていくスライド教材を作ってみよう 5 3. 文字が順に現れるスライド教材を作ってみよう 8 4. 音声とともに文字の色が変わるスライド教材を作ってみよう スライド教材を種類別にまとめてみよう 14 * 実践事例集

前回のあらすじ 物理演算ライブラリ chipmunk を使って チキンが地面に落ちるところまで

第21章 表計算

Clickteam Fusion 物理エンジンガイド

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

アクション講座 第1回目

操作元地図準備 フォームの表示 地図準備 シートのフォームのボタンを押し 下絵の準備 フォームを表示します 有料版にされる時は 有料版に ボタンをクリックしパスワードを入力して下さい 元地図の準備 元地図準備 ボタンをクリック ( メッセージが表示 OK で消す ) ファイルを開く ダイアログが表示

■新聞記事

Android Layout SDK プログラミング マニュアル

しずおかアプリ部 Unity はじめるよ すごいよサウンド機能 実践編 統合開発環境を内蔵したゲームエンジン いろんな職業の が る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この

フローチャートの書き方 プログラムの開始と終わり 処理の流れの表記 ( アルゴリズム ) 逐次型 ( 直線型 ) 分岐型 ( 開始 ) 処理 1 条件 条件 処理 2 の処理 の処理 の処理 ( 終了 ) 処理 3 プログラムや人間の判断などのアルゴリズムは基本的に 逐次型 分岐型 ループ型の組み合

目 次 タイトルの作成... 1 新しいスライドを作成... 1 画像の挿入... 2 テキストボックスの挿入... 4 練習問題 表の挿入... 7 グラフの挿入... 8 図形の挿入... 9 テーマの設定 アニメーションの設定 グラフの系列別のアニメーショ

貼り付け コピーを貼り付ける ( ホームタブ ) 書式のコピー/ 貼り付け 同じ様式で 他の図形を同じ色や線で適用します ( ホームタブ ) グループ化( オブジェクトのグループ化 ) 複数の図形をまとめて一つの図形にする ( ページレイアウトタブ グループ化 または描画ツール 書式 グループ化 )

12 コピー

1/2

OHP シートの作成 OHP でプレゼンテーションをする際に必要な OHP シートを作成できます 配布資料の作成プレゼンテーションの参加者に配布する資料を簡単に作成できます 参加者はメモ等この資料に書き込むことができ 理解を深めることができます 発表者用資料の作成プレゼンテーション中に発表者が参考に

Transcription:

STAC STAR STAC STAR Sample URL http://stacstar.jp// Archive.zip File ActionScript 2.0 Flash Player 8 Flash 8 2 3

発案 デザイン大きなスクラッチを削る爽快さを表現 コインの状態をユーザーの操作に置き換える 置いてある状態 立っている状態 コインを つかむ 動作 コインの 3 つの状態をつなぐことで削る動作を表現 立っている状態 置いてある状態 コインを 離す 動作 このコンテンツは 現れるコインをつかみスクラッチをひたすら削るだけです 削りカスやコインの動き スクラッチ全体の動きなど登場するアイテムをリアルに表現することで爽快感を演出しています また 背景の絵を容易に変えられるように外部の素材を読み込ませているので スクラッチ本来の何が出るのかという楽しみ方もあります " コンセプト このコンテンツのコンセプトは 誰もが削ったことのあるスクラッチをステージいっぱいに配置し その大きなスクラッチを削ることの爽快さを表現することでした ここに現れるアイテムは スクラッチ コイン スクラッチのカス スクラッチの下の絵の 4 つだけです 爽快さを表現するためには その 1 つ 1 つにリアリティを持たせることが重要になります 短い時間で各アイテムのリアリティをユーザーに認知させるためには 実際とは異なるデフォルメした表現も必要です また Flash 8 から加わった エフェクト を使用し いままでの Flash のベクターを中心とした表現とは違った表現を演出しています " コインの表現 コインはユーザーが操作するアイテムになります スクラッチを削るときコインの状態は 置いてある状態 立っている状態 動いている状態の 3 つになります この状態をユーザーのマウス操作でスムーズにつなぎ 表現することでリアルな操作感を演出させています 動いている状態コインを 動かす 動作 つかむ 離す に関しては 数枚の写真を実際に傾斜を付けて撮影を行い アニメーションさせました また スピードを付けてコインを離したときには 普通に離したときのアニメーションとは違い 回転しながらカタカタと小刻みに揺れながら落ち着くというコインらしい動きを付けました 実際 スクラッチをしていてこのような動きをすることはないと思います しかし ここでは コイン であるという表情を強く訴えたくて あえてこの表現を加えました この傾きながら落ち着くアニメーションでは 実際に撮影したコインの写真を使っていません それは アニメーションさせたときに光の反射の部分のつなぎが困難だったからです そこで 正面から撮った画像に画像編集ソフトで遠近を付けて それをうまくつなげました " スクラッチの表現 スクラッチの画像は質感の似た反射の少ないパネルを撮影し それに画像編集ソフトで色合いや質感を調整していきました しかし いくら繊細に表現しようが 日常それほど目にすることのないスクラッチを画像 1 枚で認識させるのはなかなか困難です スクラッチはコインと合わせることで初めて スクラッチ であると認識できるでしょう しかし それをあ細かなキズの表情えて利用してコインの登場を遅らせました 一度ユーザーに これはなんだろう? と思わせることにより興味を惹くためです スクラッチを削ったときに削れるのはもちろんですが 実際に削ってみると弱く削ったときやコインが滑ってしまうときは削れずにその部分だけキズが付きます そういった細かな演出も取り入れています " カスの表現 ムービー再生後 コインはすぐに登場しない 特にスクラッチの表現を豊かにするのがカスの存在です 通常 スクラッチを使うコンテンツでは下に出てくる アタリ や ハズレ という 結果 が重要になりますが 今回作成したものは下の面に絵があるだけで 結果 はありません ( もちろんランダムな絵を用意してアタリ / ハズレを用意することもできます ) 結果が目的である 4 5

コンテンツでは カスが邪魔な存在にさえなってしまいます しかし このコンテンツでは カス の存在こそがリアリティを演出する大きな役割となっています カスに関しては 多くのスクラッチを削って実際に出てきたカスをいくつも撮影しました 1 つのカスに対して 6 カット程度用意して画像編集ソフトで切り抜き 色彩調整を行いました その画像を用い Flash 上でアニメーションになるようにコマをつないでいます そして スクラッチを削っている速さ ( 強さ ) に合わせて カスの大きさや角度を変えています 実際には 削りカスはコインにくっついてしまって このコンテンツのように細かなカスがたくさん出てくることはありません しかし 実際に起こることを忠実に表現するよりも あえて頭の中にあるイメージとおりにカスを強調して表現しカスの表情てあります 削ったところに細かなカスを実際よりもたくさん出現させることで 削っている という爽快感を強調しています スクリプトスクラッチを削る動作のスクリプト化 このスクリプトでは 以下の各クラスを使ってそれぞれの動作を表現します スクリプトで使用する各クラス クラス名 BitsOfScratch BitsOfScratchEdge Coin Scratch ScratchContents 概要 スクラッチのカスを表すクラス スクラッチを鋭角に削った際に出るカスを表すクラス コインを表すクラス ドラッグ可能でコインを移動した際に ScratchMediator へ通知する スクラッチを表すクラス 削ることができ 削った際に自動的にカスを生成する このスクラッチ全体を表すクラス 全体を拡縮したり移動したりして削っている部分へズームアップする機能やバックグラウンドの画像を読み込む機能を持つ " カメラの動き ScratchMediator ScratchShape このコンテンツ全体の流れを制御するクラス 各アイテムに変更があった際にどうするかをコントロールする 主にコインがドラッグされた際にスクラッチへ削るよう命令を出す スクラッチの削る形を制御するクラス 削る形をシェイプとして保持し コインを動かした際のスピード ( 強さ ) から削るサイズを調整する はじめに作ったバージョンでは スクラッチ全体をズームさせて動かすことはしていませんでしたが 実際に操作してみると 何か迫力が足りません そこで 削っている部分をズームアップにしてカメラをアップしているような表現を加えました Flash には 3D ソフトのように カメラ の設定はありません しかし 対象のオブジェクトを動かすことで視線を変えるような表削っている部分をズームアップ現が可能です まずは 削るための大まかな流れを見ていきます 次の図のような流れになります 削る 処理の流れ Coin.onMouseMove() マウスが動かされる Coin.noticeMove() Coin の中の noticemove() メソッドが呼ばれる ScratchMediator.colleagueChanged() Mediator( 監視役 ) にコインが動かされたことを通知する 実際にスクラッチを削っているときに視線を近付けることはあまりないとは思いますが 少なくとも削っている部分に集中しているでしょう そこで 削っている部分にズームアップするという表現を加えました これにより 自分が削っているというユーザーの視線がだいぶ強調され 気持ちのよいコンテンツに仕上がったと思います Coin.getEdgeMC() Scratch.shave() コインから削るためのシェイプを取得する スクラッチに指定の引数で削るよう指示を出す 6 7

コインを動かしたとき onmousemove() イベントハンドラが呼び出されます このイベントハンドラは Coin.noticeMove() メソッドで上書きされていて ScratchMediator.colleagueChanged() へコインが動いたことを通知しています ScratchMediator はコインが動かされたときにどうするかという判断をコントロールします ここではもちろんスクラッチを削る処理になります ScratchMediator は Coin.getEdgeMC() メソッドからコインがスクラッチと接しているエリアとなる領域を示す MC を取得し Scratch.shave へ必要な引数とともに呼び出します これが スクラッチを削るための大きな流れです このスクラッチを削る際のメインの処理が書いてあるのが Scratch.shave() メソッド です この処理にフォーカスを当てて スクリプトを見ていきます 今回 スクラッチを削る表現にはマスクではなく Flash 8 からの新機能であるビットマップデータを加工する手法を取りました はじめはマスクとシェイプ描画 API を使うことで制作しようと考えましたが 削り口が単調な形状となってしまい応用が利かないと感じて この方法はやめました 形状を自由にしたいと思うと 特定の形状のシェイプを持ったMCをマスクに複数 attachmovie() していくことになります しかし こうなると処理速度に不安を感じます そこで今回は その両方を解決できそうなビットマップデータを加工する方法を取りました Scratch.shave メソッドは 引数を 3 つ取ります スクリプトで使用する引数 引数 prevpoint var rectangle = new Rectangle(offset.x, offset.y, erasebitmap.width, erasebitmap.height); // 削る場合 if (!missflag) this.bitmap.copypixels(this.bitmap, rectangle, offset, erasebitmap, new Point(0, 0), false); // 削るのに失敗してすこし色が濃くなるとき else this.bitmap.copypixels(this.darkscratchbitmap, rectangle, offset); 概要 Point クラスのインスタンスで削りはじめる始点を表す " スクラッチを削る Scratch.shave メソッドのメインとなるスクリプトを見ていきます vector edge Vector クラスのインスタンスで始点の位置からどの方向にどのくらい削るかを表す MovieClip クラスのインスタンスで削っているときにカスとの接触を調べ 接触した場合にはカスを転がす スクラッチを削る public function shave(prevpoint:point, vector:vector, edge:movieclip):void { var size = vector.size(); var currentpoint = new Point(prevPoint.x + vector.x, prevpoint.y + vector.y); // 削り口のサイズを変更 this.shapewrapped_mc.changesize(size); var erasebitmap = this.shapewrapped_mc.getshapebitmap(); ここでの Vector Point クラスは Flash.geom パッケージではなく org.graffiti.web.dotfla.data.type パッケ ージを使用しています 最初のほうで行っている部分がまさにスクラッチを削る処理です いっけん このメソッドは長いスクリプ トに見えますが 多くは削るための領域を取得したり カスなどの演出のための処理であって 実際にスクラッチのビットマップを削っているのは次の 1 行です this.bitmap.copypixels(this.bitmap, rectangle, offset, erasebitmap, new Point(0, 0), false); // 削るのに失敗して灰色になったとき var missmaxsize = 65; // 弱い力での削り方として認知する移動距離 var randommissmaxsize = 150; // これ以上の移動距離がある場合は灰色の削りにはしないしきい値 var missrand = 15; // missmaxsize 以上の移動距離でも灰色にする確率 var missflag = this.isscratchpoint(prevpoint) and (vector.size() < missmaxsize or (size < randommissmaxsize and MathUtil.randomInt(missRand) == 0)); for (var i = 0; i <= this.trimspan; i++) { var offset = new Point(prevPoint.x + (vector.x / this.trimspan) * i, prevpoint.y + (vector.y / this.trimspan) * i); BitmapData.copyPixels は 指定の BitmapData に別の BitmapData の任意の矩形領域をコピーする機能です オプションでαチャンネルを持つ BitmapDataを指定し その部分をαで抜く ( 削る ) ことができます ここでは this.bitmap( スクラッチとなっているビットマップ ) に対して 第 1 引数にスクラッチ自身の BitmapData である this.bitmapを指定し そして第 2 第 3 引数にて置き換える部分の矩形領域を指定します ここまででは 置き換え元と置き換える素材が同じビットマップで同じ指定をしているので 何も変化が起きません オプションである第 4 引数にαチャンネルの erasebitmap を指定し スクラッチの BitmapData の任意の矩形部分をαチャンネルに置き換えています この矩形領域をαチャンネルで置き換えるという作業を 1 フレームの間に始点から終点まで指定の回数 (Scratch.TRIM_SPAN) 繰り返すことによって あたかも 1 フレーム間を直線で削っているように見せています 8 9

スクラッチにキズを付ける スクラッチは 毎回削れるとは限りません 弱く削ったときや滑ってしまうときにはスクラッチにキズを付 けるようにしています キズ自体は 元のスクラッチ画像よりも明度の低いビットマップを用意して スクラッチを削るときと同じようにスクラッチのビットマップの矩形領域を明度の低いビットマップで置き換えています 以下の部分です this.bitmap.copypixels(this.darkscratchbitmap, rectangle, offset); この場合は オプションのαチャンネルを使用せずに単純に明度の低いビットマップで置き換えているだけです " 削りカスとコインの当たり判定 スクラッチを削っているときに コインがカスと接触した際にカスが転がるように演出しています その部分を見てみましょう 削りカスとコインの当たり判定 // 削りカスの当たり判定 for (var i in this.arrbitsofscratch) { if (this.arrbitsofscratch[i].hittest(edge)) this.arrbitsofscratch[i].move(vector); " 削りカスの生成 コインが動かされるたびに生成したのではステージはカスだらけになってしまうので 削りカスを生成する条件は一定の確率で生成しています 削りカスの生成 // 削りカスを生成 var bitsrand = 5; // 削りカスを生成する頻度 ( 大きいほど確率が下がる ) if (isscratchpoint(currentpoint)) { if (MathUtil.randomInt(bitsRand) == 0) this.createbitsofscratch(prevpoint, vector); // 鋭角をなした場合の処理 var thresholddeg = 150; // 折り返したとみなす角度 var edgebitsrand = 8; // 角を生成する確率 if (this.prevvector!= null and vector.getdegree(this.prevvector) >= thresholddeg) { if (MathUtil.randomInt(edgeBitsRand) == 0) this.createbitsofscratchedge(prevpoint, vector); また コインを削っているときに一定の角度以上で折り返したときには そのエッジの部分にも折り返したとき用のカスを生成しています ここでは 角度が thresholddeg 以上の角度をなしたときに折り返しとみなし また その折り返しの中でも edgebitsrand に 1 回だけ生成するようにしています // 削りカスの角の当たり判定 for (var i in this.arrbitsofscratchedge) { if (this.arrbitsofscratchedge[i].hittest(edge)) { this.arrbitsofscratchedge[i].removemovieclip(); this.arrbitsofscratchedge.splice(i, 1); こういったスクラッチを削る以外の演出を多く取り入れることで コンテンツのおもしろさを深めています 第 3 引数で取られる MC が コインとスクラッチの接触面を定義した MC になります その接触面である MC とスクラッチのカスを格納した配列 Scratch.arrBitsOfScratch を 1つ1つMovieClip.hitTest() メソッドで衝突しているかを確認し 衝突していれば そのカス (BitsOfScratch) の BitsOfScratch.move() メソッドにより指定のベクトル方向へ転がしています 鋭角をなした際に生成された削りカスに関しては 転がすのではなく MovieClip.removeMovieClip() によりステージ上から消しています 140 141