yoshiweb.NET

Navigation

カテゴリ

アーカイブ

FlashからブラウザのuserAgentを取得する

Flash でユーザーエージェントを取得する
import flash.external.ExternalInterface;
var ua:String = ExternalInterface.call( "function (){return window.navigator.userAgent;}" );


2014年10月16日 - yoshiweb - コメントなし

ActionScript 3.0 のコーディング規約

Adobe Open SourceSourceForgeへ移転してページが移動してたので...

Flex SDKコード記述に関する規則とベストプラクティス
http://sourceforge.net/adobe/flexsdk/wiki/Coding%20Conventions-ja/



【参考】
今さらながら ActionScript 3 コーディング規約 « イナヅマTVログ
http://www.inazumatv.com/contents/archives/2343

【AS3入門】アドビ公式のActionScript 3.0 コーディング規約 日本語版 - 独学ActionScript
http://d.hatena.ne.jp/ActionScript/20080919/as3_coding_conventions

trick7 - ActionScript 3.0 コーディング規約の日本語訳
http://www.trick7.com/blog/2008/03/14-131809.php



2014年09月03日 - yoshiweb - コメントなし

Safariの Flash Playerで指カーソルにならない問題

ムービークリップで buttonMode を trueにしても Safari 5.1 以降では
指カーソルに変わらなかった問題
Flash Player 10.2からは対応可能だったんですね!(今更知った!)

// ボタン押下の指カーソル
Mouse.cursor = MouseCursor.BUTTON;


// デフォルト表示に戻す
Mouse.cursor = MouseCursor.AUTO;


これをロールオーバー、ロールアウトで切り替えれば行ける感じですかね!

Safariでも指カーソルにする - wonderfl build flash online


たまに変わらないことがある?
ローカルではSafariでカーソルが変わらなかった。サーバーに上げたら変わった。
まだちゃんと検証してないけどとりいそぎ...。


Flash Player 10.2コンテンツ制作入門:ネイティブマウスカーソル | デベロッパーセンター
http://www.adobe.com/jp/devnet/flash/articles/flash_cursor.html

MouseCursor - Adobe ActionScript® 3(AS3 )API リファレンス
http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/ui/MouseCursor.html

2014年08月04日 - yoshiweb - コメントなし

setTimeout と setIntervalの書き方 for ActionScript 2.0 / 1.0

Flash CS4 で作った flaファイル ( ActionScript 2 )の setTimeout が
Flash CS5で「タイプが一致しません。」とコンパイルエラーがでて書き出せなかった!!

setTimeout は1度だけ実行してくれる setInterval だと思ってたけど
Flash CS5以降はsetIntervalにシンタックスは許可してない(?)みたい。

setTimeout 関数
http://help.adobe.com/ja_JP/AS2LCR/Flash_10.0/00000607.html

setInterval 関数
http://help.adobe.com/ja_JP/AS2LCR/Flash_10.0/00000605.html

setInterval(functionReference:Function, interval:Number, [param1:Object, param2, ..., paramN]) : Number
setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number

↑下の書き方は setTimeout では使えない


FN0512001 - setTimeout()関数 - Flash : テクニカルノート
http://www.fumiononaka.com/TechNotes/Flash/FN0512001.html

Flash CS4までは使えましたがドキュメントに載ってないものは自己責任ってことですかね。

2014年07月25日 - yoshiweb - コメントなし

Flash で右クリックを無効にする方法 ( Flash Player 11.1以降 )

いまさらだけど表示オブジェクトに対して以下のイベントをどれでもいいので登録すると
Flash Player 11.1以降ではコンテキストメニュー(右クリックメニュー)が表示されなくなる機能が追加された。
MouseEvent.CONTEXT_MENU
MouseEvent.RIGHT_MOUSE_DOWN
MouseEvent.RIGHT_MOUSE_UP
MouseEvent.RIGHT_CLICK

(ムービークリップなど).addEventListener(MouseEvent.CONTEXT_MENU , function(e:MouseEvent):void{});
↓赤いエリアで右クリックしてもコンテキストメニューは表示されません ( Flash Player 11.1以降 )

[memo] コンテキストメニューを表示しない(Flash Player 11.1 以降) - wonderfl build flash online




FlashゲームPG講座 For AS3.0【コンテキストメニューについて】
http://hakuhin.jp/as3/context_menu.html#CONTEXT_MENU_PREVENT

