Home > Flash Archive

Flash Archive

PVっぽい表現(ラインが素早く動く)を考えてみた

  • Posted by: ryow
  • 2009年8月11日 18:49
  • Flash

音楽PVを見ていると、ミュージシャンが歌っている周囲にリボンがクルクル、スルスルと動く演出をよく見ます。

ふと、気になったので試してみることにしました。
このリボンは、実際に画面の端から端へ移動しているのか? 移動する必要がないんじゃないのか? と思ったからです。
どうせ目には追えない超スピードなんだから、「動いた」と思わせれば勝ちなわけです。そのためには、超スピードで画面に入ってきて、一定時間画面内で認識できて、その後超スピードで画面外へ出て行けばいい。だけど、ほんとに画面外へ出る必要はないんじゃないかと思ったのです。

動いている素振りをしながら一瞬でディゾルブ(透明になって消える)すれば、それで移動したように見えるのでは、という実験です。

Continue reading

Flash(swf)をスクリーンセーバーに出来るフリーソフト「InstantStorm」

  • Posted by: ryow
  • 2009年3月 5日 22:54
  • Flash

InstantStormというフリーソフトがあって、試してみたところ、ScreenTimeやLight Saverよりも使い勝手が良いです。

swfファイルを簡単にスクリーンセーバー(インストーラexe)に変換できます。
用意するものは、スクリーンセーバにしたいswfファイル1点。お好みで、インストーラ画面用の画像(164x314の縦長bmp)や説明用の画像(400x400のbmp)があればさらにかっこよくできますね。

当然のように、キーボードで解除するか、マウスで解除するか、などを設定できます。さらにインストーラ自体もカスタマイズできます。インストールの「ようこそ画面」に始まり、画面内のテキスト、ボタンテキストなど。ライセンスに同意させたい場合はライセンスtxtを用意すればOK。「同意する」ボタンを押さないと進まないようにできます。

すべて英語ですが、難しいことはないので作成はスムーズに進みます。が、編集ファイルを保存して開きなおすと日本語が文字化けしていたり、読み込めなかったりと、不具合もある模様。
設定ができて「さぁ、書き出すぞ」なんつってCreateボタンを押すとフリーズ、ということもしばしば。うまく書き出せてもなぜか設定やテキストが数回前のものだったり。(編集ファイルは保存しないで毎回新しいウィザードで作るとよさげ)
インストーラの説明文で日本語を使うと10回中9回はフリーズします。

...ですがフリー(寄付を受け付けているようです)でここまで出来るソフトのはほぼ無いので、実用度高いです。


DLはこちらから。

JSONっぽいオブジェクトの格納方法を考えてた

  • Posted by: ryow
  • 2008年8月21日 23:16
  • Flash

JSONというとこんな↓のが思いつきます。

var myJSONObject = 
{
	"キーワード": "説明"
};

でもこれだと、キーワードに対する説明がひとつしか持てません。そこで、説明の部分を配列にしてみました。

var words:Object = {
	"箱根":["地名","外国人に人気の観光地"],
	"アイス":["食べ物","夏といえばこれ"]
}
var w :String= "アイス"

if(words[w]){
	var type=words[w][0]
	var comment=words[w][1]
	trace(w+"は"+type+"で、"+comment+"です")
}

こうすると、「アイスは食べ物で、夏といえばこれです」とか「箱根は地名で、外国人に人気の観光地です」とか、キーワードに対して説明を2つ以上持たせられます。

っていう超アホな話なんですけど、自分で思いついたものってブログに書きたくなるよねぇー、というだけです。

これがあると何が嬉しいかというと、適当なキーワードを選ぶと、そのキーワードの属性や説明や付属情報など、いろいろをまとめやすいということです。さらにはwords[w][2]とかにフレームラベルを入れておいて、画面のmcをそのフレームにgotoさせるとかね。
objectの形にするか連想配列にするか、本当はずっと迷っていて、1対1のJSON形式のデータをいくつも重ねてテーブル扱いしようかと思ってたけどJSONって関数も書けるし汎用!ってことに気付いてから、上の形式にしました。

