ActionScript
久しぶりにActionScriptを触ってみたので記念にアップ。 プログラムはしょぼしょぼやけど、3Dで動くのを作るのはやっぱり面白い。 package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.events.Event; import org.papervi…
跳ね返りについては、第6章で一度習ってるんだけど、 第10章ではそれを発展させて、角度のついた跳ね返りを習います。 どういうプログラムかというと、 やっぱり微妙にサイズがあってないけど気にしない。 まずは、跳ね返りの復習から。 if(ball.x -ball.…
今日は第10章の座標回転と角度に対する跳ね返りを勉強しました。 今まで「第9章」とか「第10章」とかブログに書いてきたけど、 正確には「Chapter 9」とか「Chapter 10」やねんな。 はい。 さて、この章(Chapter)1つ目のお題は、オブジェクトの回転。 実行…
ActionScriptも若干飽きてきた、、ので、 たまにはFlex Builderでの開発をやめてTextMateにしてみた。 Made by Pixelate – Setting up a AS3 Project in Textmate そしたら、予想以上の高機能でまじビビった。。のだけれど、 command + Bで、コンパイルまで…
作ってみました。 カーソルキーで動きます。よかったら適当に触ってみてください。 バグが残ってたらすみません。 ソースはまたあとで。
本日も続いて衝突判定を試してみます。 今回はhitTestObjectメソッド、hitTestPointメソッドから離れて、距離にもとづく衝突判定を考えてみます。 ここで取り扱うのは2つの円の衝突です。正確に言うと真円(縦横の幅が等しい円)を扱います。 2つの真円が衝…
AS3.0アニメ本も9章に入りました。やっと半分くらいです。 9章のお題は衝突判定。 衝突、ぶつかったかどうかを判定することですね。 これが理解できれば、グラディウス的なシューティングゲームが実装できるかもしれません。 あるいはスターソルジャーか。 …
天井に吊るしたバネとボールがあるとします。 イメージはこんなかんじ。 = | ○ で今回習うのはこの|の部分。 つまりオフセット。 バネがビヨンビヨンしても|の距離は保ちましょう、ってサンプルです。 このサンプルでは天井もボールになっていて、互いに…
バネの続きです。 さっきのサンプルを改良して、複数のボールをつなぐバネを作ります。 結果はこちら。今日もなかなかキレのある動きをしてくれています。 コードはこちら。 ボールを配列で表現してループしてるだけです。なんで特に解説も不要かと。 packag…
コツコツ続けます。本日のお題はバネ。 バネといえば、、ワンピースのちょい役ですぐやられたキャラを思い出します。 名前は忘れました。 えーっと、そんなビヨンビヨンするバネなんですけども、特に思い入れはないですね。 まさかバネを実装することになる…
本日から第8章イージングとバネに入ります。 イージング、なかなか聞き慣れない言葉だと思います。 特にサーバサイドJavaばっかりやってきた人にとっては。 そういう人は、インピータンスミスマッチに匹敵する用語だと思ってください。 内容は全く関係ない…
本日ラストのお題はスロー。 スロー。投げるっていう意味ね。スロー。 昔、ミッシェルガンエレファントの歌にスローって曲があったね。 あの花咲く頃に石を投げつけたいね。 さて、そんなロックなテーマですが、 実行結果はこんなかんじです。 ボールをドラ…
続いて、ドラッグアンドドロップの2本目。 startDrag、stopDragメソッドを使用した例を試してみます。 AS3アニメ本には、 すべてのスプライトとムービークリップはstartDragとstopDragという名前のビルドインメソッドを持っています。 って書いてるんで、API…
本日より、ActionScript3.0アニメーション本の、 第7章のユーザーインタラクション:オブジェクトの移動に入ります。 この章では、ドラッグアンドドロップの仕組みを学ぶみたい。 ドラッグアンドドロップの仕組みを実現するには2種類の方法があります。 ・…
おっと、もうこんな時間。そろそろ帰らねば。。 摩擦の計算方法には、もうちょっと簡単なテクニックがあります。 さっきの例では、縦、横のスピードから1方向のスピードを算出して、 摩擦を適用したのだけれど、こんなかんじでもいけます。 vx *= 摩擦(0.9と…
久しぶりにASの勉強も少し。。 3日サボるとだいぶ勘が鈍りますね。はい、そうですね。 本日は摩擦の勉強。 激しく地味なサンプルです。起動してすぐはボールが動いてるんですけど、摩擦によって止まります。 最初は動いてたんですよ、このボール。よかった…
本日のラスト。跳ね返り。 あー、サンプルとしては、一番地味かも。 そいでコード。 実は、大事なポイントがある。 横方向のスピードvxがあるとして、20という数値が格納されている場合、 跳ね返ると20を-20に変換してやると良い。 普通の発想でもここまでは…
2本目。今度のサンプルは噴水。 今度は、ボール、つうかオブジェクトが移動して、 範囲外に出たときに、削除するんじゃなくて、 再配置するっていうテクニック。 見た目は面白いかも。 package { import flash.display.Sprite; import flash.display.StageA…
ActionScript3.0アニメーション本も、 第6章 跳ね返りと摩擦に突入。 なかなか終わりに辿りつかないけど、人生は長いのでゆっくりがんばる。 で、内容。 跳ね返り、とタイトルにはあるけれど、 第6章で習うのは、限られた空間(ASでいうStageとか)での跳…
3本目。ここで5章おしまい。5章早い。5章ナイス。 5章の途中の加速度のところもコーディングしてみたんだけど、 たぶん、誰もサンプルを見たがらないと思ったので、省略。 なんで、5章の最後のサンプルに挑戦した。 宇宙船。 そう、宇宙船。シャトルっ…
今日は勢いに乗ってもう1本やってみる。 これもスピードと角度のサンプルです。 マウスを追いかけてくるアプリです。 結果はこちら。どう面白い? そんでコード。 package { import flash.display.Sprite; import flash.events.Event; public class FollowM…
ActionScript3.0アニメーションを継続する。 だんだん、習慣になってきた。いいかんじ。 本日から、5章速度と加速度に突入。一応19章まであるみたい。。 では気をとりなおして。 本日は速度について。 この本には速度とスピードは同じものではない、と書いて…
ASのライブラリ、Box2Dが面白いです。 Box2Dとは,複雑な物理計算を一手に引き受けてくれるライブラリです。こういったライブラリは物理エンジンと呼ばれています。 僕もまだ触ってみて1時間程度なんで、細かいことは全然です。 とりあえず技評さんのサイト…
本日の最後、アセットのロードと埋め込み。 ここは勉強になった。ナイスActionScript3.0アニメーション本。 アセットってのは、構成要素っていう意味で、 外部のイメージやSWFのような外部リソースを指します。 で、ASでアプリを作るときには、 コンパイル時…
次は次は、ビットマップ。ビットマップとは、 ビットマップ画像(びっとまっぷがぞう : bitmap image / bitmap graphics)とは、コンピュータグラフィックスにおける画像の形式のひとつ。画像を格子状に多くの細密な点(ピクセル、pixel)に分割し、その点の…
もうちょっとでActionScript3.0アニメーションの第4章がおわる。 今日は終わるまでがんばる。つもり。 次はフィルタやってみます。 フィルタは、オブジェクトにエフェクトをかけるようなもん、と思っていいのかな。 理屈はいいとして、ぼかしをかけたり、影…
まだまだやります。AS最高。でもちょっと疲れてきた。 次はColorTransformクラスによるカラー変換の話。 ここもあまりテンションあがりそうにないので、左から右へ受け流す。 Spriteを拡張しているクラスでは、 transform.colorTransformプロパティを設定す…
続いて、グラデーションいってみる。 今日はがんばっちゃうよ。 先に結果。そんなにたいしたことないけど。 そんで、コード。 グラデーションのときは、beginFillメソッドではなく、beginGradientFillメソッドを使う。 beginGradientFillメソッドは第1引数…
前回に続いて、曲線のおさらい。 はっきりいって、あまり面白くない。でもがんばるよ。俺は。 前回は曲線を書くときにcurveToメソッドを使うことを覚えました。 curveToメソッドの引数には、中点と、終点の座標を渡す、というものでした。 そのとき注意する…
最近忙しくて、なかなかActionScript3.0アニメーションが読めてない。あーあ。 Chapter4のレンダリングテクニックいきます。はい。 今回は、曲線の勉強です。曲線。直線じゃないやつ。 曲線を描く場合はcurveToメソッドを使います。 引数の4つは、中間地点の…