簡単なASを使ってみよう

ASを書く時のルール、stop()、play()


ということで、実際にASを使ってみましょう。
まずはASを書くための下準備です。ParaFla!を開いてください。
こんな感じになってますか?



あ、右下の文字は私が書き足したものです。念のため。
この右下のASを書くための場所はちゃんと表示されてますか?
表示されていない場合は、メニューバーの「表示」の中の
「スクリプトエディタ」のところにチェックを入れてください。
また、スクリプトエディタが別窓で表示されている場合は、
左上の「<<」をクリックすると、同じ窓の右下に収まってくれます。
無事右下に枠ができたでしょうか。
今はまだ文字を書き込めないので焦った方もいるかもしれませんが、
そういうものなのでご安心を。今は枠ができればOK。


では、ASを使ってみましょう。
と言っても、ASは前回お話したとおり、SWFの動作をあくまで補助するだけなので、
何もないSWFにASだけ書いても何も起きません。
(というのは本当は嘘ですが、この講座で扱う程度のASでは本当に何も起こせません。)

ということで、ASを書き足せるような状態になってるソースをご用意。
今回使うソースを3つまとめてダウンロード


01_00.pflを開いてください。
プレビューすればすぐわかるように、こんなふうにおにぎりがぐるぐるまわるSWFです。
ずっと見てると目が回るので注意。




ソースの中身を見てみましょう。
置いてあるおにぎりがぐるっと1回転。
終わったら自動的に最初に戻るので、
何回も回り続けるように見えるわけですね。
ここまで理解しましたか?
理解できない人がもしいたら、もっとじっくりソースを見てみてください。
特におにぎりのプロパティの角度を。

いいですかね?
では、今回の本題。
ASを使って、このおにぎりを、1回転したところで止めてみましょう。
1回転で止めると言うことは、1回再生した最後に止めればいいですね。

01_01.pflみたいになります。





停止。


・・・冗談です。
これじゃAS使ってないですからねw
ただ、今から書くASは、この「停止」と全く同じものです。
ほら、急にASが別に特殊な物じゃなく思えてきたでしょ?
え、思えない?
まぁ、思ったかどうかは別にして、何が起こるASを書くのかは
これではっきりと分かったと思います。



では、今度こそASを書いて01_00.pflを改造してみましょう。
あ、改造でもとのpflがなくなるのも後で困るかもしれないので、
適当な名前でコピーしてそっちでやってみてください。

まず、ASを実行したいタイミングに、スクリプトを書く場所を作ります。
今回はぐるっとまわったあと、25フレーム目で停止のスクリプトを書きたいので、
25フレーム目のところに右クリックでアクションを挿入。
アクションの内容をずーーーっと見ていくと、
下から2番目に<スクリプト>というのがあるので、それを選択。
コメントのところには、今回は「停止」と書いてみましょうか。
ちなみに、コメント欄は本当にただのメモなので、
今後はそのスクリプトの中身が分かるように好きに書いてください。

で、こんな風になりました。



このスクリプトを選択してから下の枠内をクリックすると、
下のスクリプトを書くためのスペースにいろいろ書けるはずです。
これで準備万端。
で、その枠内に下と同じように書くことが今日の目標。




では、実際に書く前に、ASを書くときのルールを。
まず一つ目。ASは必ず半角のアルファベット、数字、記号で書いてください。
ひらがな、カタカナ、漢字は特殊な場合を除いては一切使えません。
全角アルファベットや全角記号なんかもアウトです。
今回は非常に短いですが、うっかりカッコを全角にしたりしないように。

2つめ。行の終わりにはセミコロンを書いてください。
コロンじゃなくてセミコロンですよ。
下側のがしっぽ生えてるやつ。
「れ」とか「+」とか書いてあるキーです。右のほう。
これ、一体何かというと、日本語で言う句点「。」みたいなものです。
人間が日本語を読むときは句点が1つや2つなくても「ああ、たぶんこうだな」と推測して読めますが、
残念ながらコンピューターはそういうことができません。
というより勝手に間違って推測されると困るのでできないようにしてある、というのが正解。
なので、セミコロンがないと、「句点がないぞコノヤロウ」と怒られます。
セミコロンは忘れないようにしてください。

3つめ。ルールとはちょっと違いますが。
何か書いたときは即「構文チェック」。
ASを書くスペースの上に「構文チェック」というボタンがあります。
これは、スクリプトに単純なミスがないかチェックしてくれるボタンです。
例えばさっきのセミコロンがない場合とかはエラーを出して教えてくれます。
複雑なミスは教えてくれませんし、単純なのでも教えてくれない場合もありますが、
何かASを書いた後にチェックして損はないので、
「何か書いたら構文チェック」の癖をつけましょう。

では、ASを書くときのルールもわかったところで、実際にこのASを書いてみましょう。
さっきと同じ絵ですが。



再生中のSWFを停止する命令はstop()と書きます。
全部半角で書いてくださいね。 stopは文字通り「停止」という意味ですね。
その次のカッコは、今はおまじないみたいなものだと思ってください。
一応ちゃんと説明すると、stopが関数名であることを識別するためのものなのですが、
まだそんなことわかんなくてよし。