ExternalInterfaceのaddCallbackが実行されないエラー

  • Posted by: ryow
  • 2008年7月28日 23:51
  • Flash

via:
ExternalInterfaceでActionScriptの関数呼び出し失敗への対策 - blog.katsumata.tv
ExternalInterfaceのはまりどころを再検証 -tech.kayac.com

jsとswfを繋げるためにExのcallとaddCallbackを使いまくるんですが、ときどきaddCallbackが動作しないことがあります。
これのために土日月を費やしてしまいました。

//swf.objidはFlashを書き出しているSWFObjectの第二引数
function call0(){
  var player = document.all? window[swf.objid] : document[swf.objid];
  player.OverlayCallBack0()
}

普通はこれでFlash側の OverlayCallBack0() 関数が動くはずなんですが、うんともすんとも言いません。そこで、もう諦めて「ブッダ」読んで寝ようと思ったときに

  try{
    call0();
  }catch(e){
    alert(e)
  }

ってやってみたら、alertされて「TypeError:player.OverlayCallBack0 is not a Function.」と表示されました。これはエラーがキャッチされた証拠です。で、このエラーは何かというと、flash側の用意ができていないよ、ということらしい。Firebugコンソールで普通に「call0()」とタイプするとちゃんとFlashは動きます。どういうこっちゃ。

上記のエントリでは、JSの関数を実行したいときはASから呼べ、と書いてありますが逆にASをJSから確実に呼びたいときはどうすればいいんでしょうねぇ? Flash自体はローディングを用意してあるので、ロードが完了したらcallbackして、その先の処理を進めているから、Flashがロードできていない状態というのはありえないわけです。じゃあなぜ??

ASを呼ぶにはASから? JSを呼ぶのはASから、というのは楽ですが、ASを呼ぶためのJSが is not a Function. なのは意味不明です。。。。

TAKUMI ICON CLOCKみたいなもの

  • Posted by: ryow
  • 2008年5月17日 20:51
  • Flash

僕が愛用しているTAKUMIのKIRIという腕時計があるんですが、部屋用の掛け時計(ICONCLOCK)もとても良いです。

TAKUMIラブなのでICONCLOCKを模したアナログ時計を作ってみました。


TAKUMI ICON CLOCK TKM40-W ホワイト IDEA 2500046

TAKUMI KIRI watch(W) TKM20-W

AS3で書いたんですが中身はAS2のままでListenerまわりだけの直しで対応できました。
いちおうダウンロードはこちら(ver9 .fla形式)。

Flash(SWF)をビデオのようにシークするMCcontrollerV2forAS3

  • Posted by: ryow
  • 2008年5月14日 22:58
  • Flash

via:
mcコントローラV2.1外部読み込み版
mcコントローラV2

AS3で書いてみました。ボリュームコントローラはまだ途中ですが、スマートな書き方があったら教えてくださいませ。

っていうか、AS3で書き出すSWFでタイムラインアニメーションを作ろうなんて思う人はいないと思いますが。。AIRでFLVでもSWFでも意識しないでドラッグ&ドロップ→シーク、というマルチプレイヤーを作るときぐらいしか役に立ちませんが公開します。

っていうかこういう形式でいいのかな。class設計が甘いと思いますが、使い方はflaファイルを見てみてください。
AS3はframeRateを取得できるので、AS2版みたいに数字を設定しなくても、ステージに置くだけで使えるようになります。

難点としては、ReleaseOutSideの処理をしていないので、シークつまみ(knob2)をぐいぐいやっちゃうと反応しないというところです。AS3でどうやんの。

いちおうダウンロードはこちら(verCS3 .fla形式を含むzip)