FlashPlayer11.2の新機能とかまとめ。 | 机上のにゅーろん
http://spheresofa.net/blog/?p=392




2013年01月15日 - yoshiweb - コメントなし

Flashで Photoshopのようなパターン塗りを描くクラス

MovieClip.beginBitmapFill()を使えば、Photoshopのパターン塗りのようなものが描けるけど new Rectangle() や BitmapData.fillRect()を繰り返して1コマずつ色を指定するのが面倒なので、配列で指定できるクラスを作ってみた。

もちろんソースは Spark Project で公開。
こちらのページ > GraphisPattern

で、似たようなパターンを各個人がそれぞれ作るのも大変なので、wwwusic.netさんで公開されてる

シンプルで使える!Photoshop パターン素材 - wwwusic Simple Patterns
モノクロ印刷風 Photoshop パターン素材 - wwwusic MANGA ScreenTone
を ActionScript に移植しました。

シンプルで使える!パターン


モノクロ印刷風 パターン


これらのクラスも Spark Project で公開してます。
公開することを快く了承していただいた wwwusic.netさんに感謝します。

色やアルファ値も変えられます。使い方は サンプル を参考にしてください。

追記:wwwusic.netさんも紹介してくれました。コラボ画像まで作っていただいて恐縮です!!
スリーダブリュージックパターンシリーズ for FLASH - ActionScript [ wwwusic.net ]

画像を並べる場合は trick7 さんが参考になります↓
trick7.com blog: ロードした画像達をタイル上に並べる

2008年01月30日 - yoshiweb - コメントなし

好きな座標を基準にムービープリップを回転/拡大・縮小させるクラス

外部読み込みした画像やswfを回転させたとき左上を基準に回転しますが、好きな座標を基準にして回転・拡大/縮小できる Transクラスを Snippetsプロジェクトで公開しました。

> Snippetsプロジェクト:Transクラス

もちろん普通のムービークリップでも使えます。
見る


【追記】 ActionScript 3.0 の場合
MatrixTransformer.rotateAroundInternalPoint()でできるようです。

FN0708001 - 指定座標を中心にMovieClipを回転させる - Flash : テクニカルノート
http://www.fumiononaka.com/TechNotes/Flash/FN0708001.html


2007年05月28日 - yoshiweb - コメントなし

モザイククラス

ムービープリップにモザイクをかけるクラスを Snippetsプロジェクト Spark project で公開しました。

ソースやサンプルは Snippetsプロジェクト Spark project から入手できます。
> Spark project:Mosaicクラス

見る

※ SnippetsプロジェクトはSpark projectに統合されたのでリンク先などを修正しました。

2007年05月28日 - yoshiweb - コメント2件

Flash 8 で Colorクラスの代わり(?)のクラス

Snippetsプロジェクトで公開したけどここで書いてなかったので一応エントリ。

Flash 8 の Colorクラスのヘルプをみると
Flash Player 8 以降では使用しないでください。Color クラスの代わりに flash.geom.ColorTransform クラスを使用します。

って書いてあるけど、Color クラスと ColorTransformクラスじゃ書き方が違うので Colorクラスと同じようにムービークリップの色を変更できるクラスを作ってみました。

サンプルやソースは Snippetsプロジェクトで公開してます。
Snippetsプロジェクト:ColorTransクラス


2007年05月28日 - yoshiweb - コメントなし

クリップボードにtrace()するクラス

System.setClipboard() を何度か実行すると最後の結果しかクリップボードに残らないので、前の System.setClipboard() も残しつつ貼り付けられるようにしたクラスです。

Clipboard.as

使い方
import net.yoshiweb.utils.system.Clipboard;
Clipboard.trace("貼り付ける内容");

ObjectDumper.toString()を使って trace() と同じようにオブジェクトを展開して貼り付けることもできます。
import mx.data.binding.ObjectDumper;
import net.yoshiweb.utils.system.Clipboard;
var obj = new Object();
obj.a = "あああ";
obj.b = "いいい";

trace(obj); // [object Object]
trace(ObjectDumper.toString(obj, true, true)); // {a: "あああ", b: "いいい"}

Clipboard.trace(obj); // [object Object]
Clipboard.trace(ObjectDumper.toString(obj, true, true)); // {a: "あああ", b: "いいい"}