で、最後に忘れちゃいけないものがありましたね。
そう、セミコロン。
これも半角にちゃんとしてくださいね。

できたら、「構文チェック」をポチッと。
「構文エラーはありません」と言われた人は、ひとまずOK。
何か怒られた人は、どこかミスをしています。
3つのルールの上2つを破ってないか、よーくチェックしてみてください。
原因がわかったら、そこを直してもう1回「構文チェック」。

・・・・・・・・・
さて、そろそろ「構文エラーはありません」が出たでしょうか?
出たと言っても、チェックに引っかからないミスをしてるかもしれません。
本当に止まってくれるでしょうか?
プレビューしてみましょう。
F5ボタンをポチッとな。


止まりましたか?
見事1回転して止まった方、おめでとうございます。
無事、「ASを使って再生を止める」ことに成功ですね。

止まらなかった方。初めてのASでいきなり苦しい目に会うことになってしまいました。
「構文チェック」で見つけてくれないミスを自分で見つけなければなりません。
これがいわゆるバグ取り。
大変な作業ですが、最初に経験しておくと今後同じ目にあってもあわてなくて済むので、
ある意味ではラッキーかもしれません。
今回みたいな短いASの場合、可能性が高いのは、
stopをスペル間違えたとかそのあたりでしょうか。
がんばって1人で孤独に間違い探し大会開始です。
どうしても見つからなければ、掲示板でだれかASわかりそうな人を見つけて、
どこをミスしてるか見てもらえないか頼んでみて、
OKもらえたらメールで実際pflを送るしかないでしょう。
できるだけ自分で見つけた方が力はつきますが、
どうしてもの場合は、ね。

ということで、以上でAS講座、本当の意味での第1回を終わります。
・・・といいたいところですが、
内容一覧にもう1つ、グレーの文字で書いてあったものがありましたね。
play()というやつが。

stop()を知ったみなさんは、おそらく簡単に検討がついたのではないかと思います。
stop()が「停止命令」なのですから、play()は「再生命令」です。
が、残念なことに、今日やった内容だけでは、
停止中にスクリプトを発動させることができませんので、
今回は「そういうのもあるよ」ってだけ。
次回はplay()を実際に使いますので、存在は覚えておいてくださいね。

では、今度こそ、AS講座第1回を終わります。
お疲れ様でした。
講座のことで何か分からないことがあれば掲示板までお気軽にどうぞ。








Training



上では、やり方を細かく指示しながらやりました。
でも、実際に自分で考えながらやらないと、なかなか身にはつきません。
そこで、毎回、その回の内容に沿った宿題を出します。
期限を作ったり提出を求めたりするわけではないですが、
ASができるようになりたい!って方はぜひ挑戦してみてください。
今回の宿題はこちら。

01_00.pflをASを使って1回転で止めるように改造をする。ただし、講座の内容は見ずにやること。

できなかったら解説をもう1回読んで改めて挑戦。
一度できた方も確実にできるようになるまで何度も挑戦ですよ。







PlusOne:おにぎりが傾いてる?



停止のAS、無事書けたでしょうか。
書けなかったら掲示板で質問してでも書けるようになって欲しいです。

で、書けた方。
止まった瞬間に「!?」と思った方は少なくないのではないでしょうか。
あれ?おにぎりがまっすぐになってない・・・。

なんか変なAS書いちゃったかな、困ったなどうしよう。
なんて思った人もいるでしょうね。
少なくとも私はASの勉強してたときに思いましたw

実はこれ、ASとか関係ありません。
AS使ってない01_01.pflでもプレビューするとそうなってますしね。
これは、ParaFla!の仕様上こうなるようになってるんです。

くるっとまわるおにぎりは、24フレームで0度から360度までまわるようになってます。
当然1フレーム目は0度。
で、もし24フレームめが360度になったらどうなるでしょうか?

22フレーム目、けっこう傾いてます。
23フレーム目、ちょっと傾いてます。
24フレーム目、まっすぐです。
戻って1フレーム目、またまっすぐです。
2フレーム目、ちょっと傾いてます。

これ、困りますよね。
綺麗に回ってほしいのに、まっすぐのフレームが2回。
それを避けるため、Parafla!の終了位置指定は、
次のフレームがあったら終了位置指定のところにくるように移動する
という位置の指定になっています。

今回の例では、1フレームに360÷24=15度ずつ回って、
23フレーム目で330度、24フレーム目で345度
(もし25フレーム目があったら360度になる)
という角度になるので、ぐるっとまわしたやつしか置かないと、
345度で止まってしまいます。

じゃあ、まっすぐ止めるためにはどうすればいいの?というと、
答えは簡単。01_02.pflのように、止まった時に表示されて欲しい状態に
固定画面としておいてしまえばいいんですね。

以上、AS講座なのにASと一切関係がないPlusOneでした。





戻る   掲示板へ