2010年2月16日火曜日

超初心者 AS3物語 涙の第一話



平秀信のマインドセットによれば(不景気で気が弱っているので、無料の精神力アップ系のものを最近愛読)なんか、自らが教える立場になる前提で行え。ということでございます。

これから勉強したことを、ここにまとめてみたいと思います。(不景気+分からない過ぎてノイローゼ気味なので、ダラダラ書くから何かわからんかもしれんけど。)

私は、これからの時代、ホームページをやっていますという限りには、それなりにFlashは使えないと食べていけないと思っています(今はそうでもない?プログラムの方がいい?)。

で、まぁ。AS2を私はそれなりに真剣にお金もかけて勉強してきたのです。ところが2007年に嬉しそうにActionScript3になりました~と。発表され、その時のショックは、これまで一生懸命に作ってきたドミノを猫が走って崩されたようなショックでしたわ。
で、ちょっと軽い気持ちでトライアル版を入れてみて古いのを開いたら、あなたもう古いバージョンでは開けなかったりするのよ! 驚き~。 そしてその頃にパソコンのデータがぶっ飛びという事件が起こり、私は不幸のどん底に…。 その頃、ちなみに夫が海外で一山当てると行って帰ってこず、挙句に私のクレジットカードで生活するようなことも…。
そのうち私の不幸の日々を本にして出版したいと思います。

で、swishに浮気してみたり急ぎの仕事はそれで作り、ごまかしながらやってまいりました。
しかし、やはり、来るべき3D時代。おばさんがお婆さんになっても、そこそこは仕事をしてやるぞ(老後が心配)という思いから、やはりAS3をマスターしたい。 PHPもちょっとはわかるようになったんだし(CGIは未だにわかんないし、XMLも部分的にしかわからんけんども)

やるぞ。やるぞやってやる!と、秋葉秀樹先生の(先生だけど私よりかなり年下。アイドル系で可愛い。息子に欲しい感じ) イメディオの1日講座(前半)を1万7000円を握り締め行ったのでございます。 忙しいし交通費がもったいなくて車で行ってちょっと遅れて(イメディオは遠すぎる)

ちょっと贅沢だなと思ったのですが、え~い行ってやるぅ!と行ってしまいました。で、これはあくまでキッカケで、これから自分でコツコツ勉強していくのね。 という感じの講座だった。でも、これをキッカケに頑張ろうと思って帰ってきたのであります。

ところが(話はどんどんそれますが)、その後に、私がこういう時のためにこつこつと500円玉を貯金し、6万円ほど貯めていた貯金を夫がこっそりパチンコで使い込んでいたことが発覚! そんな泥棒が家にいたのかとショックを受け、こんなことだったら無理して講座なんか行くじゃなかった。とうつ病が発症し、ActionScript3は私をこんなにも苦しめる!と、完全にトラウマになり、すっかりやる気が消えていたのです。


今でも、秋葉先生の講座のレジメは大切にして持っていますが、読もうとしただけでPTSDというのでしょうか、心臓が苦しくなり、すっかり内容も忘れてしまいました。orz....


あれから半年、オリンピックの上村愛子の着実な進歩。でも表彰台には上がれなかった悔しさ。私は日曜日にテレビを見ながら考えました。一粒の涙が落ちました。表彰台には登れないかもしれない。
でも、私は、満足したい。やってよかったと泣きたい。私もこの山を登るんだ。 ActionScript3の存在を認めて許そう。 夫を許そう(しんどいけど)そして、ゆっくりと私の空っぽの心と頭は、やる気という水分を含み、中身はないなりに動きだしたのであります。


(以上、私の身の上話終わり)


本文はここからです!

で、たまたま見つけたDMでサードパーティーのFlash エクステンションにFlash Effというものがあり、これがAS3で、swish相当のカッチョいいのが作れることがわかりました。

で、時々勉強が始まったのであります。 

今日は、2ちゃんのwikiで勉強してみました。


ActionScriptのお勉強というのは、何と申しましょうか、いきなり無味乾燥でございます。
数字を足したものが表示されたからといって、いったいこれが私の将来の役に立つのでしょうかと思ってしまします。

しかも

trace("hallo warld");

