サンプルpfl.


サンプルpfl.

ParaFla!でのFLASH制作の手助けとなるアクションスクリプトのSAMPLE集。
有志によって製作されたり、FAQや質問ページに添付されたプロジェクトファイルを紹介しています。
クリックすると「ファイルのダウンロード」画面が出ますが、
関連付けされていれば「保存」しなくても「開く」でParaFla!が起動するはずです。
製作する場合は、なるべく画像は使わず埋め込みフォント(MS Pゴシック推奨)を使用してください。
一応、下の方の項目に行くほど上の方の項目の知識がないと解らない並びにしています。

ASなし

サイズ

file裏表.pfl
サイズは縦横比でも指定できる
それを利用して裏返すような演出をする方法

fileレコード回転.pfl
レコードが回転するのを斜め上から見たような演出

file伸縮.pfl
ASを使わない簡単そうな動きの方がじつは苦労するという見本

ボタンにする

fileボタンを押下.pfl
ボタンをプレスしたときに形状を変える方法
fileカーソル通過.pfl
ボタンをロールオーバーしたときに形状を変える方法
fileボタン当たり判定.pfl
ボタンのエリアを変える方法
ここでは実際に表示される「■」ではなく当たり判定に指定した「・」にフォーカスが当たるようにしてみた


ロールバック

同じフレームに通常画面を二つ以上置きたいときに使うのがロールバックです
イメージとして、↓のようにしたいとき

ロールバック2.JPG

↓のようにロールバックを使って実現します

ロールバック1.JPG

fileロールバック.pfl
フレームカウントを要する通常画面をふたつ以上動かす方法のひとつ

fileインアウト.pfl
ロールバックを使い一方を透明化もう一方を不透明化しクロスフェードさせる

fileクロスフェード.pfl
実際にクロスフェードさせて切り替わった画像だけを残す

file背景ループ.pfl
背景を延々と動かす方法

マスク

fileマスク基本.pfl
ここでは、深度1で深度2と3をマスクしています

fileマスク.pfl
ここでは、深度1で深度2をマスクし深度0との画面切り替えを行っています

AS基礎

変数と演算子

file変数と演算子.pfl
変数と演算子の説明

*注意*
以下の文字はダメ文字と呼ばれ文字化けすることがある

―ソЫ襲蹴週酬醜住十戎汁獣重叔宿祝粛熟術俊春竣駿循楯淳潤純遵順初暑渚緒書藷徐鋤
↑これらの場合エスケープ文字\を使い「ドレミファ\ソラシド」のように書く

参考:http://ja.wikipedia.org/wiki/Shift_JIS


配列

file配列.pfl
変数にいくつもの要素を並べて代入する方法
RPGのプロファイル管理などに使える
フレームアクションを毎フレーム実行する方法も解説
SWF4では使えない

繰り返し処理

フレームアクションでループを使わずに繰り返し処理を行う
file繰り返し1.pfl
onEnterFrame?を用いフレーム毎に行う方法
file繰り返し2.pfl
setIntervalを用いミリ秒単位毎に行う方法
※説明部訂正※

「何が」がインスタンスmaruに限定しているのなら下記の書き方でもよい

kurikaeshi = setInterval (idou,200);

function idou(){
	maru._x += 5;
	maru._rotation += 10;
}

クリップアクション

fileクリップアクション.pfl
スプライトのプロパティを自力で変化させる方法
SWF4では使えない

if文

fileイフ文.pfl

if(A){}      条件Aに当てはまった場合{}内の処理をする
else if(B){}   条件Aには当てはまらず条件Bに当てはまった場合{}内の処理をする
else{}       そのどちらでもない場合{}内の処理をする

BであることよりAであることが優先する場合は上の書き方だが、
Aであることによる処理、Bであることよる処理を別々に行いたい場合は下のように記す

if(A){}
if(B){}
if(C){}

Aのときは必ずBでない場合はどちらでも構わないが、そうではない場合は意味が違ってくるので書き間違えないようにしよう


for文

fileフォー文.pfl

for (初期化式; 条件式; 再初期化式){処理}

例えば for (i=0; i<10; i++){処理} は、変数iが0〜9の整数の場合処理を繰り返すという意味になる
if文に直すと、

i=0;			//初期化式
if(i<10){			//条件式
	i++;		//再初期化式
	処理
}

のif文の部分を繰り返して一気にやってしまうわけだ

条件演算

file条件演算.pfl
( ? : )は(条件式 ? trueの場合 : falseの場合)という演算子です
例えば

