Archive

For 2月, 2009

AIR FlashPlayer バージョンアップ

No Comments

AIRとFlashPlayerがバージョンアップしました
バージョンは
AIR 1.5.1
FlashPlayer 10.0.22.87

基本的にバグフィックスとセキュリティパッチみたい

開発者が欲しいFlashPlayerのデバッガ版はこちら
Adobe Flash Player Support Center

AIRのランタイム
AdobeAIR
AIR1.5.1のSDK
Adobe AIR SDK
詳しい変更点などはこちら
Adobe AIR 開発者向けリリースノート

最新のFlexSDKはまだ出てないっぽい??

トルネード

No Comments

っぽいものを作ってみたw

ちょっとショートコーディングしてみようと思ってがんばった
なんかずるいとこもあるかもしれないけど、一応15行
もうちょっと短くなる?

FP10で3D (2)

No Comments

前回はDisplayObjectクラスのプロパティをちょこっといじっただけだったので、
今回はPerspectiveProjectionクラスをいじってみます

PerspectiveProjectionクラスってのは遠近法を簡単に適応するクラスらしい
このクラスのプロパティは3つ

・fieldOfView
Number
0 < fieldOfView < 180
遠近法による変形と歪みの強さを決めるプロパティ
値を大きくすると魚眼レンズみたいになる

・focalLength
Number
焦点距離を表すプロパティ
視点の原点(0,0,0)とz軸上のオブジェクトとの間の距離を表す
値が大きいと望遠鏡のように、小さいと魚眼レンズのようになる

・projectionCenter
Point
遠近法の消失点を表すプロパティ

fieldOfViewとfocalLengthは互いに依存してるので片方変更するともう片方も変更するらしい
fieldOfViewを変更したときのfocalLengthは次の式で計算される
focalLength = stageWidth/2 * (cos(fieldOfView/2) / sin(fieldOfView/2)

デフォルトでは次の値になる
• fieldOfView:55
• perspectiveCenter:stagewidth/2, stageHeight/2
• focalLength:stageWidth/ 2 * ( cos(fieldOfView/2) / sin(fieldOfView/2) )

とりあえずPerspectiveProjectionを使ってなんか作ってみる
wonderflのほうが公開するの楽なんでwonderflに書きますw

長細い線みたいなのがビュンビュン飛んでるけど、実は正方形
PerspectiveProjectionのfieldOfViewの値を大きくして魚眼レンズのようにしている
projectionCenterは常にマウスの座標になるようにしている
これだけでおもしろくなるもんだなぁ

次はMatrix3Dを使ってみる

FP10で3D (1)

No Comments

せっかくFP10で3Dの概念が追加されたんだから3Dやってみようってことで

FP10で追加された3Dの機能

・flash.display.DisplayObject クラス
z プロパティやscaleZ
rotationX,rotationY,rotationZなどの各軸の回転角
3次元座標を2次元に変換するlocal3DToGlobal() メソッド が追加された

・flash.geom.Vector3D クラス
3次元座標を格納するクラス
回転角も入れたりできる
※Vectorクラスとは違います Vectorクラスはすべてのエレメントが同じデータ型を持つ配列で、Vector3Dクラスは3次元空間のベクトルを表すクラスです

・flash.geom.Matrix3D クラス
回転、拡大、縮小、平行移動などの3Dの変換を行うクラス

・flash.geom.PerspectiveProjection クラス
遠近法に基づく変形を行うクラス

とりあえずくるくる回転するだけの物を作ってみた

This movie requires Flash Player 9

package {
import flash.display.Sprite;
import flash.events.Event;

public class Study3d1 extends Sprite {
private const SIZE:int = 100;
private const W:int = stage.stageWidth;
private const H:int = stage.stageHeight;
private var mc:Sprite;
public function Study3d1():void {
mc = new Sprite();
mc.graphics.beginFill(0x0077ff);
mc.graphics.drawRect(-SIZE/2, -SIZE/2, SIZE, SIZE);
mc.graphics.endFill();
mc.x = W / 2;
mc.y = H / 2;
addChild(mc);

addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}

private function onEnterFrameHandler(e:Event):void {
mc.rotationX = H / 2 - mouseY;
mc.rotationY = W / 2 - mouseX;
}
}
}

おー回ってる回ってる
次はもちっと複雑な動きをする物を作ってみたいと思います

Googleはじまったww

No Comments

このサイトはコンピュータに損害を与える可能性があります。

Googleさんどうしたんすかwww

google

<追記>
どうやら原因は人為的ミスのようです

グーグル検索結果すべて「コンピュータに損害を与える可能性あり」、原因は人為的ミス

Blue Taste Theme created by Jabox