Flashのスクリプトパネルに改行やタブが変な字になってびびった、という話

  • Posted by: ryow
  • 2008年2月 5日 22:49
  • Flash

via:
Adobe livedocs 隠し文字の表示
hidden


Ctrl+Shift+8 (Windows) または Command+Shift+8 (Macintosh) でオンオフできるんですね。
知らずに押してしまって、改行が変な文字になったのでFlashが壊れたと思ってしまいました。

ジェネレータの初期値の重要性

  • Posted by: ryow
  • 2008年1月24日 20:42
  • Flash

まずはこいつを見てください。

[落書き保存アプリ Ryow.net] uses BitmapExporter by Mario Klingemann

Continue reading

Flashで自分のフォント(ローカルフォント)を取得、設定する

  • Posted by: ryow
  • 2008年1月11日 22:57
  • Flash

とりあえず↑を見てください。

グレーの部分をクリックすると、お使いのマシンに入っているフォントで文字が表示されます。コンボボックスを開くとインストールされているフォントが表示されます。まぁ、それだけなんですが、これをうまく使えば表現の幅が広がります。(注:opentypeフォントはうまくいきましたが、TTFではなんかちゃんとうまくいかないっぽいです。)まぁ勢いだけで10分で作ったので詳細はこのエントリをちゃんと読んでもらうとして進めます。

…どの辺に広がるかというと、画像投稿系サイトです。

noughts::とかはてなハイクとかの画像投稿系では、お絵かき内容は充実していますが、いかんせんテキストを書くとなると手書きになってしまいます。マウスで手書きということは、酔っ払ったみたいな字になってしまいます。だけどデバイスフォント(_等幅とか_ゴシックとか)では色気がない。じゃあどうすんだ、という話になった場合、「無理です。Flashでフォントを埋め込むのは物凄くファイルサイズが大きくなるから無理」と言ってしまうのは前時代のFlasherです。

なんと、2005年冬の時点でこのテクニックは完成されていました。しかもちょんまげら野中氏によって。こうなると、フォント埋め込みに右往左往していた2006年のFlash界隈はもう自分らの無知を嘆くしかない。しかし、知っていても当時はどうしようもありませんでした。なぜなら、FlashにBitmapDataを作成する機能がなかったからです。

だけど今は違います。Flash8以降のBitmapData強化により、自分のフォントでテキストを書いて、絵を描いて、それをwebにアップロードして、さらに画像としてダウンロードすることができるからです。

時間をみつけて、そういうアプリを作りたいです。自分だけの画像を作れるサイトです。それは応用範囲が広くて、画像やポスターとして使うだけならwebで完結しますが、キモはそこじゃありません。自分で書ける(描ける)ことが世界中に繋がるようになった、ということです。つまりどういうことかというと、印刷屋さんに自分がデザインしたレイアウトを直接印刷してもらえば、オリジナルちらしを作れる、ということです。

この考えを進めれば、リアルのチラシをプレビューできるタウンマーケットに対抗した、オリジナルチラシをwebで公開、ダウンロード、印刷してクーポンにできる、というウェブtoリアルが完成します。世界はこういうのを求めてた。ユニクロポスター とかで出てきそう。ないか。ないですか。

で、こういうアイデアを超ハイレベルで実現したのが、今日紹介する Honda STEP WGN みんなで作ろうポスターコンテストです。制作はFlash界の狂気の桜、ザ・ストリッパーズです。さすが。としか言えまへんな。俺たちにできないことをやってのけるッ! そこにしびれる! 憧れるゥ! というやつです。

stepwgn

しょうもないけど今日のFlashソースはこちら。何に使えるか分からないけど。

Flashでxoopsにログイン、状態取得などやってみる

  • Posted by: ryow
  • 2007年12月29日 00:32
  • Flash

早速ですがコードです。「username.php」とします。

