無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

Flex

キー操作でカメラを動かすサンプル

キーイベントを拾ってカメラを動かすサンプルを書いてみました。→キーイベントを拾ってカメラを動かすサンプル ←→キーで旋回、 ↑↓キーで前後に移動します。 動きがわかるように空間には点をちりばめています。(ParticleFieldを利用) はまりポイントは以下か…

primitivesを並べてみる

Papervision3Dでは、org.papervision3d.objects.primitivesパッケージ以下に、立方体とか球といった基本的なオブジェクトが用意されています。どんなのがあるのかな、ということで、primitivesパッケージ以下のオブジェクトを並べてみました。 動いていると…

Flex SDK + Papervision3Dで球を描く&回転させるチュートリアル

Flex SDK + Papervision3Dで、ワイヤーフレームの球を描いて 回転させるまでのチュートリアルです。Flex SDK 4 + Papervision3D 2.1の組み合わせで試してみましたが、特に問題なくビルドできましたよと。お手軽にFlash 3Dで遊べます。 サマリ Flex SDKのダウ…

スプライトのあたり判定で使う領域を指定する

Sprite#hitAreaで、スプライトのあたり判定で使う領域を指定できます。 領域は別のスプライトで指定します。 hitAreaとしたスプライトは非表示でもOK package { import flash.display.*; import flash.events.MouseEvent; import flash.text.*; // 別のスプ…

マスクはスプライトごとに必要。

DisplayObject#maskを使うとスプライトを切り抜くことができますが、複数のスプライトを同じ形状で切り抜きたい場合、スプライトごとにマスク用スプライトを用意する必要があります。 複数のスプライトのmaskとして同一のスプライトを設定した場合、後に設定…

各種Transitionのサンプル

tweenerではtransitionプロパティを指定することで属性値の変化量を制御することができます。値を線形に変化させるLiner以外にも、組み込みでさまざまなTransitionが利用可能です。 ということで、各種Transitionの動作サンプルを作ってみました。 →各種Tran…

tweenerでスプライトを移動するアニメーションを作る。

tweenerはFlex/Flashで使えるトウィーンライブラリです。定期的にスプライトの属性を変更することで、 スプライトの移動 スプライトの透明化 といったアニメーションがさくっと作成できます。 インストール tweenerのサイトからダウンロードします。Flexで使…

ActionScript3の「for in」では、クラスのメソッド、フィールドは列挙されない

ActionScript3の「for .. in」では、静的に定義したクラスのメソッド/フィールドは列挙されません。 クラスフィールド、インスタンスフィールドとも。 Dynamicクラスも静的に定義したメソッドやフィールドは列挙されません。 ただし、動的に追加した属性は列…

ArrayCollectionで配列の変更を検知するサンプル

mx.collections.ArrayCollectionを使うと配列の変更をイベントリスナーの仕組みで検知することができます。 コンストラクタでソースとなる配列を指定してArrayCollectionを作成し、 イベントリスナーを設定した上で、 ArrayCollectionのAPIを呼び出して配列…

maskを使ってスプライトを切り抜くサンプル

Sprite#maskを使って、スプライトを切り抜く(スプライトの特定範囲のみ表示する)ことができます。Sprite#mask属性値として任意のDisplayObjectを設定すればOK。 package { import mx.utils.*; import flash.display.*; import flash.text.*; import flash.ex…

JavaScriptからFlexのAPIを呼び出すサンプル