とアクションパネルに書いてみても、表示されるのは出力というところ。画面に出るわけじゃないから,
なんどすか? という感じ。

でも、まぁ trace というのは、phpで言うと 確認するためのprint と言う感じですかね。

で、何でも変数にしたり、関数にしたりして、最初に宣言します。 型の宣言もいるらしいですが??秋葉さんの講座はこのあたりはなかったです。

var A=10;
trace(A);


と書くと10と出力されます。
この var というのを見たら変数なんだなと確認できます。とりあえずこの2つの単語くらいを頭に入れてみました。

次に、ActionScript3というのは、ムービークリップを作ってそれをスクリプトで貼り付けるというのは必須で暗記しないといけないことらしい。このクラスの名前をつける方法は覚えてしまいましょう。


まず新規シンボル(Ctrl+F8)でムービークリップを選び、とりあえずマルを書く。Maruと名前をつけます。



プロパティでもリンケージでもライブラリーのところで右クリックして表示させます。 プロパティのところをクリックして、詳細をクリックしても出てきます。

ここのクラスというのをMaruとしてみます。


これを画面にはりつけるのは、




まず宣言する。

var mc : MovieClip = new Maru(); //ライブラリでリンケージ設定したムービークリップ

そして
this.addChild( mc ); //MCを貼る

で張り付けられる。:MovieClip(型宣言) がなくても動きます。でも、これはクセにしておいたほうがいいのかも。とりあえずnew とaddChildいう単語は覚えたいものです(Childが大文字なのをよく忘れます)。子どもがいないのでしみる単語です。 new というのはライブラリーの役者を舞台袖に呼び出しと考えます。 実際に舞台に出るのはaddChildです。 ちなみに反対の舞台から退場はremoveChild です。

スクリプトを書く場所は必ずタイムラインの最初のフレームに書いてください。間違ってムービークリップのタイムラインに書くとエラーになって強制終了して悩みます。

で、デフォルトではx=0 y=0で画像の中心が位置されるので、左端の上にちょこんと出てきます。

これを動かすためには…

this.mc.x=200; //mcというもののx座標は200です。
this.mc.y=200; //mcというもののy座標は200です。
thisというのはこの場所でという宣言ですがなくても動くけどクセにしておいたほうがいいかも。

となる

mcをクリックすると(イベントにより)、色が薄くなって大きくなるというのを作ってみます。

mc.addEventListener( MouseEvent.CLICK, kansu );

と宣言をする。addEventListener はよく使うみたいです。
イベント処理の必須のアイテムだそうです。
ピリオドつけて、CLICK(クリック) ROLLOVER(ロールオーバー), ROLLOUT(ロールアウト)
をセットで覚える。これがマウスイベントです。大文字じゃないと動きません。

上記はmcに クリックしたら kansuという関数をつけますと宣言しています。

次に実際の関数を宣言します。これはPHPに似てます。
無名関数というものだそうです。 e というのは引数(ひきすう)になります。ここはいくつでも,で区切って設定できます。ここの場合は使われていません。何か入れとかないとまったく動きません。 

function kansu(e){
mc.scaleX+=0.1;
mc.alpha-=0.1;
trace( "クリックされました。" );
}


scakeXに+(プラス)があることで増加を示します。 それが 0.1づつ増えます
alphaに- (マイナス)があることで減らしていきます。 それが0.1づつです。

クリックする度に消えます。

よく使う設定

x //横座標軸
y //縦座標軸
rotation  //角度
alpha //透明度
scaleX //横方向の伸縮率 ;1-0
scaleY //縦方向の伸縮率 ;1-0
width // 幅 ピクセル
height // 縦 ピクセルで指定 pxとかつけないように。


はたして、これを習っていったい何になるのか? わからないけれども私は行く。 ええ。行きますとも!

こんな文章でも参考になる方のためのファイルはこちら!
上の文章を単純にコピペするといらないスペースのせいでエラーになることがあります。



****************************************
これを時間があったら全部読んだからって私がゲーム作れるようになるはずもなく。
というか、ゲームに興味がないんだよねぇ。



お問合せフォーム

お名前 :
Email: (必須)
メッセージ: (必須)


0 コメント :

コメントを投稿



連絡フォーム

名前

メール *

メッセージ *

サイト内検索

View My Stats