<?php
	include "./mainfile.php";
	if(!empty($xoopsUser)) {

		// ログインユーザ名の取得
		$uname = $xoopsUser->getVar('name');
		if($uname == '') {
			$uname = $xoopsUser->getVar('uname');
		}

		// ログインユーザIDの取得
		$uid   = $xoopsUser->getVar('uid');

		header("Content-type: text/plain");
		//LoadVarsで読める形式にして書き出し
		echo "&uname=".$uname."&uid=".$uid."&";
	}else{
		echo "not logon";
	}
?>

これは何をやってんのかっていうと、xoopsにログインした状態でこのPHPにアクセスすることでユーザ名とユーザIDを取得するよ、という内容です。
戻り値は「&uname=AAAA&uid=BBBB&」です(AAAA/BBBBはそれぞれ変数)。

Flash側からはLoadVarsでアクセスします。ここは簡単に、TEST_btnを押すと名前を表示、というところだけ。

var receive_lv:LoadVars = new LoadVars();
receive_lv.onLoad = function(success:Boolean):Void  {
	if (success) {
		trace( this.uid + " グループの")
		trace( this.uname + " さん" )
	} else {
		trace("err")
	}
};

TEST_btn.onRelease = function() {
	receive_lv.load("http://YOURHOSTNAME/username.php");
};

要はPHPのecho文でLoadVarsが処理できる変数名ごと渡しちゃえば楽だよ、というだけのことです。xoopsは通常、HTMLを返すので、変数名が何なのかさえ分かっていれば、直接それを返させるようにすればいいということですね。

あと、当たり前ですが一応。LoadVarsのloadとかsendAndLoadとかの処理は、onLoadやonData処理よりも後に書いたほうが、成功したときの関数がundefinedにならないので注意です。

いちいちxoopsの返す形式まで変えてらんねーよボケ! という場合は、しょうがないのでHTMLをそのまま返させるようにして、成功したときとしないときの文字数を比較して成功したかどうかを得る、っていうのもアリかもしれません。

とりあえず、↑のコードならxoops2でもxoopsCUBEでも大丈夫でした。

Flashを印刷させないCSS

  • Posted by: ryow
  • 2007年12月26日 19:54
  • Flash

Continue reading

歌え!ルーツ飲んでゴー!

  • Posted by: ryow
  • 2007年12月21日 21:36
  • Flash

JT「ルーツ」のキャンペーンサイトです。説明するのも今更なので簡単に書くと、シーンを数パターンの中から選んで、歌詞をつけて、アーティスト名をつけるとブラウザで歌を歌える、というもの。 オンラインのミクですかね。

これについては、もっと内容を想像してから書こうと思ってたんですが、考えてるだけだと時間が無駄に経っちゃうのでもう書いちゃいます。

シーンを選ぶ、歌詞を書く、くらいなら説明はいりません。Flashやる人なら誰でも作れます。でも、音声を作るとなるとどうなってんだ? という感じですね。クエリーをサーバに送って、サーバで音声ファイルをリアルタイムに作成して返してるんでしょうか。しょうかっていうかそれしかないです。だとすると、Flashが扱える音声はwavかmp3です。
音声合成っていうのはそんなに難しい技術じゃなくて、古くはOKI電気の「SMARTTALK」から、2chで大人気だった「テキストトゥスピーチ」、英語圏では「Microsoft Speech SDK」もありました。最近ではミクももちろんあります。で、これらはテキスト文を設定するとちゃんと音声を書き出してくれるので、そこまでは全然想像がつきます。ただ、膨大なアクセスと、遊び半分で何度もリクエストしたりするクエリーをさばきながら音声を作る、というのは、音声合成サーバにかなりの負荷がかかるんじゃないでしょうか。

ブラウザで出来る体験がひとつ増えた、というのは喜ばしいことですが、2006年はなんだかんだで動画がブーム(Youtubeがきっかけで?)になって、2007年はミクの台頭により音声合成がブームになりました。2008年はなんだろう。MashUPを超えたリミックス(MADともいう)がさらなる進化を遂げるのか、それとも想像もつかないメディアが当たり前になっていくのか。