bb = aa%2==0 ? "偶数" : "奇数";

という式をif文で書き換えると…

if(aa%2==0){
	bb = "偶数";
}else{
	bb = "奇数";
}

となります

プロファイル

fileプロファイル.pfl
配列で作ったプロファイルの要素をif文やfor文を使い条件によって削除挿入する方法

セリフをしゃべる

「ラベルを使いセリフを作る」を修正しました
file言葉をしゃべる.pfl
顔マークをクリックすると、上のテキスト欄に言葉が出るしくみ
play、stopと変数、変数での言葉を表示、いろんなスクリプトを応用しているので
まずは、ひととおり見て、わからないことは、ほかのサンプルで

テキスト

変数名をつける

fileテキスト1.pfl
テキストの変数名とインスタンス名の使い方の違いを説明

file一行づつ.pfl
テキストを一行づつ追加する方法


ノベルを作る

テキストを一箇所にまとめる方法

fileノベル1.pfl
文章送りにEnterキーを使う場合
最初に画面をクリックしてもらうために、Startボタンをつけるとよいでしょう

*注意*
swf7以上ではいきなりcount++;だと変数を定義できませんので、
ひとつめのスクリプトにcount = 0;を書き加えてください
また大文字小文字も区別しますので、ふたつめのスクリプトの3行目を
if(count >5 && Key.isDown(Key.ENTER)==true){
と書き換えてください

fileノベル2.pfl
文章送りにマウスを使う場合
画面クリックの指示は必要ありませんが、隠しアイテムなどのようにマウス操作があるゲームには不向きです

fileノベル3.pfl
文章送りにボタンを使う場合
後述のボタンの知識が必要

文字列

file文字列.pfl
テキストから文字列を抜き出す方法

file文字置換.pfl
テキストの文字・文字列を置き換える方法

参考ページ:質問ページ2/105

file一文字づつ.pfl
テキストを一文字づつ表示する方法
fileノベル4.pfl
「ノベル3」に「一文字づつ」を組み込んだ

ローカル保存

fileローカル保存.pfl
とりあえずFlashを開いた回数をローカルに保存し表示させてみた

fileローカル保存改.pfl
テキスト入力してもらった名前の保存も加えてみた

参考ページ:質問ページ2/163および質問ページ2/167

file位置保存.pfl
ドラッグで移動させたインスタンスの位置を保存する方法
※訂正

保存ボタンのASをonClipEvent(mouseUp){}内に書き移す場合は↓
	_root.houmon.data.ichi_x = _x;
	_root.houmon.data.ichi_y = _y;

ボタンを操作

マウスとの関係

fileボタン.pfl
マウス操作でボタンを変形させる方法

参考ページ:質問ページ2/17

乱数

fileランダムラベル.pfl
乱数を発生させてランダムでラベルに飛ばす方法

fileおみくじ.pfl
「ボタンを押下」と「マウスカーソル通過」の使い方と、乱数を取得する方法


ボタンをモーフィングさせる

fileモーフィングボタン.zip
モーフィングは途中のフレームからでも再生できることを利用して、
クリックオンオフでボタンを変形させる方法

マウスで操作

function文

file残像.pfl
function文を使って関数を定義し実行する方法と
それを利用して残像がマウスについて来させる方法
function文をスプライトファイルに書く

file残像改.pfl
function文をスプライトファイルに書くとスクリプトが管理しにくい
そこで、function文をスプライトイベントに書いてしまおう
じつは、クリップアクションのonClipEvent?()ハンドラの後ろになら書くことができるのだ
しかし、すべてのスプライトイベントに書かなければならないのが難点

file残像改2.pfl
function文をメインのフレームアクションに書き、スプライトでそれを実行する方法
関数が置かれている場所を指定したり、それを使う場所での主語を引数に加えなければならない

ドラッグ

fileドラッグ(swf4以降).pfl グローバル関数
fileドラッグ(swf5以降).pfl ムービークリップメソッド
画像やテキストをマウスでドラッグする方法

ドラッグの範囲指定

fileドラッグエリア.pfl
マウスでドラッグできる範囲を指定する方法

ドロップ

fileドロップ.pfl
マウスでドラッグしドロップする方法
サンプルのようにテキスト同士ではあまりドロップの効果が見られません。
PDRに置き換えると、吸着する様子でその効果が目視できるはずです。
fileドロップ.swf
しかし、ドロップ判定は当たり判定で代用する方が一般的かもしれません。

マウスを画像にする

fileマウスカーソル.pfl
マウスカーソルを隠し、画像を代わりに用いる方法

fileマウスカーソル改.pfl
マウスカーソルに変化をつける方法
※訂正 すみません

on(mouseDown)、on(mouseUp)

でも動くけど、正確には

onClipEvent(mouseDown)、onClipEvent(mouseUp)

です

マウスの方向

fileマウスの方向.pfl
インスタンスとマウスの角度を求める方法
インスタンス同士の角度を求めるのにも応用できます


マウスでスクロール

fileスクロール.pfl
矢印をクリックして、スクロールさせる方法
カーソルをのせるだけなら、pressをrollOver、release,releaseOutsideをrollOutに書き換えてください

fileスクロール改.pfl
スクロール量に制限をつけてみた

マウスホイール

fileマウスホイール1.pfl
インスタンス名を指定してマウスホイールを使う方法
回転量と変化量の比率を調節したい場合は
関数部分を+= delta/5または+= delta*5というように定数で演算すればいい

fileマウスホイール2.pfl
カーソル下のインスタンスに対してマウスホイールを使う方法

キーボードで操作

↑←↓→キー

fileキーボード.pfl
スプライトをキーボード操作で上下左右に動かすとき、それぞれに画像を割り当てる方法

fileフラグ.pfl
歩行などのアニメを再生しながら移動させるためには、
フラグを立ててラベルの頭に戻り続けることを防ぐ必要があります

fileフラグ改.pfl
一つの方向のアニメを_xscaleを使って逆向きにする

参考ページ:FAQ/12FAQ/21

ジャンプ(0)

file重力.pfl
ジャンプに重力の減速加速を加える方法

ジャンプ(1)

fileジャンプ.pfl
スクロール系アクションゲームの基礎
ゲームに応用するには「当たり判定」の知識が必要

ジャンプ(2)

file慣性.pfl
左右移動中のジャンプに減速と慣性を加える方法
ゲームによって使いわけるといいだろう

ジャンプ(3)

file景色移動.pfl
景色の画像のX座標を左右に動かすのではなく、景色のスプライトのフレームを動かすことによってスクロールさせる方法

file景色移動&ジャンプ.pfl
ジャンプ中でのキャラの画像を固定にし(今までは「停止」状態になっていた)、垂直ジャンプ中には左右移動をできなくした

描画と複製

まずASでの深度と、ParaFlaでの深度の違いを覚えておこう
ASでは-16384〜+1048575の深度が使える
但し、removeMovieClip?()メソッドが深度0以上でしか使えないため、負の数の深度はASでは通常使わない

AS深度ParaFla深度
-16384
-16383-256
-161270
-15871+256
-15870
: : :
手前+1048575

スクリプトで描画

file描画.pfl
線・多角形・塗り・グラデーションをスクリプトで描く方法

お絵描き

fileお絵描き.pfl
毎フレーム直線の折り返し点を決めそれを連続させることで、あたかも曲線を描画しているように見える

描画を動かす

file動く描画.pfl
スクリプトで描いた描画に変化を加えたり、移動させたりする方法

file自動描画.pfl
スプライトのガイドパス移動に合わせて自動で描画する方法

file自動描画改.pfl
_rootに描くと最背面になってしまうので、スプライトに描画すれば他の画像を背景にすることもできる
仕組みは自動描画.pflの方を最初に見た方が解りやすいだろう

for文で繰り返し描画

filefor文.pfl
碁盤の目をASで書くことによって、for文を学習する

for (i = 0; i < 5; i++)はリファレンスによっては、
for (i = 0; i < 5; ++i)となっていてそれでも同じ演算をするが
ここではAdobeのリファレンスに従い前者を用いる

参考⇒http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000711.html

複製 duplicateMovieClip?()

file複製.pfl
スプライトを複製する方法

file複製動.pfl
複製したスプライトをランダムに動かす方法

file複製動3D.pfl
複製したスプライトで3D的な動きをさせる方法

fileタイル配置.pfl
スプライトに描画したものをfor文で複数複製させて配置する方法
描画しなくてもスプライト内に画像を入れれば画像をタイル表示することができる
「ブロック崩し」ゲーム製作には必要な知識

複製 attachMovie()

スプライトをファイルリストからイベントリストにいつもの手はずで配置すればいいことなのだが、ASで行うことで複数の配置を簡単にできるようになる

fileリンケージ.pfl
duplicateMovieClip?()がイベントリストのスプライトを複製するのに対して、attachMovie()はファイルリストのスプライトを複製する
前者が初期情報を元スプライトの「イベントのプロパティ」やonClipEvent?(load){}で設定できるのに対してattachMovie()はASで配置するときに設定しなくてはならない
そのためattachMovie()は、ダンジョンの壁や通路など動かす必要がないものの構築などに利用する
ファイルリストから呼び込むにはリンケージ識別子というのを使うのだが、スプライトの場合「ファイルのプロパティ」で決めるスプライト名がそれに当たる

fileマッピング.pfl
配列Arrayで行列を作り、複数配置する方法

ダンジョン

fileダンジョン0.pfl
RPGに不可欠な迷路を作る方法
マッピング.pflにリンケージ.pflを適用しているので復習すること

fileダンジョン1.pfl
迷路内でキャラクターを動かす方法
罠やアイテムごとにラベルに飛ばし、違うシーンを演出できる
キーボード操作なので、その前に画面をクリックさせる必要がある

*ダンジョン0の配列haitiとnarabiじゃ解りにくいと思い、スクリプト部分でnarabi[iy][ix]をmp[iy][ix]に書き換えたのに説明の部分では書き換えていませんでした
読み替えてください、すみません

スプライト(ムービークリップ)

スケール

fileスケール.pfl
スプライトを拡大縮小する方法
固定点(拡大縮小の始点)はファイルリストの基準点
ここでは格闘ゲームのヒットポイントの表示に利用したが、後出のローダーのバーの表示にも使っている
file反復.pfl
Math.sin()を使って反復運動をさせる方法
プロパティの値に直接Math.sin()を代入しているので補正は必要ない
file拡大縮小.pfl
Math.sin()を使って、スプライトを心臓のように反復して拡大縮小させる方法
プロパティの値にMath.sin()を加算減算しているので補正が必要だが、
表現したいものによってはこちらの方がASを組みやすい場合もある

深度を換える

file重なり6以降.pfl
画像の重なり具合を換える方法
file重なり7以降.pfl
swf7以降では最前面の深度を取得できるgetNextHighestDepth?()を使うことができる

file衛星軌道.pfl
太陽の周りを地球が公転するイメージ
Math.sin()を使って楕円軌道を描きながら拡大縮小させ、太陽と地球の深度を入れ替える
理解できない場合は、前出の拡大縮小.pflを参考にしてください

背景色

file背景色.pfl
swf8ではスプライトに背景色をつけることができるが、
スプライト内で画像が動き回るとスプライトサイズが変化してしまうという不便さもある

ASによるマスク

fileASマスク.pfl
アクションスクリプトを使ってマスクする方法
インスタンスmaskでインスタンスhaikeiをマスクする場合、サンプルのように
haikei側に

onClipEvent(load){
	setMask(_root.mask);
}

と書いてもいいし
mask側に

onClipEvent(load){
	_root.haikei.setMask(this);
}

と書いてもいい
フレームアクションに書くなら

haikei.setMask(mask);

ということになる

fileマスク描画.pfl
マスク部分をマウスで描画し、ワイパーのような効果を出してみました
更に奥(深度-10とか)に画像を置けば、それを消して前面の画像が現れることになる

日時表示

日付とカウントダウン

fileカウントダウン.pfl
日付と記念日までの日数を表示する方法
Dateクラスを用い1970年1月1日00時00分00秒からの経過時間をミリ秒で取得することによって、現在時と目的時の差を求めカウントダウンする
※AS訂正 if(youbi = 0)以下はif(youbi == 0)以下同様に変更してください。

デジタル時計

file時計.pfl
時分秒を表示する方法
背景画像などを入れる場合は、イベントリストの最後に「アクション何もしない数フレーム」と「アクション停止」を入れてください

file時計改.pfl
2時3分を02時03分と表示する方法
※ASの訂正
× 9>
○ 9>=

アナログ時計

fileアナログ時計.pfl
画像の中心位置とスプライトの基準点の違いを理解してないとアナログ時計は作れない
サンプルでは針にフォントを使ったので多少ずれているが、画像の幅のドット数を奇数にすればずれなくなる

ストップウォッチ

file経過時間.pfl
Flashが始まってからの時間を表示する方法

file簡易計測.pfl
onEnterFrame?を用いて、秒を計測する方法

fileストップウォッチ.pfl
フレームループを用いて、秒を計測する方法

タイムを計る

fileタイム.pfl
ゲームをクリアするまでの時間を計る方法
getTimer()についてはストップウォッチで説明
またここでは計測用に綱渡りゲーム(イライラ棒)も作るため、ドラッグやボタンの知識も必要

当たり判定

インスタンス同士

file当たり判定.pfl
スプライト(インスタンス)同士の接触を判定する方法

壁をバウンドさせる

fileバウンド.pfl
ブロック崩しを作るための予備知識

壁打ち

file壁打ち0.pfl
file壁打ち1.pfl
file壁打ち2.pfl
file壁打ち3.pfl
ブロック崩しの可動部を作る方法
if文の入れ子に慣れるために4段階にしました
解説は省いていませんので、自信のある方はいきなり壁打ち3でもよいでしょう

さてここまで作ってきた過程で挙動がおかしな部分に気づいたでしょうか?
どうやったら直せるかは書きませんので、修正してみてください
ヒント a *= -1;

ブロック崩し

fileブロック描画.pfl
ブロック部分だけを別に作る

fileブロック崩し.pfl
壁打ち3.pflにブロック描画.pflをインポートして「ブロック崩し」を作ってみる
これはすでに組み込んで修正し、できあがったものだが、実際にインポートからやってみてもらいたい

インポート.gif

右図のようにインポートしたら、左図のID0010の中身をコピーしてイベントリストの適所に貼り付ける

しかし何も手を加えないままでは、毎回同じ順番でブロックを崩す結果になる
例えば、maruのif文の入れ子の中の適所に次の一文を加えてみよう

if(this._x < _root.ita._x -15 ){a --;}
if(this._x > _root.ita._x +15 ){a ++;}

このようなアイデアを加えて、より楽しめるゲームにアレンジしてもらいたい

通信

ローカルコネクション

file送信.pfl
file受信.pfl
ひとつのPC上で実行中のFLASH間で情報を送受信する方法
両方のプレビューを開いて実験してください
たとえばHTML上でメニュー用FLASHから異なるフレームにあるメインのFLASHにメニュー項目を通知する場合などに利用できます

参考ページ:質問ページ2/117

file通信.zip
HTML内のふたつのFLASH間でテキストを送受信してみました

サウンドコントロール

プレイヤー

fileサウンド.pfl
サウンドの再生・停止・ボリューム・パンをコントロールする方法
fileサウンド改1.pfl
ボリューム・パンの数値を表示する方法

サウンドのフェイドインアウト

fileサウンドインアウト.pfl
サウンドを音量変化させながらインアウトさせる方法(ボタンなし)
fileサウンドフェイド.pfl
同上(ボタンあり)
fileサウンドフェイド改1.pfl
PCに負担がかかる部分など、少々手を加えさせてもらいました

ブレンドモード

ブレンド

fileブレンド.pfl
swf8でできるブレンドモードの違いを説明
サンプルというより解説です

fileブレンド応用.pfl
描画とのブレンドを行う方法
炙り出し風の効果を出す

アルファマスク

fileアルファマスク.pfl
swf8でできるアルファマスクのやり方を説明
不透明度をグラデーションさせた画像でマスクをかける方法

ビットマップデータ(BMD)

活用範囲は広いですがエフェクトとして利用できるものを紹介
それには最初からビットマップデータオブジェクトを作成するより、 ファイルリストの画像をビットマップデータオブジェクトとして読み込むほうが理解しやすいでしょう

BMDの基本

fileビットマップ0.pfl
画像を読み込む方法

fileビットマップ1.pfl
画像をスプライトに読み込む方法

ピクセル単位の複写

fileコピーピクセル.pfl
ビットマップデータの一部を他のビットマップデータにコピーする方法

砂嵐ノイズ

fileビットマップ2.pfl
砂嵐ノイズを被せる方法
ノイズに利用する画像の色彩によって、ノイズのカラーも違ってきます
白黒・カラフル・セピアなどで試してみてください

fileTR1.pfl
砂嵐ノイズを使ったトランジション

パーリンノイズ

fileビットマップ3.pfl
縦線や横線やブロック状のノイズを被せる方法
ノイズに利用する画像の色彩によって、ノイズのカラーも違ってきます
白黒・カラフル・セピアなどで試してみてください

fileTR2.pfl
パーリンノイズを使ったトランジション

ピクセルディゾルブ

fileビットマップ4.pfl
ふたつのBMDをピクセル単位で置き換える方法

カラートランスフォームによる色変換

fileビットマップ5.pfl
BMDのカラーを置き換える方法
ColorTransform?()のパラメータは「イベントの詳細設定」の「カラーの変化」と同じ

カラー.gif

その意味ではわざわざBMDで行うこともないのだが、参考までに

しきい値による色変換

fileビットマップ6.pfl
しきい値を決めピクセルがそれ以上か以下か同じか否かによって色を流し込む方法

カラーマッピングによる色変換

fileビットマップ7.pfl
色要素同士を取替えたり量を反比例させたりして変化させる方法

フィルタ

ブラー・グロー・ベベルなどもありますが、ここではパラフラに実装されていないフィルタを扱います

フィルタの扱い方

fileフィルタ0.pfl
フィルターfiltersはイベントのプロパティのひとつですが「配列」として扱います
その方法

コンボリューションフィルタ

fileフィルタ1.pfl
各ピクセルとそれに隣接するピクセルの関係をマトリクス(行列)で指定して変換を行う
エンボス・ぼかし・反転・シャープ・輪郭検出などのレタッチ効果をだす方法

ディスプレイスメントマップフィルタ(DMF)

fileフィルタ2.pfl
BMDをマップビットマップ(置き換えマップ)として用い、元画像のイメージを変位させるフィルタ

fileフィルタ3.pfl
DMFは静止しているだけでは判りづらいフィルタです
動かしてみることで効果が表れます

fileフィルタ4.pfl
前サンプルでは、DMFを初めからグラデーションで変化させた
しかしそのせいで逆に判りにくかったかもしれないので、逆補習

fileフィルタ5.pfl
今回はフレームアクションからではなく、スプライト自身のクリップアクションからDMFをかけてみる
BMPは四角いのでエフェクト範囲を丸くするためにビットマップの余白の色を設定する方法

fileフィルタ6.pfl
DMFの応用で擬似レンズを作ってみる

ラスタエフェクト

「Flashゲーム講座&アクションスクリプトサンプル集」
「ラスターエフェクトのサンプル集」で紹介されたアクションスクリプトをParaFla!に応用する方法

サインカーブで波

fileサインカーブで波.pfl
ビットマップを1行ずつ微妙にずらしてそれぞれサインカーブの動きをさせる方法
ID0001には画像ファイルを入れてください

サインカーブで伸縮

fileサインカーブで伸縮.pfl
サインカーブから滑らかに変化する数値を生成する方法
ID0001には画像ファイルを入れてください

モザイク

fileモザイク.pfl
ドットを拡大してモザイクをかける方法
fileモザイク改1.pfl
理解しやすいように描画用ターゲットに空のスプライトを用意し、
さらに補足も加えました
ID0001には画像ファイルを入れてください

参考ページ:質問ページ/209

ブラー

fileブラー.pfl
前の画面を半透明にして重ねるブラーをかける方法

3Dレース

fileレース.pfl
投影変換をかけたレースゲーム風の地面を描写する方法
ID0001を任意のラスタ画像に置き換えてください

参考ページ:質問ページ/209

ローダー

まず「ファイル」⇒「プロジェクトのプロパティ」で、
詳細設定の「ID:9999の画像ファイルをロード画面にする」にチェックを入れます

「ファイル」⇒「プロジェクトのインポート」で
下図のように設定してインポートすればそのままでも使えますが、
テキストフィールドや文字や表示アニメを好きなように変えてからインポートするほうがその後の編集が楽でしょう

ローダーを使う場合は、イベントリストの最初に「画像消去・深度0」を忘れずに

ローダー.gif

参考:http://www.wikihouse.com/ParaFla/index.php?FAQ%2F24

パーセントとメーターで表示

fileローダー.pfl

バイト数で表示

fileローダー2.pfl
すみません、count = 0;とcount ++;を消しておくの忘れましたorz

その他ローダー

fileローダー3.pfl
FLASHの幅高さが違ってもそのまま使えます

応用

用途に応じていくつかのASを組み合わせてみました

抜き取り

file抜き取り.pfl
いくつかの要素から重複しないようにひとつづつ抜き出す
数枚のトランプから一枚一枚抜き取る…などに利用できる
慣れたらsousuuにいきなりtosi.lengthを放り込んでもおk
その場合当然、sousuu --;は必要ない

file抜き取り改.pfl
sousuuにいきなりtosi.lengthを放り込んでみた

ホワイル文

fileホワイル文.pfl
前出の「抜き取り」同様、乱数を重複させない別の方法
while文はほとんどの場合for文で代用できるため解説しなかったが、代用できない使い方もあるので初出ながらここで紹介
しかし、まだ使われていない要素をしらみつぶし的に探すという無駄な作業をPCにさせるため「抜き取り」の方がPCにやさしいと言える

file抽出.pfl
同じことを「抜き取り」の方法でやってみた

file雪.pfl
三段階の奥行きを持たせて雪を降らせてみました
下部とインスタンスkurumaとhitoに積もるようにしてあります

file星0.pfl
ビッグバンという感じ
file星1.pfl
ビッグバンの拡大から収縮へ向かう感じ
file星2.pfl
ビッグバンを視点を移動しながら見る感じ
file星3.pfl
動作をクリップアクションに入れた例。奥行きと広がりも持たせてみた
file星4.pfl
ビッグバンした後も星がいつまでも出現する
ロケットが進行するときの視点に使える
軽くしたい場合は onEnterFrame? 内に if(i>100){i=0;} を入れるといいだろう
星が斜め方向ばかりに伸びるのが気になる場合は、全体をスプライトに入れ角度0と角度45でふたつ配置すればよい

星が必要がなくなったら、元インスタンスhosiを消去し、以下のスクリプトで複製も消す

for(i=0; i<100; i++){
	eval("hosi"+i).removeMovieClip();
}

星を回したい場合は、

onClipEvent(load){ }内に
	roll = Math.random()*30-15;
onClipEvent(enterFrame){ }内に
	_rotation += roll;

を書き加えるとよいだろう

アニメの場面選び

fileコントロールバー.pfl
アニメの見たい部分を探せるツマミをつける方法
汎用にしたい場合は_totalframesで数値や配置を算出できるようにするといいでしょう
尚、スプライトを止めたり、画像の追加・消去にも対応するには、まだまだ工夫が必要

マウスでテキスト記入

file文字記入.pfl
マウスだけを使って文字を記入する方法
文字列や行列などの知識が必要

マウスで拡大

fileスコープ.pfl
画像をマウスでクリックすると部分拡大する
マスク描画.pflの応用

fileスコープ改.pfl
スコープがカーソルより少し遅れて追随する
残像.pflを応用

fileスコープ軽.pfl
スコープをテキストにすることにより(AS描画に比べて)動作を軽くした
※AS訂正

onClipEvent(enterFrame){
	_x+=_xmouse/6;
	_y+=_ymouse/6; 
}

参考:質問ページ2/156

スロットマシーン

fileメダルを保存.pfl
メダルの枚数をローカル保存してみました

揺らす

fileぷりん.pfl
transform.matrixを使って画像全体を揺らす方法

fileぷるぷる.pfl
DMFを使って画像の一部分を揺らす方法

光る

fileキラキラ.pfl
トロフィーが光っているかのような効果を表現
複製の応用

file残像応用.pfl
カーソルに星が付いて来る
残像の応用

割れる

file銃弾痕.zip
画像を複数のマスクを使って分割する方法

fileタイル割れ.pfl
画像をタイル状(正方形)に崩壊させる方法
前出のタイル配置とコピーピクセルの知識が必要
fileタイル割れ改 .pfl
タイルを長方形にした

file画像崩し.pfl
タイル割れをブロック崩しに組み込んだ

質問&要望

  • 個人的な作成依頼は受けつけせんが、だれが見ても有益だと思われるものは増やしていこうと思っています -- 2008-01-21 (月) 10:34:16
  • 携帯のフラッシュ -- utiumi? 2008-02-03 (日) 16:37:47
  • 使えるASに制限があるのでいずれ別ページを設ける予定ですが、自分も勉強しないと…です -- 2008-02-06 (水) 09:12:24
  • アナログ時計を追加しました -- 2008-02-18 (月) 11:51:22
  • ビットマップのとこ、全部呼び込むとなってるので、読み込むに直した方がいいのでは。 -- 2008-02-18 (月) 21:09:27
  • その方が正しいですね。直しました -- 2008-02-21 (木) 19:12:10
  • 動画のコントロールバー -- こあら? 2008-04-28 (月) 08:27:36
  • お願いします。雪を降らせるようにしたいのですが・・・ できないでしょうか!? -- ゆき? 2008-05-01 (木) 09:00:59
  • 雪は本スレに投下したやつですけど、どうぞ。 -- 2008-05-01 (木) 12:41:58
  • 雪、ありがとうございます。承諾が取れなかったのでうpできないでいました -- 2008-05-01 (木) 22:11:12
  • コントロールバーの土台だけですが作ってみました。いろいろ工夫を加えてみてください -- 2008-05-01 (木) 22:15:14
  • 遅くなりましてすみません。ありがとうございました。 -- ゆき? 2008-05-10 (土) 11:15:06
  • お願いします。できるようであれば、 ここのHPの http://www.jmp7.com/feeldx/endrolll.htm サンプル画像 Endroll-L  \15,000の初めの方に出てくるキラキラ文字  Endroll-S \7,000の途中で キラキラ爆発!?みたいなのもあるのですが、これもお願いできないでしょうか? -- かおり? 2008-05-10 (土) 11:41:19
  • 作成依頼は受け付けておりませんが…それだけの量の☆をASで動かすとなると相当重そうですので、スプライトに☆をたくさんランダムに配置しそれをメインでロールバックを使い八方に向かって拡大拡散させてみてはいかがでしょう
    さらにその全体をスプライトに入れて左右に揺らせば、飛散しながらも戻ってくる感じが演出できるのでは -- 2008-05-10 (土) 15:42:17
  • ありゃ、作っちゃったよw -- 2008-05-11 (日) 20:07:29
  • わがまま言ってすみません。感動です。本当ありがとうございました。ありがとうございました。 -- かおり? 2008-05-12 (月) 19:23:17
  • たくさん追加ありがとうございました -- かおり? 2008-05-14 (水) 18:33:21
  • ご無沙汰しております。質問なのですが、作って頂いた星0.pflで『プロジェクトのプロパティー』で高さ・幅を600*600にした場合、画面いっぱいに(星0.pfl 320*320のように)するには、どこをいじくれば良いのでしょうか?お願いします。 -- かおり? 2008-06-11 (水) 18:03:22
  • 定数150と160が画面サイズ320から割り出した数字ですので、画面サイズ600だとそれぞれ290・300 -- 2008-06-11 (水) 20:06:49
  • ありがとうございます。できましたぁ〜 -- かおり? 2008-06-12 (木) 17:41:19
  • ASによるマスクのマスク描画.pflのスプライト1が空っぽのようですが。勘違いでしたらすみません。 -- yoyoyo? 2009-01-01 (木) 20:04:32
  • onClipEvent?(enterFrame){}内でマスクになる描画をするのためのスプライトなので空なんじゃないかな。他のサンプルでも特にAS描画する場合などによくやる手法みたいです -- 2009-01-01 (木) 21:12:02
  • とりあえず、ファイルリストの「ここに画像」にパソコン内の画像を指定し、プレビュー画面でカーソルだけで空ドラッグしてみてください -- 2009-01-02 (金) 11:19:41
  • ありがとうございます。最近マスクを使ったスライドショーを学び始めていますので勉強になります。 -- yoyoyo? 2009-01-02 (金) 23:14:25
  • 時計のif(9>byou>0){byou0="0";}は→if(10>byou>0){byou0="0";}が正しいかと… -- parriko? 2009-06-20 (土) 15:50:41
  • ↑追記↑ >はより小さくという意味なので9>だと9秒のとき0が追加されません -- parriko? 2009-06-20 (土) 15:59:08
  • 時計改.pflのことでしたら訂正を付け加えてありますよ
    他にもこのページの本文中にはサンプルのAS訂正が書き加えてありますので下の添付からDLするだけではなく本文もチェックするようにするといいかも -- 2009-06-20 (土) 22:11:50
  • 自分以外にも複数の人がここにサンプルを上げているのでASの書き方の違いも勉強になると思います
    ちなみにわたし個人の好みではif(byou<=9 && byou >0)〜と書くかも -- 2009-06-20 (土) 22:29:14
  • アクションゲームの「キャラクターの移動範囲の制限」が分かりません -- 1? 2009-11-21 (土) 17:08:42
  • 「壁をバウンドさせる」がヒントになると思われます -- 2009-11-22 (日) 11:25:14
  • それ以前に、このWikiには「質問ページ」という便利なものが存在しますので使ってみましょう。 -- 2010-03-27 (土) 20:46:35
  • リンクボタンから、新しい画面を表示したい時に画面サイズ・位置の指定ができますか?サンプルがあれば教えて下さい。 -- nks? 2010-10-20 (水) 13:42:31
  • 新しい画面とはブラウザのウインドウのことでしょうか?それでしたらjavascriptとの連携で可能かと思いますがjavascriptは詳しくないので実際にどう書くかは判りません。参考ページはFAQ/29 -- 2010-10-20 (水) 21:25:05