home > August 2007

FlashTracer

August 27, 2007

ブラウザーでトレースを使ってアプリケーションのデバッグをするのに便利な Firefox エクステンション「FlashTracer 」。これ結構、便利です。
いつもFlash上のプレビューでしか見れなかったトレースをブラウザーで確認できるとは...

方法はFlash Player Debug versionをインストールしてから、Macの場合flashlog.txtを選ぶ。場所は
Username/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt
だと思います。


Permalink | Comments (0)

SWFAddress Ver3

August 24, 2007

またまた、SWFAddressねた。
これを使うと、どうもあるはずのないhtmlを読みにいってるみたい。swfaddress.jsのある同階層の同じ名前のswfaddress.htmlを読みにいってるので、ログをとる時にこのページでエラーがでる上に、アクセスランキングも上位にくるらしい。知らんかった。

Safariのウィンドウの構成ファイル一覧で確認できる。swfaddress.jsの中身はあまり確認していなかったので分からんかた。。。とりあえず何もないswfaddress.htmlファイルを同じ階層に入れてエラーだけは解決した。

結構最近、この方法をつかってるサイトを確認したけど、そんな現象はおこっていないようです。独自でプログラムを書いてるっぽい。そりゃでないわな。。。。

【追記】
ちなみに、swfaddress.jsの変数"html"をswfaddress.gifに変えて、同階層にswfaddress.gifを入れておくと、gif扱いになるみたい。

【追記】
ブラウザーのタイトルを変えなければ、この問題は解決できるようです。まだ試してないですが・・・


Permalink | Comments (0)

enabled

ボタンの設定を一時的に切る時に使うそうです。
知りませんでした。今まではボタンの機能を切る時には悪戦苦闘してました。

MovieClip.onRollOver = function(){
Action1;
};
MovieClip.onRollOut = function(){
Action2;
};
MovieClip.onPress = function(){
Action3;
};
を切りたいとき、
MovieClip.enabled = false;
復活したいとき、
MovieClip.enabled = true;
でOK。

Permalink | Comments (0)

SWFAddress Ver2

August 10, 2007

このSWFAddressですが、どうも同時にgetURLでjavascriptを操作する時に、エラーが出るみたいで。それもIEのみ‥。それ一番最悪じゃないですか。ってことでいろいろ試したけど無理でした。そして半ば諦めかけていた時に、ここ↓を発見。

http://un-q.net/2007/07/geturl_window_open_swfaddress.html

ExternalInterface.call経由でjavascriptを操作しないと、SWFAddressは死んでしまうんです。

import flash.external.ExternalInterface;
//javascriptで実行したい関数
ExternalInterface.call("function() {javascript:SAMPLE('xxxxxxxx');}");
}

ほんまにたすかりました。


Permalink | Comments (0)

ムービーをBitmapDataで表示

August 06, 2007

ムービーをBitmapDataで表示して、形を自由に変形できるサンプルを作りました。




import flash.display.BitmapData;
import sandy.util.DistortImage;

//ビットマップ設定
var bmd1:BitmapData = new BitmapData(300, 200,false,0);
var clip1:MovieClip = this.createEmptyMovieClip("holder1", 1);
var di1:DistortImage = new DistortImage(clip1, bmd1, 4, 4);

this.onEnterFrame = function(){
  di1.setTransform(f0._x, f0._y, f1._x, f1._y, f2._x, f2._y, f3._x, f3._y);
  di1.texture.draw(mov);
}


//関数

for(var n:Number=0;n<4;n++){
 var point:MovieClip = this["f"+n];
 point.num.text = n;
 point.onPress = function(){
  this.startDrag(true);
 };
 point.onRelease = point.onReleaseOutside = function(){
  this.stopDrag();
 };
}

//FLV表示設定
var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
stream_ns.Play();

this.mov.myvideo.attachVideo(stream_ns);
stream_ns.play("video.flv");


Permalink | Comments (0)

SWFAddress

August 02, 2007

Flashの問題の一つのパーマリンク。Flash内部のコンテンツにブックマークができないやつです。そこでSWFAddressがあれば大丈夫。

必要なもの↓
Asual > SWFAddressからSWFAddress.asとswfaddress.js
SWFObjectからswfobject.js

ちなみに、ローカルでファイルを開くとFlash Playerのセキュリティー上の問題で、許可のチェックしないと見れませんが、サーバーにアップすれば問題なく作動します。あと、Operaではきかないようです。対応策を探しているのですが見つかりません。

SWFAddress.setValue('ページの名前');でアドレスは変わります。ブラウザータイトルを変える時はSWFAddress.setTitle('ページのタイトル');で大丈夫。それからSWFAddress.onChangeで、そのアドレスを打ち込んだ時にそのコンテンツにジャンプする関数を書く。この書き方は、サンプルが見つからなかったのでアナログちっくになっています。


import SWFAddress;


btn1.onRelease = function() {

  SWFAddress.setValue('page1/');

  //タイトル変更

  //SWFAddress.setTitle('page1');

  gotoAndPlay("page1");

}

btn2.onRelease = function() {

  SWFAddress.setValue('page2/');

  gotoAndPlay("page2");

}

btn3.onRelease = function() {

  SWFAddress.setValue('page3/');

  gotoAndPlay("page3");

}

SWFAddress.onChange = function() {

//ページ移動の関数

var address:String = SWFAddress.getValue();
   switch(address){
   case 'page1/':
      gotoAndPlay("page1");
      break;
   case 'page2/':
      gotoAndPlay("page2");
      break;
   case 'page3/':
      gotoAndPlay("page3");
      break;
   }
}

htmlのhead、Bobyタグ内には


<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript" src="swfaddress.js"></script>



<div id="flashcontent1">
代替テキスト(SEO対策) または 代替画像
</div>
<script type="text/javascript">
 // <![CDATA[
 var so = new SWFObject("samp.swf", "samap", "550", "400", "7.0.19.0", "#FFFFFF", true);
 so.addParam("allowScriptAccess", "sameDomain");
 so.addParam("loop", "true");
 so.addParam("quality", "best");
 so.addParam("menu", "false");
 so.write("flashcontent1");
 // ]]>
</script>


Permalink | Comments (0)