クリップボードを空にするときは
import net.yoshiweb.utils.system.Clipboard;
Clipboard.clear();
※空にはできませんでした。

あまり使い道ないかもしれないけど前に Flash OOPの仮サーバーで 公開してた から一応再公開!

2006年12月08日 - yoshiweb - コメントなし

setInterval のフレーム同期版

以前、「setInterval のフレーム版」とか言いながら使い方の全然違うハズかしいものを晒してたけど
こっちは setIntervalと同じような使い方ができる フレーム同期版クラスです。

FlameInterval.as

使い方import net.yoshiweb.utils.FrameInterval;
FrameInterval.setInterval(trace, 10, "10フレームごとに実行");

setIntervalと同じように1番目の引数にオブジェクトを渡してメソッドを実行することもできます。
import net.yoshiweb.utils.FrameInterval;
FrameInterval.setInterval(this, "test", 10);
function test(){
trace("10フレームごとに実行");
}


setTimeoutもあります。
import net.yoshiweb.utils.FrameInterval;
FrameInterval.setTimeout(trace, 10, "10フレーム後に実行");


戻り値でインターバル IDを返しますので、その値を使ってそれぞれ動作を止めることができます。
import net.yoshiweb.utils.FrameInterval;
FrameInterval.clearInterval(インターバル ID);

import net.yoshiweb.utils.FrameInterval;
FrameInterval.clearTimeout(インターバル ID);


フレーム数を 1にすればonEnterFrameの代わりにも使えます。
import net.yoshiweb.utils.FrameInterval;
FrameInterval.setInterval(this,"test", 1);
function test() {
mc._x += 10;
}


2006年11月30日 - yoshiweb - コメントなし

Flash Player のバージョン判別クラス

最近あまり更新していないので、普段よく使っているクラス(AS2.0)を晒してみる。

Flash Playerのバージョンチェックに役立つかもしれない Player クラス。
マイナーバージョンも判別してるので細かい判別がラクにできるかと...。

Player.as

使い方import net.yoshiweb.utils.system.Player;

if(Player.isVersion(9,0,28,0)){
trace("フルスクリーン対応");
}else{
trace("フルスクリーン未対応");
}

前にもFlash OOPの共有クラスプロジェクトの仮サーバーに公開してましたがプロジェクトが自然消滅(?)な感じなのでこっちにも載せました。

2006年11月30日 - yoshiweb - コメントなし

任意の間隔でイベントを発生するクラス

※2006/11/30 - setInterval()と使い方が違うので下のクラスは無視してください。後日作成した 修正版 をおすすめします。

Flash OOP 勉強会の影響で、今後いろいろな人が自作クラスなんかを公開してくれればいいな〜。と期待しつつちょっとクラスを書いてみた。

FrameInterval クラス
簡単にいうと setInterval() のフレーム版(?)

30フレームごとに関数を実行したいのに、setInterval() だとフレームと同期をとれなくてイヤンな感じを解消するかもしれないもの。
仕組みはクラスの中で onEnterFrame を実行して、指定したフレームになったらイベントを発生してるだけ。
setInterval() と違って、2回だけ実行という使い方も出来るようにしてみた。 [続きを読む]

2006年01月30日 - yoshiweb - コメント1件

mx.behaviors.DepthControl クラス

Flash MX 2004のころからビヘイビアに入っているのに、なぜかFlash8になってもヘルプに書かれていないムービークリップの深度を入れ替えたりできるクラス。
GoogleやYahooで検索しても、あまりヒットしないので書いてみる。

例: test_mc の重ね順を変更するには↓// ひとつ前面に配置
mx.behaviors.DepthControl.bringForward(test_mc);

// ひとつ背面に配置
mx.behaviors.DepthControl.sendBackward(test_mc);

// 最前面に配置
mx.behaviors.DepthControl.bringToFront(test_mc);

// 最背面に配置
mx.behaviors.DepthControl.sendToBack(test_mc);
[続きを読む]

2005年12月10日 - yoshiweb - コメント3件

mx.utils.ObjectCopyクラス でオブジェクトを複製

配列やオブジェクトをコピーしたいとき普通の変数のように A = B と代入すると参照が代入されるため、片方の値を変更すると両方変わってしまいますが、mx.utils.ObjectCopyクラス を使うとオブジェクトを複製できるようです。 [続きを読む]

2005年11月08日 - yoshiweb - コメントなし