FlexからJavaScript関数を呼び出す場合と同様、ExternalInterfaceを使います。 呼び出される側のswf : package { import mx.utils.*; import flash.display.*; import flash.text.*; import flash.external.*; // JavaScriptからのメソッド呼び出しを受け付…

Timerを使うサンプル

Timerを使って定期的に処理を実行するサンプルです。Timerの基本的な使い方は次の通り。 引数で「次の呼び出しまでの待ち時間(ミリ秒)」と「実行回数」を指定してTimerを作成します。 「実行回数」を0にすると無限に実行されます。 「addEventListener」で定…

スプライトをドラッグするサンプル

Sprite#startDrag()で簡単に実現できます。 Sprite#startDrag()でドラッグ開始、Sprite#stopDrag()でドラッグ終了です。それぞれ、マウスダウン、マウスアップとかに割り当てておけばOK。 2つめの引数でドラッグ可能な領域を指定することもできます。 packag…

マウスオーバーを処理するサンプル

MouseEvent.MOUSE_OVERのイベントハンドラを設定するだけ。 Graphicsを使って書いた円や線もうまいこと当たり判定してくれます。 Filterを利用して作成した影には反応しないようだ。 package { import flash.display.*; import flash.filters.*; import flas…

ObjectProxyでオブジェクトの属性変更を監視するサンプル

ObjectProxyを使うとオブジェクトの属性変更を監視する仕組みがさくっと作れます。使い方は以下の通り。 監視するオブジェクトを作成。 作成したオブジェクトを引数として、ObjectProxyを作成してラップ。 「addEventListener()」でObjectProxyに属性変更リ…

フィルタを使うサンプル

フィルタを使うと、スプライトやビットマップにドロップシャドウやブラーなどの効果を適用することができます。 フィルタはflash.filtersパッケージ配下にいろいろあります。 スプライトなどDisplayObject派生のコンポーネントであれば、フィルタを作成してf…

XMLリテラルを使った文字列生成の性能を測ってみた。

昨日の続き。XMLリテラルを使って文字列を生成した場合の性能を測ってみました。 20文字程度の文字列を、「文字列連結」「XMLリテラル」「XMLリテラル+埋め込み」のそれぞれで50000回生成した場合の所用時間を計測。 それぞれ5回試行し、平均を取っています…

ActionScriptで長めの複数行文字列をさくっと作る

ActionScriptで長めの複数行文字列を作るのってメンドウですよね。Rubyみたいにヒアドキュメントとか使えればいいのにー。という時にXMLリテラルが使えます! // XMLリテラルをヒアドキュメント風に使う! XML.ignoreWhitespace = false;// デフォルトだとテキ…

StringUtil#substituteで簡易テンプレートを使う。

StringUtil#substituteでテンプレート文字列中の「{数字}」を任意の値で置き換えた文字列を生成できます。 // テンプレートの「{数字}」を置換した文字列を生成する stdout.text = StringUtil.substitute( "name : {0}, age : {1}", "mii", 1); // → name : …

オブジェクトの属性一覧を生成する

ObjectUtil#toStringでオブジェクトの属性一覧を示す文字列を生成できます。 // オブジェクトの属性一覧を表示 var obj:Object = { a:10, b:"bbb", c:true, d:[1,2,3,4,5], e:{foo:"foo",hoge:"hoge"}, f:function():void{} }; stdout.text = ObjectUtil.toS…

JSONBrokerのActionScript版クライアントを書いた

「RubyクラスをJSONでアクセスできるWebサービス化する」で作ったJSONBroker(任意のRubyクラスのAPIをJSON-RPCライクなプロトコルでアクセスできるWebサービスとして公開するための簡易ユーテイリティ)のActionScript版クライアントを書きました。前に作った…

配列の便利APIいろいろ

JavaScriptと一緒かと思ったら微妙に拡張されてますね! > ActionScriptの配列。ということで、便利そうなAPIを使うサンプルを書いてみました。使ってみたAPIは以下。 Array#forEach 配列の要素を順番に取り出します。forループの代わりに。 Array#map 配列の…

配列をソートするサンプル

配列をソートするAPIとして、Array#sortとArray#sortOnが提供されています。 Array#sort 配列の要素をソートします。 引数で比較関数(第一引数)とオプション(第二引数)が指定できます。 比較関数を指定することで、任意のロジックに基づくソートが可能です。…

オブジェクトごとの一意なIDを生成する

mx.utils.NameUtil#createUniqueName()でオブジェクトの一意なIDを作成できます。 IDは「無修飾のクラス名+番号」になります。 「無修飾のクラス名」なら、パッケージが違う同名クラスだと同じIDになるのでは、と思いきや、番号がすべてのオブジェクトで一意…

Dictionary

Flexで、キーと値をペアで保持する構造(rubyでいうHashてきなもの)を使いたい場合、flash.utils.Dictionaryが使えます。 JavaScriptだとObjectで何とかしますが(Flexでも同じように何とかできますが)、 Objectと違って、Dictionaryではキーにオブジェクトが…

アスタリスク

ActionScriptの型指定では、「*」は型指定なしを意味します。任意の型とも若干意味が違っていて、 任意値を代入できて、 かつ、任意の値として取り出すことができます。 // 任意の値を代入でき var a:* = "foo"; var b:Object = "foo"; // 任意の値として取…

枠内を画像で塗りつぶすサンプル

Graphics#beginBitmapFillを使って、枠内を画像で塗りつぶすサンプルです。 画像はswf内にアセットとして埋め込んだモノを使用してます。アセットの使い方はこちらを参照。 あとは、beginBitmapFill→drawRect→endFillでOK。 package { import flash.display.…

日時をフォーマットするサンプル

日時(Date)のフォーマットにはmx.formatters.DateFormatterが使えます。以下は、現在時刻をフォーマットして表示するサンプルです。 package { import flash.display.*; import flash.text.*; import mx.formatters.*; public class Sample extends Sprite {…

FireBugのコンソールに行番号付きでスタックトレースを表示する手順

FireBugのコンソールに行番号付きでswfで発生した例外のスタックトレースを表示する手順です。ポイントは以下。 デバック版Flash Playerでswfを実行。 →発生した例外からスタックトレースが取得できるようになります。 コンパイルオプションでデバッグをオン…

asとis

「as」演算子で型キャスト、「is」演算子で互換性チェックができます。 package { import flash.display.*; import flash.text.*; public class AsIsSample extends Sprite { public function AsIsSample(){ var str:String = "" var a:Object = "a"; // is…