2008年2月18日
[as2] MovieClipLoaderのイベント
以前書いた「画像をロードしたMC 上に attachMovie」という記事に 助言をいただきまして、ちょっと試してみたので掲載しておきます。 読み込み先の"sub.swf"には「imageMC」というムービークリップが配置されてます。 var mc:MovieClip = this.createEmptyMovieClip("loadSWF",10); var loader:MovieClipLo
投稿者 michi : 13:35 | コメント (0) | トラックバック
2008年1月28日
[as2] ループ処理とイベントハンドラ
Yoropan@Flaさんのブログ記事にコメントしたら失敗してしまいました。 http://yoropan.no.coocan.jp/wp/index.php/archives/85#comment-31 ここにコメントで書こうとしたソースを掲載しておきます。 Yoropan@Flaの筆者さん、すいませんでした。 var arr:Array = [0,1,2]; for(var i=0; i<
投稿者 michi : 18:16 | コメント (0) | トラックバック
2008年1月23日
[as2] 画像をロードしたMC 上に attachMovie
はじめてトラックバックという機能を使ってみます。緊張の一瞬です。 trick7さんがblogに「画像をロードしたMC 上に attachMovie できない」という記事を書かれてまして、これってよくいろいろと聞かれるので書いておこうと思いました。 まずテスト用に以下の図のような構成の"main.swf"と"sub.swf"というファイルを用意しました。 "sub.swf"のルートの1フレーム目には
投稿者 michi : 22:23 | コメント (6) | トラックバック
2008年1月18日
[as2] TweenerやらFusekitを未だに使わないのは
きっと使えば何かと便利なんだろうけど 今まで使ってた自分クラスがなかなか手放せないだけなのかもしれない。 Motionクラス, Easeクラス var so = new SWFObject("http://blog.seyself.com/2008/01/18/files/motion.swf", "Motion", 550, 500, "8" ); document.write(so.getSW
投稿者 michi : 19:03 | コメント (0) | トラックバック
2008年1月 9日
[as2] Flashのバージョン7 で flash.geom パッケージを使う
Flash 8 から実装された Matrixクラス や Pointクラスなどが入っている flash.geom パッケージですが、 Wiiとか未だに FLASH Player のバージョンは 7 だとかで、このパッケージは使えないらしい。 これってバージョンアップはしないんでしょうか。 ところで、以前どっかのブログ記事でそんなことを書いている人がいたので試しにバージョン7 でも使えるように 手作り
投稿者 michi : 20:01 | コメント (2) | トラックバック
[as2] Matrix の値から拡大縮小、回転の値を取る
Matrix の値から拡大縮小、回転、位置の値を取る計算式。 import flash.geom.Matrix; var mat:Matrix = new Matrix(); mat.createBox( 12 , 36 , Math.PI/4 , 10, 50 ); trace( mat ); trace( getParam( mat ) ); function getParam( m:Matr
投稿者 michi : 18:48 | コメント (0) | トラックバック
2007年12月12日
[as2] 関数にEventDispatcher
意味があるかはまったく不明。 使いどころが分からないけど、なんとなくやってみた。 import mx.events.EventDispatcher; var execute = function( func:Function ):Void { arguments.callee.dispatchEvent( { type:"call" } ); func(); arguments.cal
投稿者 michi : 14:04 | コメント (0) | トラックバック
2007年11月20日
[as2] 既存のメソッド実行時に他の関数を同期させる
ってことをするために作ったクラス SyncMethod クラス import com.seyself.utils.SyncMethod; var obj = {}; var tgt = {}; obj.execution = function( a ) { trace("execution : "+a); } tgt.sync1 = function( a ) { trace("sync1
投稿者 michi : 16:04 | コメント (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年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月 5日
[as2] レイアウト指向スクリプティング
なんとなく思ったこと。 ActionScript のクラスを作るときって、もちろん Flash のオーサリングを前提にして作る。 今まで何度も他の人が作った fla ファイルを修正依頼なんかで見てきたりしたんだけど、 Flash のオーサリング方法は結構人それぞれで、スクリプトの書き方も、それによって 大幅に違ってたりする。 ステージ上に何も配置しないで、すべて attachMovie とかでレ
投稿者 michi : 12:45 | コメント (0) | トラックバック
2007年8月29日
[as2] Functionの呼び出し元(caller)のスコープを調べる
AS2 にて デバッグ用に作ったもの。 渡されたスコープから辿って3階層以内に見つからなければ null を返します。 class FunctionUtil { public static function getCallerScope( func:Function , scope:Object ):Object { if( scope==undefined ) scope = _
投稿者 michi : 20:41 | コメント (0) | トラックバック
2007年8月25日
[as2] AS2のEventDispatcherを使ってみる
27日の月曜日に心斎橋にて開催されるTERACOに参加することになったので。 予習ということで EventDispatcher クラスを使って、ステージサイズを取得するためのクラスを作成してみようと。 サンプル サンプルソースのダウンロード ( 20070825_stageresize.zip ) 今回作ったクラスは「StageResizeManager」というクラス。 詳細は省くけども、使えるメ
投稿者 michi : 03:32 | コメント (0) | トラックバック
2007年8月11日
[as2] 三角比相互の関係
for(var i=0; i<Math.PI; i+=0.1) { var a = Math.pow( Math.sin( i ) , 2 ) + Math.pow( Math.cos( i ) , 2 ); trace( a ); } これ今まで知らなかったのは痛いなあ。 まだまだ知らないことだらけだ。
投稿者 michi : 00:57 | コメント (0) | トラックバック
2007年8月10日
[as2] 等間隔のカクカク渦巻き(3)
何がしたかったかというと。 import flash.geom.Point; var result = createOrderMatrix( 9 , 9 ); for(var i=0;i<result.length;i++){ trace( result[i] ); } function createOrderMatrix( xlength:Number , ylength:Number
投稿者 michi : 21:38 | コメント (0) | トラックバック
[as2] 等間隔のカクカク渦巻き(2)
1マスずつ描画する import flash.geom.Point; var p:Point = new Point( 0 , 0 ); this.lineStyle( 1 , 0 , 50 ); var xflag = true; var yflag = false; var xm = 1; var ym = 1; var nx = 1; var ny = 1; for(var i=0;i
投稿者 michi : 21:20 | コメント (0) | トラックバック
[as2] イージングもろもろメモ
/** r : Number ― r = ( currentTime - startTime ) / durationTime; */ function costomEase( r:Number ):Number { //return Math.sin( Math.PI*0.7*r )+(1-Math.sin(Math.PI*0.3)); //return 1-Math.cos( Ma
投稿者 michi : 20:52 | コメント (0) | トラックバック
[as2] 等間隔のカクカク渦巻き(1)
頂点毎に描画する import flash.geom.Point; var p:Point = new Point( 0 , 0 ); this.lineStyle( 1 , 0 , 50 ); var xflag = true; var yflag = false; var xm = 1; var ym = 1; for(var i=0;i
投稿者 michi : 20:46 | コメント (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