っていう未来を想像するのが大好きだからFlashが面白いですね。

ただ、サイト上で要求されるPCのスペックが驚くほど高くなってきてるのが気になります。

AS3で、3Dをぐりぐりやりながら動画と音声をシームレスにつなげていく、という方向は確かに目指すべき未来ですが、本質を知っている、あるいは知りたいクリエイターはそういう方向は本当はやりたくないんじゃないかな。

Flashに個別URL(パーマリンク)を持たせる世界で一番簡単な方法

  • Posted by: ryow
  • 2007年12月14日 21:34
  • Flash

via:
Adobe - デベロッパーセンター:Flash内のフレームにディープリンク

FlashでパーマリンクをつけるとなるとSWFAddressが有名ですが、なにせ設定がメンドイです。
FlashVarsを使うのが一般的です。


しかし一番簡単なのは「Flashのアンカー」です。

anchor
Flashのプロパティパネルに、普段はフレーム名をつけるエリアがあります。ここはプルダウンできて、「名前/コメント/アンカー」を選べます。
アンカーを選ぶとフレーム名の表示がイカリマークになります。
anchor

ここでは「star」と「sankaku」のアンカーがあります。アンカーはフレーム名ではないですがgotoAndStopもできます。デバッガで見ると「ラベル:star」と表示されてました。


実際のサンプルはこちら。

sample.html
sample.html#star
sample.html#sankaku

フレームごとジャンプさせてパーマリンクとするのは一番簡単ですよ、という話です。
ひとつのフレームに全てがあって、スクリプトで制御する場合やHTMLのtitleタグも詳細に設定したい場合はSWFAddressを使うとよいと思います。

ちょっと試したところ、IEではうまくいきましたがFFではなぜか動作しませんでした。 あれー??

今回使ったサンプルをzipでダウンロードできます。

Flashで作ったメールアドレスに迷惑メールが送られてくるか実験

  • Posted by: ryow
  • 2007年12月14日 00:00
  • Flash

メールアドレスをサイトに公開するとき、画像にしたりbase64エンコードしたり全角にしたり@だけ全角にしたりと色々ありますが、FlashでメールアドレスにgetURLするスクリプトをあてたボタンを設置して、それを公開する、という方法はどうだろうか、と考えてはいたんですが、実験してなかったのでやってみます。
公開は2007年12月14日午前零時。

さーて、どんなスパムが来るのやら。

ちなみに、↑のアドレスはスパム検証用だけに使うために新設したものです。普段はinfoあっとまーくどめいん、を使ってます。Thunderbirdで。

MacでもFlashでマウスホイールが使えるSWFMouseWheel(SWFObjectのアドオン)

  • Posted by: ryow
  • 2007年12月13日 21:29
  • Flash

pixelbreaker.com/のエントリの紹介。macでもマウスホイールが必要になる場面は今後増えていくと思う(もしかしたらFlashPlayer10で公式サポートしちゃうのかもだけど)んですが日本語でちゃんとこのアドオンを紹介してるサイトがなかったので書いちゃいます。

Continue reading

2つのFLVを同時再生するデモ(flvsample.fla)を公開:画質チェックなどに

  • Posted by: ryow
  • 2007年12月 8日 15:38
  • Flash

flvチェック
2つのFLVを読み込んで同時再生することで画質チェックができるサンプルです。

FileReferenceを使っていますが、upload機能を実装していないのでローカルでのみの使用となります。お手元のFLVファイルを見比べてみるのも面白いかもしれません。
またも勢いで作ったのでかなり荒っぽいですが、ソースも公開するので適宜直して使ってください。
ニコニコ投稿FLVのチェックなどにどうぞ、という感じです。

