Murayama blog.

プログラミング教育なブログ

ActionScript

Cubeで遊んでみた。

久しぶりに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つ目のお題は、オブジェクトの回転。 実行…

TextmateでActionScript 3

ActionScriptも若干飽きてきた、、ので、 たまにはFlex Builderでの開発をやめてTextMateにしてみた。 Made by Pixelate – Setting up a AS3 Project in Textmate そしたら、予想以上の高機能でまじビビった。。のだけれど、 command + Bで、コンパイルまで…

テトリス始めました。

作ってみました。 カーソルキーで動きます。よかったら適当に触ってみてください。 バグが残ってたらすみません。 ソースはまたあとで。

衝突判定 by 距離

本日も続いて衝突判定を試してみます。 今回はhitTestObjectメソッド、hitTestPointメソッドから離れて、距離にもとづく衝突判定を考えてみます。 ここで取り扱うのは2つの円の衝突です。正確に言うと真円(縦横の幅が等しい円)を扱います。 2つの真円が衝…

衝突判定 hitTestObject hitTestPoint

AS3.0アニメ本も9章に入りました。やっと半分くらいです。 9章のお題は衝突判定。 衝突、ぶつかったかどうかを判定することですね。 これが理解できれば、グラディウス的なシューティングゲームが実装できるかもしれません。 あるいはスターソルジャーか。 …

バネのオフセット

天井に吊るしたバネとボールがあるとします。 イメージはこんなかんじ。 = | ○ で今回習うのはこの|の部分。 つまりオフセット。 バネがビヨンビヨンしても|の距離は保ちましょう、ってサンプルです。 このサンプルでは天井もボールになっていて、互いに…

複数のバネ

バネの続きです。 さっきのサンプルを改良して、複数のボールをつなぐバネを作ります。 結果はこちら。今日もなかなかキレのある動きをしてくれています。 コードはこちら。 ボールを配列で表現してループしてるだけです。なんで特に解説も不要かと。 packag…

バネ

コツコツ続けます。本日のお題はバネ。 バネといえば、、ワンピースのちょい役ですぐやられたキャラを思い出します。 名前は忘れました。 えーっと、そんなビヨンビヨンするバネなんですけども、特に思い入れはないですね。 まさかバネを実装することになる…

イージング

本日から第8章イージングとバネに入ります。 イージング、なかなか聞き慣れない言葉だと思います。 特にサーバサイドJavaばっかりやってきた人にとっては。 そういう人は、インピータンスミスマッチに匹敵する用語だと思ってください。 内容は全く関係ない…

スロー

本日ラストのお題はスロー。 スロー。投げるっていう意味ね。スロー。 昔、ミッシェルガンエレファントの歌にスローって曲があったね。 あの花咲く頃に石を投げつけたいね。 さて、そんなロックなテーマですが、 実行結果はこんなかんじです。 ボールをドラ…

ドラッグアンドドロップ startDrag

続いて、ドラッグアンドドロップの2本目。 startDrag、stopDragメソッドを使用した例を試してみます。 AS3アニメ本には、 すべてのスプライトとムービークリップはstartDragとstopDragという名前のビルドインメソッドを持っています。 って書いてるんで、API…

ドラッグアンドドロップ mouseMove

本日より、ActionScript3.0アニメーション本の、 第7章のユーザーインタラクション:オブジェクトの移動に入ります。 この章では、ドラッグアンドドロップの仕組みを学ぶみたい。 ドラッグアンドドロップの仕組みを実現するには2種類の方法があります。 ・…

摩擦 簡易Ver

おっと、もうこんな時間。そろそろ帰らねば。。 摩擦の計算方法には、もうちょっと簡単なテクニックがあります。 さっきの例では、縦、横のスピードから1方向のスピードを算出して、 摩擦を適用したのだけれど、こんなかんじでもいけます。 vx *= 摩擦(0.9と…

摩擦 リアルな計算Ver

久しぶりに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章まであるみたい。。 では気をとりなおして。 本日は速度について。 この本には速度とスピードは同じものではない、と書いて…

Box2D始めました。

ASのライブラリ、Box2Dが面白いです。 Box2Dとは,複雑な物理計算を一手に引き受けてくれるライブラリです。こういったライブラリは物理エンジンと呼ばれています。 僕もまだ触ってみて1時間程度なんで、細かいことは全然です。 とりあえず技評さんのサイト…

アセットの取り込み

本日の最後、アセットのロードと埋め込み。 ここは勉強になった。ナイスActionScript3.0アニメーション本。 アセットってのは、構成要素っていう意味で、 外部のイメージやSWFのような外部リソースを指します。 で、ASでアプリを作るときには、 コンパイル時…

ビットマップ Bitmap

次は次は、ビットマップ。ビットマップとは、 ビットマップ画像(びっとまっぷがぞう : bitmap image / bitmap graphics)とは、コンピュータグラフィックスにおける画像の形式のひとつ。画像を格子状に多くの細密な点(ピクセル、pixel)に分割し、その点の…

フィルタ

もうちょっとでActionScript3.0アニメーションの第4章がおわる。 今日は終わるまでがんばる。つもり。 次はフィルタやってみます。 フィルタは、オブジェクトにエフェクトをかけるようなもん、と思っていいのかな。 理屈はいいとして、ぼかしをかけたり、影…

カラー変換 ColorTransformクラス

まだまだやります。AS最高。でもちょっと疲れてきた。 次はColorTransformクラスによるカラー変換の話。 ここもあまりテンションあがりそうにないので、左から右へ受け流す。 Spriteを拡張しているクラスでは、 transform.colorTransformプロパティを設定す…

グラデーション

続いて、グラデーションいってみる。 今日はがんばっちゃうよ。 先に結果。そんなにたいしたことないけど。 そんで、コード。 グラデーションのときは、beginFillメソッドではなく、beginGradientFillメソッドを使う。 beginGradientFillメソッドは第1引数…

連続した曲線の描画。

前回に続いて、曲線のおさらい。 はっきりいって、あまり面白くない。でもがんばるよ。俺は。 前回は曲線を書くときにcurveToメソッドを使うことを覚えました。 curveToメソッドの引数には、中点と、終点の座標を渡す、というものでした。 そのとき注意する…

curveToメソッドで曲線をかく。

最近忙しくて、なかなかActionScript3.0アニメーションが読めてない。あーあ。 Chapter4のレンダリングテクニックいきます。はい。 今回は、曲線の勉強です。曲線。直線じゃないやつ。 曲線を描く場合はcurveToメソッドを使います。 引数の4つは、中間地点の…