Flash:シェアボタンを設置
2011.11.30
Flashでのシェアボタンの設置方法です。
HTMLで<a>タグにパラメーターを与えるのと同じように、
getURLのアドレスにパラメーターを加えることで作成できます。

■twitter
------------------------------------------------------------------------------
getURL( "http://twitter.com/share?url=//www.gravity-works.jp/&text=twitterテキスト" , "_blank" );
------------------------------------------------------------------------------

■Facebook
------------------------------------------------------------------------------
getURL( "http://www.facebook.com/sharer.php?u=http://www.google.co.jp/" );
------------------------------------------------------------------------------

ただし、上記のように日本語を使う場合は
そのままではエラーが出てしまうので、UTF-8でURLエンコードをする必要があります。

escape() を使い、日本語を含むテキストを変換します。
※System.useCodepage が true になっている場合は false にします
------------------------------------------------------------------------------
getURL( "http://twitter.com/share?url=//www.gravity-works.jp/&text=twitterテキスト" , "_blank" );
 ↓
getURL( "http://twitter.com/share?url=http://www.google.co.jp/&text="+ escape("twitterテスト") , "_blank" );
------------------------------------------------------------------------------

これでFlashにもシェアボタンを設置することができます。
| コメント(0)
flash:外部クラス内でonEnterFrameを実行
2011.11.02
今まであまり外部クラスには触れずにきたのですが、
やっぱり便利なものは使わないと、というのと、
AS3.0を始める前に慣れておけるようにということで、
良さそうなところを見つけてちまちま外部クラス化したりしています。

そこで気になったのがonEnterFrameの扱い。

読み込んだ先でonEnterFrameを上書きしてしまっても困るし、
かといって空mcを作ってその中で動かすにしても、
そのmcからまた外部クラス内の処理を呼び出す方法がわからなかったりで
(こっちは調べればちゃんとした方法がありそうですが)
上手く使いこなせていませんでした。

なにかいい方法がないかと探していたところ、
AS2の外部クラス内で簡潔にonEnterFrameを有効にする という
まさにぴったりの記事が!

OnEnterFrameBeaconクラスというクラスを使うことで、
外部クラス内でonEnterFrameを使えるんですね・・
これは今後も(自分の中で)活躍しそうです。
| コメント(0)
Flash:オブジェクト型変数の長さの取得
2011.09.07
配列と似たような使い方ができるオブジェクト型の変数ですが、
配列のように .length でデータ数を取得することはできません。

少し不便ですが、for~in文を使うことで取得することができます。


例えば以下のようなオブジェクトを用意して、
--------------------------------------------------------------------------

var userData_obj = {
  user_1 : {
    profile : "プロフィール1",
    comment : "コメント1"
  },
  user_2 : {
    profile : "プロフィール2",
    comment : "コメント2"
  },
  user_3 : {
    profile: "プロフィール3",
    comment : "コメント3"
  }
};
--------------------------------------------------------------------------


for~in文でカウントすることで、データ数を調べることができます。
--------------------------------------------------------------------------

objLen = 0;
for( var key:String in userData_obj ){
  objLen += 1;
}
trace( objLen );
--------------------------------------------------------------------------

上記の場合"3"と出力されます。

userData_obj.user_1 とすれば、
それぞれのデータ数も取得できます。
| コメント(0)
Flash:Flash非対応のときに代替コンテンツを表示
2011.08.24
Flash Player が入っていない環境でFlashページを見たときに、
代替コンテンツを表示させる方法です。

swfobjectを使いますので、下記からダウンロードしてください。

swfobject

こちらのページには日本語のドキュメントもあります。


■使い方

まず、<head>内にダウンロードしたjsを読み込みます。

--------------------------------------------------------------------------

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

--------------------------------------------------------------------------



<body>内のFlashを貼り付けたい箇所に<div>を置き、
Flash非対応時のコードを書きます。

続けて、その<div>にFlashを表示させるための
Java Script のコードを書きます。

--------------------------------------------------------------------------

<div id="flash_contents">

ここにFlash非対応時に表示するコードを入れます。

</div><!-- /flash_contents -->


<script type="text/javascript">
<!--
var so = new SWFObject("sample.swf", "my_flash", "900", "600", "9", "#ffffff");
so.write("flash_contents");
//-->
</script>

--------------------------------------------------------------------------

以上、swfobject の基本的な使い方そのままですが、
これでFlash非対応時に代替コンテンツを表示させることができます。

また、あまりないと思いますが Java Script を使っているため、
Flash が見れる環境でも Java Script が使えない状態だと
表示させることができません。

覚え書きでした。
| コメント(0)
Flash:CSSでフォントを指定
2011.08.17
Flashで特定のフォントを使いたくても、
容量の問題で埋め込みできない場合が多いかと思います。

フォントを指定し、
アンチエイリアスをデバイスフォントにしておけば
持っている一番近いフォントを表示してくれるようですが、
意図せず随分違うフォントになってしまうこともあります。

そこで、HTMLレンダリングが使えるときに限りますが、
CSSでフォントを指定してみました。



「sample_text」というテキストフィールドに適用する例です。

■AS -------------------------------------------------------

var text_ss = new TextField.StyleSheet();

//cssファイルの文字コードがShift-JISの場合に使用
//System.useCodepage = true;


text_ss.load("font.css"); //ファイルを読み込み

//読み込みが完了したら実行
text_ss.onLoad = function(check) {
if (check) {
sample_text.styleSheet = text_ss;
sample_text.htmlText = "<span class='testText'>テキストです</span>";
}
};

■CSS -----------------------------------------------------

.testText{
font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
}
-------------------------------------------------------------


これで、HTMLと同じ感覚でフォントの指定ができました。
| コメント(0)

月別アーカイブ