Flashを持ってない方向けに、スタンドアロン(.exe形式)のツールも用意しました。
Flash8のexe書き出しでは何をどうやってもFLVを読めないというバグ(日本語だから)があるので、スタンドアロンだけver9にしてあります。


ダウンロードはこちらからドゾー。
flvsample.fla(ver8 .fla形式)
スタンドアロンでFLV比較ツール
あ。書き出しはあくまでも8 or 9.0.16なので、最新のH264対応FLVは使えませんよ。
2007.12.27追記。バージョンを9.0.115にしたのでH264対応FLVでも大丈夫なはずです。


ちなみに。
上記のサンプルFLVはこちらからお借りしました。サンプルビデオをダウンロードできますよ。

ケータイのスペック説明サイトは画像に頼りすぎ

  • Posted by: ryow
  • 2007年12月 2日 22:48
  • Flash

のような気がしました。
美しくケータイを見せたいのは分かるけれど、結局はカタログやパンフに書いてあるスペック表は表でしか書いてないから、実際のところどうなの? という疑問が残ってしまいます。「ケータイは触ってみてほしいから、あくまでもプロモーションなんです」と言いたいのでしょうか。まぁ、そうじゃないのもあるし、ケータイに全然関係ないストーリーが展開していって面白いのもあるし、一概には言えないんだけれど。

というか、ケータイに出来てPC(webサイト)に出来ないことはGPS取得とか電話かけることとかワンセグとかだから、そういうコアな部分以外は全てwebで紹介しちゃうのはどうでしょう。

どういうことかっていうと、ケータイのシミュレーション
勢いだけで作った下のサンプルは、カメラをシミュレートしているモード。
カメラだけじゃなくて、ボタンを押した感じとか、メニューとか、ワンセグを見ているところとか(フレームに動画をあてればいいだけ)、実際に使っているシーンをシミュレートできたら、逆にもっと実機を見てみたくなるんじゃないかな。

全部を見せないことで気持ちをあおるマーケティングもあるでしょうけど、全部を見せることで興味を持たせるマーケティングもあるのでは、と思うわけです。

何の役に立つかは分からないけどソースはこちら(ver8形式 .fla)。

写真はこの秋に行ってきた金閣寺。11月上旬だったので紅葉には早かった。

Flash8で画像を作成保存できるセット「Quasimondo - Flash Bitmap Exporter」

  • Posted by: ryow
  • 2007年11月26日 22:28
  • Flash

http://www.quasimondo.com/archives/000572.php

FlashとPHPで画像を保存できるライブラリ(?)が公開されています。エントリは2005/10のもの。Flash8が8 ballとして話題になってた頃ですね。
これを使うと、一昔前に話題になったような落書き保存アプリが簡単に作れちゃいます。

ライセンスは、個人使用なら無料(著作表示必須)、商用でも著作表示されればOK、されない場合は250ユーロくらいとのこと。

この手のライブラリは日本ではあんまり話題になってなかったかも。noughts::とか?

Continue reading

SWFObjectを使うときに気をつけること

  • Posted by: ryow
  • 2007年11月17日 21:32
  • Flash

SWFObjectを使って書き出すのは基本なんですが、気をつけるべきことをいくつか。

