2008年3月 6日

[as3][習作] Box2Dを使った四則演算電卓

Box2Dを使った習作。 var so = new SWFObject("http://blog.seyself.com/2008/03/06/calculator.swf", "calculator", 550, 400, "9" ); so.addParam('menu', 'false'); so.addParam('wmode', 'opaque'); so.addParam('allow

投稿者 michi : 20:32 | コメント (0) | トラックバック

2008年2月13日

[as3] PV3D & Box2D & Maze の作り方

今日は、前回のエントリー(PV3D と Box2D を組み合わせて使ってみた)で作った迷路FLASHの作り方について簡単に解説します。 迷路を生成するためにMazeクラスを作成 Maze.as まず迷路を生成するクラスを作ります。 このクラスはプロパティ内に"1"と"0"の配列で迷路の情報を作成します。 画像は出力結果です。 このクラスは「C言語による最新アルゴリズム事典」を参考にさせてもらいま

投稿者 michi : 18:36 | コメント (2) | トラックバック

2008年2月 8日

[as3] PV3D と Box2D を組み合わせて使ってみた

巷でウワサの(?) Papervision3D と Box2DFlashAS3 を試しに使ってみた。 どちらも使うのは今回が初めてなので、ちょいちょいいろんなブログを徘徊しつつ、 探り探りですが、簡単な迷路を作って、ボールを転がす。みたいなのを作ってみました。 最初に PV3D でオブジェクトの書き出しをするのにちょっと待たないといけないです。 3秒~10秒ほどかな?(マシンにもよるのだろうけど

投稿者 michi : 22:18 | コメント (0) | トラックバック

2008年1月25日

[as3] Sandy 3D engine v3.0.1

Sandyがバージョン3になってますね。 もうすでに2ヶ月ほど経ってるけども。 Sandy 3D engine http://www.flashsandy.org/ DistortImageクラスがいつのまにかなくなってるけど、 これに近いクラスってあるのかな。

投稿者 michi : 12:17 | コメント (0) | トラックバック

2007年12月27日

[as3] KeyboardEvent

あんまり取り沙汰されてない気がするけども、AS3になって複数キーのイベントがきちんと取れるようになったのはすばらしい事だと思う。 import flash.events.KeyboardEvent; import flash.display.Sprite; var sprite:Sprite = new Sprite(); this.addChild( sprite ); var pressPat

投稿者 michi : 15:31 | コメント (0) | トラックバック

2007年11月15日

[ActionScript][as2][as3] 最大値と最小値の間を取るとき

最大値と最小値が決まっていて、その間の値を取るときに Mathクラスのminとmaxを今まで使っていた。 var res:Number = Math.min( 1 , Math.max( 0 , i ) ); こんなふうに。 でも、Mathクラスのmaxとminで比較するより、条件分岐を使った方が倍くらい早かった。 var res:Number = ( i > 1 ) ? 1 : ( i Fun

投稿者 michi : 20:05 | コメント (0) | トラックバック

2007年10月11日

[as3] Flex2のClassをFlash CS3で使う

flex_sdk_2のディレクトリの中の以下の場所 flex_sdk_2/frameworks/source/mx/ ここの「mx」ディレクトリにクラスファイルが入ってるので、ここから使いたいものをコピる。 もしかしてコンポーネント用意すればCS3でFlexオーサリングもできるのかな? 今度暇が出来たらためしてみよかな。

投稿者 michi : 10:49 | コメント (0) | トラックバック

2007年9月20日

[as2][as3] イージング用の配列を作るコマンドパネル

var so = new SWFObject("http://blog.seyself.com/archives/samples/20070920_bezier/BezierCurve.swf", "BezierCurve", 560, 260, "8" ); document.write(so.getSWFHTML()); AS2だと BezierSegment クラスは用意されていないけど、

投稿者 michi : 13:36 | コメント (0) | トラックバック

2007年9月11日

[as3] 今さら気づいたこと

AS3 の Math.max と Math.min ってパラメータ2つじゃないんだ。ってことに今気づいたよ。 trace( Math.max( 10, 20, 30 ) );//出力 30

投稿者 michi : 20:45 | コメント (0) | トラックバック

2007年9月10日

[as3] 外部SWFをSharedObjectに保存

先のエントリーで書いていたことが出来るか試してみたら、出来た。 そのまんまなんだけど、バイナリ型で読み込んだSWFファイルを 一度 compress を実行した後、配列から1バイトずつ取り出して文字列として結合。 それを SharedObject に保存。 使うときはその逆。びっくりするほど簡単だった。 ByteArrayUtil というクラスとして作成しておいた。 各クラスファイルは以下にありま

投稿者 michi : 21:23 | コメント (0) | トラックバック

[AIR][as3] 流行に乗っかってブログパーツを作ってみた

流行に乗っかってブログパーツを作ってみました。 一応管理ツールを AIR で作ってみました。 詳細は以下のページで。 http://gokigen-kun.seyself.com/

投稿者 michi : 02:13 | コメント (0) | トラックバック

2007年9月 7日

[as3] クラスライブラリを一部更新

更新と言っても、ちょっとドキュメント追記したくらいなんだけども。 ソースはココ ドキュメントはココ

投稿者 michi : 02:52 | コメント (0) | トラックバック

2007年9月 5日

[as3] リンケージにクラスを割り当てたときの注意点(2)

先のエントリーに引き続き。 ステージ上に配置したムービークリップのインスタンス名には シンボル名をそのままインスタンス名に使うことが多々ある。 AS3ではリンケージの設定に「クラス」と「基本クラス」があって、 「クラス」の方には1つのクラスにつき、1つのシンボルにしか割り当てられない。 そのため、CustomButtonクラスのようなものを作って、複数のボタンの「クラス」に 同じクラスを割り当てよ

投稿者 michi : 00:22 | コメント (0) | トラックバック

[as3] エラーオプションのメモ

[Strict モード] を選択すると、警告がエラーとして報告されます。これは、それらのエラーが存在する場合は、コンパイルに成功しないことを意味しています。 [Warnings モード] を選択すると、ActionScript 2.0 コードを ActionScript 3.0 に更新するときに非互換性を検出するのに役立つ、追加の警告が報告されます。

投稿者 michi : 00:04 | コメント (0) | トラックバック

2007年9月 4日

[as3] リンケージにクラスを割り当てたときの注意点

AS2の時と同様にオーサリングしてたら、プレビューしたときにコンパイルエラーで 怒られまくったのでメモ。 例えば box というシンボル(ムービークリップ)を作成して、 さらに、その内部にテキストフィールドを配置して、インスタンス名を tf とする。 box内のタイムラインに以下のスクリプトを記述。 tf.text = "TextField"; これで一度パブリッシュしてみると、うまく書き出される

投稿者 michi : 12:39 | コメント (4) | トラックバック

[as3] TextInput コンポーネントのTextFormatの設定メモ

import fl.controls.TextInput; import flash.text.TextFormat; var itext:TextInput = new TextInput(); this.addChild( itext ); var tf:TextFormat = new TextFormat(); tf.color = 0x666666; tf.size = 14; tf.

投稿者 michi : 12:28 | コメント (0) | トラックバック

2007年8月30日

[as3] ムービークリップの階層を出力

AS2だと trace(this); だけで済むのに、AS3でこれをしようとすると function getGlobalPath( target:DisplayObject ):String { if( target!=target.root ){ var _path:String = getGlobalPath( target.parent ); return _path+&

投稿者 michi : 15:10 | コメント (0) | トラックバック

2007年8月26日

[as3] スクリプトでのイージングアニメーション

Motion クラスと Ease クラス   サンプル   サンプルソース   ドキュメント 使用例: import com.seyself.controls.Motion; import com.seyself.controls.Ease; import flash.display.Sprite; var motion:Motion = new Motion(); var easing:Arra

投稿者 michi : 22:01 | コメント (0) | トラックバック

[as3] enterFrame イベントの管理

enterFrameイベントを管理するクラス「EnterFrame」   サンプル   サンプルソース   ドキュメント 使用例: import com.seyself.events.EnterFrame; import com.seyself.events.EnterFrameEvent; import flash.display.Sprite; function emptiedHandler(

投稿者 michi : 19:36 | コメント (0) | トラックバック

2007年8月20日

[as3] ASDocの警告を表示しない

ASDoc の実行時に asdoc -doc-sources ●●●● とすると、やたらと「~に型宣言がありません。」と怒られる。 (●●●●はソースの置いてるディレクトリ) 普通にコマンドプロンプト使ってやってると、うまく書き出されないときに 肝心のエラー部分が上に追いやられてしまって、何が原因になのかが わからなくなってしまう。 -compiler.show-actionscript-warn

投稿者 michi : 20:23 | コメント (0) | トラックバック

2007年8月 6日

[as2][as3] Abstract

AS2でAbstract class AbstractClass { function AbstractClass() { if(arguments.caller.prototype instanceof AbstractClass){ trace("create instance"); } else { throw new Error("Argum

投稿者 michi : 16:07 | コメント (0) | トラックバック

2007年7月31日

[as3] AS3でSingleton

Singleton メモ package { public class Singleton { private static var instance:Singleton; function Singleton(caller:Function=null):void { if( caller != createInstance ) throw n

投稿者 michi : 13:28 | コメント (0) | トラックバック

2007年7月30日

[as3] インスタンス化させないために

DisplayObjectを用いるのはいかがなものなんだろう。 package { import flash.display.DisplayObject; public class Abstract extends DisplayObject { } } AS3ではクラスのコンストラクタ定義に private が使用できないので 普通に作ってると、作ったクラスがすべてイン

投稿者 michi : 19:18 | コメント (0) | トラックバック

[as3] applyとcallのscope

AS3 の apply と call の scope が変更されない。 DocumentRootTimeline :: Frame Action import flash.display.MovieClip; var mc = new MovieClip(); test.apply( mc , null ); function test() { trace(this);// [object M

投稿者 michi : 14:42 | コメント (0) | トラックバック

2007年6月20日

[as3] SoundMixer.computeSpectrum

メモ http://livedocs.adobe.com/flex/2_jp/langref/flash/media/SoundMixer.html#computeSpectrum()

投稿者 michi : 14:38 | コメント (0) | トラックバック

2007年6月 7日

[as3] addEventListener についてメモ

import flash.display.Sprite; import flash.events.Event; this.addEventListener( Event.ENTER_FRAME , enterframe1 ); this.addEventListener( Event.ENTER_FRAME , enterframe2 ); this.addEventListener( Even

投稿者 michi : 12:53 | コメント (0) | トラックバック

[as3] for in

var str = "abcdefghijklmnopqrstuvwxyz"; var obj = {} for(var i=0;i AS2までの for in では jp en j i h g f e c b a と出力されていた。 一応追加された逆順になっている。 これをAS3で実行すると h c i jp j e f a en g b こんな具合。 さっぱりルールが分からない。 ちなみに

投稿者 michi : 12:25 | コメント (0) | トラックバック

2007年6月 3日

[as3] MovieClassic

先日のエントリーに書いたクラスファイルを下記の場所にアップ。 http://blog.seyself.com/archives/classicEvent.zip

投稿者 michi : 18:32 | コメント (0) | トラックバック

2007年6月 2日

[as3] 警告 Warning: 1090: Migration issue

やたらといろいろ定義しないといけないのが面倒なのと、覚えるのも一苦労しそうなので AS2 ベースのイベント、メソッドを持ったクラスを作成。 たぶんみんなおんなじようなことはやってるだろうから、探せばどっかにあるんだろうけど まずは AS3 の仕組みを理解するためにも、もんどりうって作ってみる。 以下はその時の経過をメモ。 クラス内に public function onEnterFrame():v

投稿者 michi : 03:29 | コメント (0) | トラックバック

[as3] AS3 筆初め

昨日、今日と Flash CS3 で AS3 をあれこれ触ってみて、 for(var i=0;i これに何でエラーが出るのかまったく分からず四苦八苦してた。 どうも同じスクリプト内で i が2回 var で宣言されてるのがダメらしい。 for(var i=0;i こうすると無事実行してくれる。

投稿者 michi : 03:10 | コメント (0) | トラックバック