まず、これが基本形。

    var so = new SWFObject(swf/test.swf", "testID", "width", "height", "8", "#ffffff");
    so.addParam("wmode", "transparent");
    so.addParam("menu", "false");
  //  document.write(so.getSWFHTML());
    so.write("flashcontent1");
  //追記:getSWFHTML使うとwinIEのアクティブコントロールにひっかかる

気をつけておきたいのがnoscript。しっかりnoscriptも書きましょう。

Continue reading

ブラウザとFlashPlayerを切り替えて使う

  • Posted by: ryow
  • 2007年10月 7日 15:43
  • Flash

僕は普段はFirefoxを使っています。ブラウザを立ち上げると「はてな」がホームになっています。
まずはてブをチェックし、気になった記事があったらホイールクリックでタブに開いていき、どんどんタブにためて、ホッテントリと注目エントリを一通り目を通したらたまったタブを1つずつ確認していきます。
最近はFirefoxでもレイアウトが崩れるサイトってのはそうそうないものです。なんか動作が重いページもあるけど、全然余裕です。

ただ、困る場合があるのは、フルFlashのサイト。
普段使いのFirefoxはFlashPlayerを、あえて8にしてあります。なぜかというと、そのサイトが最新のプレイヤーを持っていない場合にどんな画面を表示させるのか、コーダー(またはデザイナ)の気合の入り方を確かめるためです。

で、サイトをちゃんと見るときはIEを使います。やっぱりシェアNo.1だし、IE用に作られたサイトであればフルFlashであってもしょうがないと思えるからです。IEは最新のFlashPlayerを入れてあります。
ここで、wmodeの設定とか、externalの設定とかをちゃんと書いてあるかが問題になります。

つらつら書きましたが、最低これくらいのチェックは必要です。自分が作るときも同じ。
最近はPlayer9の普及率が(さすがに1年も経つし)半分以上、というかほとんどになってきてますが、Player9が必要になるサイトはやっぱり少ない気がします。
Player9といえばFlexかCS3で作ってあるわけで、となるとAS3を使いこなせるフラッシャーが作ったサイト、ということです。一応は見る価値アリです。なぜか。AS3を選ぶってことは、AS3でないと出来ない演算処理を使っているからです。

AS2と全く同じことをやりたいならAS2で十分。それをAS3でやるとなれば、超高速化が必要だったりするわけで。

ただ、AS3バリバリのサイトを見てみると、逆にCPUに負荷がかかりすぎて見れない、ということにもなりかねません。
Interl PentiumDを使ってるんですが、Core2を使って開発・確認されてきたサイトは、もしかしたら問題なく動くのかもしれないけれど、それ以下のCPUでもちゃんと動くかを確認するべきです。

Adobe MAXの報告でもちらほらあったように、Player10はGPUでの処理が可能とのこと。となると、余計に古い・弱いPCでは見ることができなくなっちゃうんじゃないかなぁ。

Flashを見るために、今まではブラウザを変える程度でよかったのが、PC自体を強化しないといけない時代が来るのかも。
VistaやLeopardが余裕で動く環境じゃないとダメですよ、ってのは、ブロードバンド時代とはまた別の方向を持った時代だと思います。

Flashでウィンドウを出したときにそれ以外のmc、ボタンを全て押せなくする方法

  • Posted by: ryow
  • 2007年10月 2日 20:15
  • Flash

アホだった。
僕はアホだった。

今まで、ボタンを押して小窓を出したとき、それ以外のボタンやmcをいちいち_enabled=false の処理を書いていた。ボタンが多くなるともう管理しきれない。
全てのmcを取得して全部をenableするのは大変だ! もうダメだ! と思ってたけど、一瞬でそれを解決できる方法を見つけた。

以下は、ウィンドウボタンを押すとwindowというmcを画面にアタッチする場合。windowの深度は変数Dとします。

//前に公開してたバグがあるやつ!!!!
//下のを使ってください!!!
window_btn.onRelease=function(){
  var $w = target.attachMovie("window","window_mc",D)
  $w._x = (Stage.width - $w._width)/2
  $w._y = (Stage.height - $w._height)/2
  var $e = _root.createEmptyMovieClip("empty_mc",D-1)
  $e._width=Stage.width
  $e._height=Stage.height
  $e.onRollOver=function(){
    this.useHandCursor = false
  }
}

↑のは間違いです。createEmptyMovieClipの_widthは変えられません。だってemptyだから。中に何か別のmcを入れるならいいんだけど。

window_btn.onRelease=function(){
  var $w = _root.attachMovie("window","window_mc",D) //_rootにattachしなくてもいいけど
  $w._x = (Stage.width - $w._width)/2
  $w._y = (Stage.height - $w._height)/2
  var $e =  _root.attachMovie("dummy","dummy_mc",D-1) 
  $e._width=Stage.width
  $e._height=Stage.height
  $e.onRollOver=function(){
    this.useHandCursor = false
  }
}

つまり、小窓mcより一つ深度が深いところにmcを作って、それにRollOver関数を持たせて上げればいい。本来ならどこを触っても指マーク(RollOverで)になるところを、無理やりuseHandCursorをFにして回避。
これで一瞬にして、小窓以外触れない画面を作ることができました。good job!


2008.01追記。コメントでun様に指摘いただきました。勘違いしてました…本当にごめんなさい。

createEmptyMovieClipしたmcはそのままでは_widthを持てません。この方法を使うにはダミー用のmcをattachMovieするか、空mcをBitmapDataで空画像として使うか(Flash8以降)、ですね。

検証に使ったファイルはこちら(ver8形式 flaファイル)。

embedを書かないobject(flash)の設置方法。

  • Posted by: ryow
  • 2007年8月30日 00:38
  • Flash

embedを書かないobject(flash)の設置テスト。

上はコードをHTMLに直接書いています。下のは外部jsから書き出しています。IEだと上のがアクティブコンテンツ規制に引っかかりました。

ブログパーツの作り方(Flash/AS2)

  • Posted by: ryow
  • 2007年8月30日 00:14
  • Flash

※2008.09補足:ソースを含めた補足版のエントリ←こっちも合わせてどうぞ!!

<script type="text/javascript" src="http://cross.ryow.net/part-napo.js"></script>

これでどうでしょう。Flashが表示されます。中身には意味はありません。丸ボタンを押すと偉人の画像が拡大されるだけのものです。
JSを貼り付けると、JSがFlashを表示するので、結果的にJSを貼り付けた位置にFlashが出ます。

ブログパーツの作り方:ポイントは3つ。

Continue reading

Flash巻き物

  • Posted by: ryow
  • 2007年8月20日 22:24
  • Flash
ふらつしゆ巻き物です。 マウスホイールで巻き物の中身がうねうね動きます。 一応、一番最後には 了 と書いてあるのでそこまで動くよ、ということです。 ソースも公開します。ホイールはwin専用としてあります。どうせマカーは見ねぇだろ、ってことで。 関係ないけど、winでもwmodeを透明または半透明にしていたらFirefoxでホイールできないので注意。以前、これでハマってた。

Continue reading

Flashで時計

  • Posted by: ryow
  • 2007年7月18日 23:27
  • Flash

ブログのアーカイブを増やすためだけのクソエントリ。
僕が欲しい時計の形をまた作ってみました。

このブログではFlashは「続きを読む」以降に設置しています。いちいちリンクを辿るのが面倒だ、っていうのはよくわかるんだけどね。インデックスページを軽くするための処置です。
アーカイブがたくさん溜まったら、ブログパーツなんかを設置して、このブログの傾向や似たようなブログを探してみたいと思っています。

で、続きを読むのページには広告が英語で入ってるんですけどこれは何故?

Continue reading

腕時計が欲しいけど欲しいのが売ってないから作った

  • Posted by: ryow
  • 2007年7月11日 22:11
  • Flash

男子たるもの、腕時計くらいしなきゃカッコもつかない、ってんで最近はイカした腕時計を探し歩いているんですが、いまいち欲しい形がないです。
で、どういうの欲しいのか、漠然と「シンプルなやつ」って思いながら探してたんですけど、それを見えるようにしてみたらこんな形になりました。

こんな腕時計、確かに売ってねぇよ。
携帯の待ちうけにでもすっか。

Continue reading

Index of all entries

Home > Flash Archive

About

りょうどっとねっとブログ

Twitter :ryownet

はてな :ryownet

Search

Return to page top