Director と Flashの最近のブログ記事
2010年2月21日
iPhoneアプリ セノガイド(SENOGUIDE) をリリースしました!

市場として終わっている、儲かるわけがない。そういわれて久しいiPhoneのAppStoreですが、弊社もやっとこさiPhoneアプリをリリースすることができました。
iPhoneアプリと言えば、Objective-CというC言語を拡張した言語を習得する必要があり、初心者にはなかなか敷居が高いのも事実です。
そこへきてAdobeがFlashからiPhoneアプリを書き出せる、Flash CS5 Packager for iPhone® を開発、次期Flash CS5へ搭載される予定です。
hatteではFlash CS5のプライベートベータ版を使用し、一足先にFlashを使用したiPhoneアプリ開発をする機会を得ました。
ブラウザとは勝手の違う環境、パフォーマンスもどれぐらい出せるかわからない、そんな状態でどんなネタをアプリ化するか考えたんですが、ひとまずはシンプルなアプリをと、写真マニアなら誰もが知っているあの露出計算尺、セノガイドをアプリケーション化することにしました。
大昔にFlashLite版を作ったことがあるんですけど、これは数字キーを使ってダイヤルを回転させる方法をとってましたが、今回は直接ダイヤルを指で回すようになっています。
基本的なオーサリングは僕(@hage)が担当してますが、絵柄のトレーシングは弊社デザイナー兼ディレクターの(@masumin)がやってくれました。彼女の力添えがなければこのアプリもできなかったでしょう。
結果的に結構負荷の高いものになってしまいましたが、現在も可読性の向上やパフォーマンスの向上を目指してチューニングしてます。もはやマニュアルカメラなど持ち歩いてる人など絶滅危惧種になってしまった感じもありますが、マミヤの67とかハッセルの503CWとか、抱えるようにでかいカメラや往年の名機を今でも使い続けている皆さん、かつての露出決定の歴史を垣間見てみたい方、実物を持っている方も是非お試しください。
2008年12月23日
Gainer mini を MacOSX 10.5(Leopard)で動かす方法
もう通常の制作じゃメシも食えなくなるんじゃないかという強迫観念がいよいよもって強まり、フィジカルコンピューティングの世界に足を突っ込むべく、Flashのフィジカルコンピューティングと言えばやっぱりGainerでしょと、Gainer mini スタートキットを入手。
スタートキットはGainer mini とブレッドボード、様々なセンサとそれを取り付けるためのパーツや配線が一式セットになっていて、Gainerについての基本的な知識を得られるようになっている。
パーツもブレッドボードもどうせ必要なものだし、Gainerをやるならとりあえず買っておいて損はナシです。
今回用意したのはGainer mini。Gainerの仕様に準拠しつつ、基盤サイズを小さくコンパクトにまとめながら、さらにRCサーボモーターなどを動かせるように改良を加えたバージョン。
単品だと4200円。
MacOSXでGainer miniを動かすには、GSPというプロキシーアプリを立ち上げるだけで別途ドライバなどのインストールは不要という、非常に手軽になっている。
Windowsはドライバがいるので、Gainer mini公式サイトからダウンロードしなければならない。
ところが、MacOSX 10.5(Leopard)では、Gainer miniが動作しないらしい。
どうも10.4の時とはUSBシリアルの通信方式が変わってしまっているとかで、うんともすんとも言わない。
大元のGainerは動作するらしいので、ハードウェア仕様の問題なのかも知れない。
公式掲示板を見ていると、対処方法としてMacOSX 10.4(Tiger)のUSBシリアルドライバを上書きすることで動くのではないか?という書き込みがあった。
早速人柱してみた。
用意するのはMacOSX 10.4(Tiger)のインストールディスク。本体付属のやつでもOK。
まず、ターミナルを起動して
sudo -s
する。
次に既存ドライバをバックアップするため、ディレクトリを作成
mkdir /kexts.orig
ディレクトリ名は好きな名前でOK
そして既存ファイルをバックアップする
mv /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBCDC* /kexts.orig
Tigerのディスクを入れて、必要ファイルだけインストールする
pax -r -z -f/Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Installation/Packages/Essentials.pkg/Contents/Archive.pax.gz *AppleUSBCDC*
ここのパスは入れたディスクによって変わってくる。
インストールが済んだらexitして再起動。
Gainer mini ライブラリに入っている
/gainer_mini_lib_flash_v0/serial_proxy/mac/gsp.app
を起動して、サーバーがスタートした事を確認(下図)したら、

/gainer_mini_lib_flash_v0/fla/workshop/button.swf
をFlashPlayerで起動。この段階でGainer miniの青色LEDが消灯するのを確認。
もし消えなかったら、上記操作が失敗している可能性がある。
なんか黒い■があるムービーが表示されるので、おもむろにGaine miniのButtonをパチっと押してみると、黒い■が消える。
動作完了。
あとは好きなように拡張していくだけ。ENJOY!
2008年8月12日
青山ブックセンター WEB書籍フェア
「おしらせ」としては古すぎるのですが、所用で六本木に行ったついでに寄ってきました青山ブックセンター。
実は今ココの棚の一部で「WEB書籍フェア」を開催中。マイコミのカリスマ編集者角竹さんチョイスの推薦書がずらっと並んでおります。
CMS,Flash,Dreamweaver,CSS...
WEB担当者がぶつかるであろう様々な問題を解決する糸口が見つかるかもしれません。
拙書Flashプロフェッショナルスタイルも並んでます。大御所がひしめく執筆陣に混じって必死になってる様を見たい人も是非。
2008年3月27日
Director11の体験版(英語)がDLできるようになったよ
![]()
まだ何もいじっちゃいないんですが、Director11の体験版がDLできるようになってました。
DLはこちらから。ただし、英語版です。
大きな違いは物理演算エンジンのHavokがなくなって、代わりにPhysics Xtraとなったところ。
Flash9形式のファイルを扱えるようになったところ。もちろん、AS3でゴリゴリやれる。
Flexコンポーネントが使えるというところ。
Flash Media Serverと繋がれるところ。
AdobeのCS3ライクなインストーラになっているわりには、全体的なUIやヘルプが普通のヘルプビューワのままだったりするあたりにそこはかとない安心感を覚えます。
Xtraの互換性もそんな感じで微妙に保たれている気がしますが、最新OSやUniversal BinaryなXtraはリリースされるんでしょうかね。
ということで調べてみました。定番Xtraの対応状況。
BuddyAPI:Ver4で対応しているらしい。
FileXtra:これといってリリース無し。
tabuleiro:WEBXtraとかその周辺。がっつり対応済み。
OSControl Xtra:これといってリリース無し。
INM系:PDF XtraとかSecureNet Xtrtaとかその周辺。フォーラム(左記リンク)をざっと見たところ、売れ筋Xtraから対応していくっぽい。
足りない部分は他の人たちが補完してくれることを祈ります。よろしゅうに。
2006年3月16日
2006年3月 7日
Flashで全角カタカナを半角カタカナに変換する
使い道あるのかな。
とか思いつつ作った。全角カタカナを半角カタカナに変換するなんてさ、外部にPerlだのRubyだのPHPだのを置いて、
echo mb_convert_kana($str, 'k');
とか(上記はPHPの例)やればいいだけの話でさ。 そうやって作ったスクリプトに対してsendAndLoadしてやればいいだけの話でさ。ね。 なにもわざわざFlashで作る必要ないんじゃないの。とか。ね。
ただ、個人的な考え方からいけば、できるだけ変な橋渡しは避けたいわけです。一度外部に出るだけで、
いろいろ気をつかわなあかんわけです。それだったら、Flashでできるのは全部Flashでやっちゃえばいいじゃないってなるわけです。
もちろん、Perlスクリプトと組むのなら、Perl側で処理してもらえばいいんですけどね。
そんなわけで作りました。
引数で文字列を渡してやれば、全角カタカナだけ半角にして返してくれます。
.asファイル。ダウンロードはこちら。
適当にincludeして使ってくれ。
2006年2月 1日
ペイント暗号
すっかり忘れてた。
767158325551566666152262315275696
203698999622557692117202126666682
289369111103369999962202156666066
029695323502972753110287377115877
966995699695756996569303126999061
537727299397717999935592337999529
上の文字列をコピーして、ペイント系のソフトのテキストボックスに書き込む。
Winの人ならMS UI Gothicの9ポイントがいいね。
Photoshopとか使ってる人はアンチエイリアスを切っておいて欲しい。
で、おもむろに背景を真っ黒に塗る。
そしたら文字が浮かび上がってくるのだ。
昨年夏ぐらいに某掲示板で流行ったのだけど、生成プログラムが出回ってなかった(ってことは、すぐに流行しなくなったって事か?)。
ので、Shockwaveで作ってみたよ。
http://0728.net/testspace/paintcrypt/
活用してちょ。
2005年11月28日
きのこ
3Dの勉強で「きのこの山」を作った。明治製菓の。僕はキノコ派なんだよ。
なかなかいい出来だったので、今度はそれを物理シミュレーションかけた。
http://resize.jp/mixi/kinoko.html
滝のようにきのこの山が降る(要Flash Player 8)。
2005年10月13日
Studio8
でた。
http://www.macromedia.com/jp/
僕の分とアシNの分を買って、さっくりと散財。
でもまぁ、絶対必要なものだから後ろめたさはないんだよな。
ナイショで新しいカイトを買ったりするのとはワケが違う。清々しい。
ナイショでヨドポ使ってモンブランのスターウォーカー買うのとはワケが違う。清々しい。
アシNは近く試験を控えているため、現在は仕事無し。
試験が終わったらものすごい勢いでOJTだ。
おそらく今日あたりから本格着手する東京の仕事「R」の細かい作業関係を任せるんだろうなと思う。基本はワークフローだ。
どうやってプロジェクトが進んでいくのかとか(こけても何でこけたのか、どこでおかしくなったのか)、
ある機能を実現させるためにどうやってアプローチしていくのかと言った、概念的なところから攻めていきたい。
気がつけばPhotologを1ヶ月さぼっていた。
馬鹿みたいに増えているライブラリを活用して更新していきたい。
2005年8月25日
scrollPaneのrefreshPane()
今開発している(我が家ではデスマーチプロジェクトと呼んでいる)案件で、当初の制作で僕は、 デザインの変更がやりやすいからという理由でFlashのV1コンポーネントを使用して開発を行ってた。
ところが、仕様書にはV2コンポーネントで作ることになっていたのもあり、 結局途中でV2コンポーネントに差し替える必要性が出てきた。
何週間か前に一度チャレンジして挫折した。
どういう訳か、無限ループに陥ってしまってにっちもさっちも行かなくなってしまったのだ。あーあ。
V2コンポーネントは、デザインの変更がやりにくい(スキンと呼ばれるものを新たに定義して、
クラスをいじったりなんたらかんたらしないといけない)以外は非常に高機能で、ユーザビリティ、
アクセシビリティについてもよく考えられて作られている。
また、5種類以上のコンポーネントを用いた場合に、ファイルサイズが最適になるように設計されているらしい。
こんなうんちくはどうでもいいのだが、結局なんとしてでもV2コンポーネントに差し替えしなければならなくなった。あーあ。
V1コンポーネントとV2コンポーネントは原則、同じムービーに存在していてはいけない。動作はするのだけど、推奨はされないのだ。
しかたなく、V1コンポーネント達のプロパティを紙に書き留め、ステージから削除して、ライブラリから削除して、
新たにV2コンポーネントを配置していった。
んで、ターゲットとなるムービークリップのidを指定して、パブリッシュする。
案の定、無限ループ。
無限ループが起きるなんて、たいていはfor文の条件の記述が間違っているとかなんだけど、
コンポーネントが変わったからと言ってその条件が変わるとも思えない。ならば、相対参照させているパスの記述かなぁ…
とトイレで少し思いついて、気になる部分にブレークポイントを設定。
1行ずつステップインさせてみる。
そしたら、なんなくfor文を指定回数分処理して抜けた。え?これじゃ無限ループになんてならないよ。
僕はそのまま再生ボタンをクリックして、様子を伺うことにした。
そしたら、またデバッガがさっきのブレークポイントを指している。
処理が終わったはずなのに、また処理をしようとしている。犯人はやはりこのあたりに潜んでいた。
その関数の一番最後に記されてあった、refreshPane();である。
V1コンポーネントでrefreshPane()すると、ScrollPaneのコンテンツの大きさを再度チェックして、
スクロールバーを更新する。
ところが、V2コンポーネントではコンテンツをリロードするようになっている。
つまり、スクロールバーを更新するつもりで入れてあったrefreshPane()がコンテンツリロードにそのまま使われてしまって、 リロードされたコンテンツが再度処理を行ってrefreshPane()…とループになってしまっていた。
さっそくリサーチの旅に出た。
ついでにmixiで吠えたら、うえきさんとサブリンさんがナイスなソリューションを提供してくれた。
ScrollPane.invalidate();//うえきさん案
ScrollPane.onComplete();//サブリンさん案
onCompleteは最終的にinvalidateするので、結果としては同じ動作になる。
テストムービーではどちらでもスクロールバーを更新できたのだが、本番用にセットすると、更新のタイミングがコンテンツの更新とずれるのか、
うまく動作しなかった。
僕がネットで見つけてきた方法は、setSize()を使う方法。
ScrollPane.setSize(ScrollPane.__width,ScrollPane.__height,false);
みたいに、
ScrollPaneのクラスであるsetSizeに引数として自分の幅と高さ(ただしここではプロパティの_widthなどではなく、
コンポーネント内で定義されているスクロールバーの値を加味したプロパティである__width←アンダーバー2個 をとってくる必要がある)
を与えてあげることでうまくいった。
呼び出しする階層はいろいろあるだろうから、適当に_parentするなりして調整してくれ。
まぁ、とにかく、お二方の助言もあってなんとかV2コンポーネントへの差し替えが実現しそうである。めでたしめでたし。
2005年8月18日
refreshPane()
MXコンポーネント(V2コンポーネントではない)のScrollPaneに適当なMCをアタッチして、
そのMC内に適当な画像をLoadさせる。
Loadingの進行はMovieClipLoaderClassを使う。
んで、読込が終わればrefreshPane()をかまして、スクロールバーの更新をする。
…してくれないの。
読込完了時点で、アタッチしたMCの_heightを調べたら0とかいうの。でも、少し待ったら141とか返ってくるの。それがいつかって?
unloadMovie叩いた直後だよ。
だからさ、何もないはずのScrollPaneでスクロールバーがアクティブになって、
コンテンツがある状態では非アクティブだというとても愉快な仕様になってしまった。
いや、ちょっとシャレにならん。
強引に解決させた。
ScrollPaneにコンテンツを設定した際に、SetInterval。コンテンツの_heightを監視して、きちんとした値が取得できた段階で、refreshPane()!clearInterval()!
逆も作った。完璧。よしよし、ついでにコンテンツunload時の処理を別のファンクションとつなげて最適化してしまえ。
よしよし。いい子だ。
2005年7月20日
感じるムービー
四角をドラッグして引きずるムービー。
上の四角と下の四角では「重さ」が違う。
ゴムバンドみたいなやつで引っ張ってるイメージです。
マウスドラッグだけなのに、なぜか「重さ」を感じることができるってのを作ってみたかった。
いや、ホントはイライラさせられるムービーにしたかったんだけど。
2005年7月 8日
XMLゴリゴリ
明日東京に持ち込むサンプルアプリを作るためにXMLをゴリゴリ。
いや、そこまでやらなくても…って感じもあるのだけど、やはり少しは動作部分を作っておきたい。でも、
決めうちの定数では限界があるって言うか、かえって時間がかかりそう。
ならば、やっぱXMLでしょ!
ってことで、お手製データベースXMLをつくって、ゴリゴリさせてみ…
えーと
そういえばさ
僕、FlashでコンポーネントなしでXML扱ったこと、ほとんどないや。
とりあえず、XMLオブジェクトをつくって、load()関数で読ませて…
ノードの数はどうやって数えるの?
xmlObj.childNodes.length;
それらをループさせるのは?
for(node1:xmlObj.firstChild;node1=null;node1=node1.nextSibling){}
あ、なんかわかってきた。
<param name"頭" value="はげ">
だったら、attributes.nameで頭が取り出せて、attributes.valueではげがとりだせるんか。
ならば、
arrayObj[node1.attributes.name] = node1.attributes.value;
で配列のできあがりっ!
おぉ、楽ちん楽ちん。
わかってみればなんてことはないな。
でもこれでいいのかな。ま、いっか。動いてるし。
2005年7月 6日
四字熟語出題しまくり野郎
徐々にマスクが解除されていく感じで出題する方法を試してみた。
こっちのほうがいいな。
次は四字熟語をXML管理にして、みんながすきな熟語を読みと一緒に登録できるインターフェースを作ってみようかな。
でも、絶対変なの登録する人がいるんだよな。僕とか。
僕なら「現金一括」「優先搭乗」「京急蒲田」「睡眠不足」。
2005年7月 5日
四字熟語表示しまくり野郎
とにかく四字熟語を表示させる。
ただし1文字だけ虫食い。
四字熟語だから、漢字も読みも4つの要素に分割できる。なので、処理自体はらくなはずなんだけど、熟語のDBをどうやって持たせるか考えた。
外部ソースは使えない。ホントはXMLでゴリゴリやりたかった。
ちょっと恥ずかしいのだけど、熟語と読みを1要素ずつストリングに区切って、全部を収納した配列をつくって、それをループ処理して各熟語に分割するスクリプトを作った。
あとはランダムに表示するだけ。
2005年6月30日
俺様用メモ
halt がきかない
haltはプロジェクタを終了させるコマンド。
Director自体が大きなプロジェクタのようなもので、本来のプロジェクタの終了コマンドであるquitを使用すると、
開発中にもかかわらずDirectorが終了してしまう。開発しにくいったらありゃしない。
そこで、プロジェクタは終了するけど、Directorは終了しないっていうhaltコマンドがあるのだけども。
どうも最近これにまつわるバグが多い。僕の環境に限っての話かもしれない。
haltしてもプロジェクタが終了してくれないのだ。
なので、最近はquitばかり使ってる。ただし、if文を噛ませよう。
on closeProj
if the runmode ="Author" then
halt
else
quit
end if
end
こいつをムービースクリプトにしておいて、あとは終了コマンドに closeProj を叩けばOK。
開発中はhaltしてくれるが、プロジェクタ上ではquitしてくれる。話のわかる奴だ。
2005年6月28日
俺様用メモ
Windows上でBuddyAPIを使った開発で、OS9用のプロジェクタを作成した際にbaFileListが動作しない問題。
種別指定を使うとファイルリストが取得できないらしい(OS9でのみ。OSXとWinはOK)。
例:baFileList(p,"*.jpg")
この場合、パスpにある拡張子がjpgのファイルのリストが出力されることになるが、OS9上ではこれが、
仮にファイルがあったとしても空のリストが渡されてしまう。たぶん"TEXT"とかそういう指定の仕方をする必要があるのだと思う。
しかし、OS振り分けの限界もあるので、一旦は"*.*"ですべてのファイルのリストを作成しておき
(ワイルドカード指定はOSの壁を越える)、サブルーチンを組んで、
欲しい拡張子が入ったリストだけを新たに生成して返してもらうようにして対処。
これで動作したよ。
何日も頭抱えたよ。
ということで、今夜はスミノフで乾杯!
2005年6月23日
俺様用メモ:楽ちんfloat化 on Director
Directorでさ、浮動小数点な演算をさせるときに、元の数が整数だったりすると
float(intHoge)
とかしないといけないじゃない?あらかじめ脳内でどういった式を書くかわかっているなら、flotを挟み込んでいけるけど、
後になって「あ、これfloatだわ」って気がついたときとか、いちいち書くの面倒じゃない?
僕は面倒だ。
だから、こうするんだ。
intHoge+0.0
--メッセージウインドウに出力した結果
put 1+0.0
-- 1.0000
put float(1)
-- 1.0000
ほら。ね。
2005年6月22日
横浜の濃い一日:その3
さて、昼食から戻り僕はCaptivateのセミナーへ。
Captivateってのはあまり知られていないけど、Flashベースのデモンストレーション制作ソフト。
高度な画面キャプチャ機能を持っていて、マウスの動きや各種イベントなどをキャプチャし、
それをFlash形式で書き出せるようになっている。
ま、サンプル見てくれよ。
http://www.nifty.com/support/manual/mail/win_oe6x.htm
ここの右側にある「動画で見る」ってやつだ。まさにこれの作者がセミナーの講師を担当する。
Captivateの利点は、専門知識を必要とせずに高度なコンテンツを作ることができるという点にある。
特にこういったサポート業の人からすれば、どういったコンテンツを作るかという仕様をクリエイターに渡して…なんて事をやっていれば、
伝言ゲームのように伝えたいニュアンスがスカスカなものを作られてしまう可能性だってある。
担当者レベルで制作できるなら、そういった細かいニュアンスを盛り込みつつ作っていけるわけだから、結果として品質が上がる。
そのためのソフトとしてCaptivateは作られたのだと言っても過言ではないだろう。
僕はCaptivateユーザーでこのソフトの可能性を探っているところ。
簡単なデモを売り込んでみたがなかなか利益に直結しない。悲しい。
サポートコンテンツ以外でも使い道はたくさんあるのだけど、今回はサポートコンテンツが題材である。
といっても、動画をはさむ。Flashと連携させるなど高度な技がどんどん飛び出した。えーと。ごめん。
実は肝心な部分は気を失ってたんだ。
しかし、結論は「やるじゃんCaptivate!」だ。
僕は満足げに会場を後にした。
で、次はバスキュールの北澤さんがチームでFlashコンテンツを作る際のワークフローについて解説する…のだけど、
基本的にはこういったワークフローは確立されておらず、
バスキュールも体制によってワークフローをいろいろ変えて試行錯誤している最中であるとおっしゃってた。
テーマが難しく、北澤さんも一生懸命に説明してくださってたけど、
途中退席(自由にできるようになっている)者が続出するという悲しい結果に終わった。
でも、一番大きい会場がそこそこ埋まる関心の高さ。ワークフローにはみんな悩んでるんだ。
その後は、MT開発元のsixapartの人がMacromediaと共同でその日にリリースしたMTタグ機能拡張の解説。
英語版は昔からあったらしいのだけど、日本語対応は初めてで、かつ、MT3以降対応は世界で初めてらしい。
MTオタな僕やその他の人たちにとってはなんてことはない内容であったが、僕は機能拡張は素直に歓迎する立場をとっている。
ちょっと使いにくいんだけどね。
会場で披露されたテクニックは基本的なことばかりで、ターゲットもMTさわったことない人向けな感じだった。
あ、斜め前に廣鉄夫大先生が…寝てる…
午後は、Captivateがなかなかいい感じだった。人によっては途中退席を繰り返していろいろな廻っていたらしい。
午前の充実した感じとは違い、ちょっと疲れが出た感じで。少しの休憩をはさんで「部活」という名の懇親会に突入する。
WindowsXP ProでBuddyAPIのファイル操作関連が使えない
原因はわからん。
XPが浸透するようになったせいか、それともBuddyAPI3.7固有のバグか。これもわからん。
とにかく、ファイル削除やフォルダ削除系の関数がエラーになる(0が返される)状態が頻発し、
僕が担当してるアプリでバグが大爆発してしまった。
ちょうど静かな時で、僕は社内ユーティリティの開発とかしていたときだったので、すぐさまそのデバグ作業に入れたのだが、 しばらく頭を抱えてしまったよ。
とりあえず現状の解決策は、BuddyAPIを使わず、FileXtraを使うこと。
BuddyAPIもそれ以外の機能はちゃんと動いてる。権限とかが絡んでるのか?じゃ、FileXtraはなぜいける?
暇ができたら調べてみる。
2005年6月20日
Flashの再生レートを変化させよう
Flashって再生レートを変化させられない。これは、大昔からの決まり事みたい。
Directorを使えば無理矢理に再生レートを変化させることができるけど、Flash単体ではちと難しかった。
ある仕事で「変化させられないか?」と聞かれたのだけど、その場で即答できなかった。悔しい。
で、作ったのが上のやつ。
真ん中のムービークリップの再生速度をコントロールできるようになってます。再生レートは12fps固定だけど、100fpsぐらいでブン回したりできるようになってる。
ポイントとなるのはsetIntervalってやつで、ムービー内で個別に動作するタイマーを使って、擬似的にフレームをコントロールしてる。たとえば12fpsで動作させたいなら、インターバルを1000/12秒に設定。それを基準に倍速にするなら1000/24秒に。
ボタンで速度をアップデートするごとに、新しくsetIntervalさせてます。
ところが、ちょっと問題があって、スロー再生させた場合はどうしてもカクカクしちゃう。
これを自然に見せるために、あらかじめ一番スローで再生してもスムーズになるように、対フレームレートで遅めになるようなムービーを作ってある。
0.5倍が最低速度の場合、あえて0.5倍速を基準のムービーを作り(500フレームの長さのが標準としたら、1000フレームにしておく)、標準再生は表示上は「標準速」であっても、数値上は2倍って事にしておく。これで、表示上0.5倍にしても、数値上は1倍なので、カクカクしなくなる。
スーパースローカメラと同じ原理だ。
これで、擬似的に再生レートをコントロールさせることが可能になる。
FlashでもDirectorでも、intervalは便利ちゃんだ。
2005年6月15日
横浜の濃い一日:その2
Macが立ち上がらないとお困りの高木氏。壇上にマッツ氏が向かおうとしたときにMacの起動音が会場に響き渡った。 解像度設定で困ったりしながらも、なんとか定刻に開始。
高木さんは始めに「裏番組のことを言うのもなんなんですけど、隣の部屋では“WEBスタンダードの神”神森さんがいらっしゃるのに、
ここに来る人は物好きというか…」と。
高木さんは元々はセミナー屋さんで、自分の持っている技術を惜しみなく外へ外へ押し出してきた人で、彼を師とあがめる人は、
僕以外にも日本はおろか世界中に何兆人といるはずだ。ひょっとしたら宇宙のどこかの星にもファンはいるかも知れない。
「読み原作ってきたんですけど、役に立たないってのは分かり切っていますから…」と原稿を持ち「でも一応読みますね。 みなさまこんにちは。高木敏光と申します。」会場笑い。
高木さんはまず、クリムゾンルームの生い立ちとそれを取り巻くストーリーについて教えてくれた。
「アレは忘れもしません。2004年のバレンタインデーのことです。それまで僕は毎年少なからずチョコレートをもらってたんですけど、
その年に限ってはゼロだったんです。そのときに、plasmaってソフトを紹介してもらって…」
plasmaはFlash書き出しに対応した3Dソフトで旧discreet(現autodesk)から発売されてる。
紹介されたソフトでそれとなく部屋を作っていたら、それをゲームにするとおもしろいんじゃないかと思いついた。と。
プログラム自体はすぐにでき、いつものサイトに公開した。
脱出できた人は高木さんにメールを出せるようになっていて、その反応を見てみたが、
公開後3日ぐらいはメールも少ししか来なかったんだそうだ。ところが…
ある夜突然メールがドバーって届いた。すべて英語か何かで書かれてあって、
ドメインからヨーロッパの方の国だとわかった(国名わすれちゃった)。1時間で300通ほど。明らかにスパムじゃなく、
本文を読んでみたら褒め言葉がちらほらと。
そして少しして別の国からドバーっと、また少しして別の国から…こんな感じでコンテンツが世界をぐるっと一周して、
時間差で届く各国のメールで高木さんは眠れなかったんだそうだ。
ところが、ある瞬間からメールがぱたっと止んでしまった。調べてみたら、あまりにアクセスが殺到するから、
サーバーが耐えきれなくなり落ちてしまったんだと。
「お、やったね!って思いました。」
僕らの仕事はコンテンツで人をあっと言わせる事だから、やっちまったと頭を抱えるよりガッツポーズとなるわけだ。
翌日、普段は会社を午後出勤とかしまくるのだけど、今回は意気揚々と定時に出勤したらしい。そこへ、サーバー管理者が青い顔して飛んできた
「なにやってくれたんですか。」「この話は今日の営業会議でしますから。」と。
その日の17:30からの営業会議で高木さんはこってり絞られたらしい。
「何を公開したんだ。」
「何ってゲームですけど」
「エロか!」→会場爆笑
高木さんの理解者である社長はこの日、出張でいなかったため、さんざん責め立てられたらしい。
翌日、社長から呼び出された高木さんは意気揚々と社長のもとへ。「お前がやったことのすごさは認める。しかし、
やるからには会社に稟議書を出してからにしてくれ。」これが高木さんにとっては意外だったらしい。
奇しくも初代クリムゾンルームは、公開してすぐにサーバーから消されてしまった。
それを高木さんは飲み友達に話した。その友人は仲間に声をかけ、新しいサーバーを見つけてきて用意した。そしてクリムゾンルームは復活した。
すぐに世界中からの反応がメールで届き、仲間と祝杯をあげていたときのこと。高木さんの電話が鳴った。
「ヤ○ー!ってのはたち悪いっすよね。うちからは連絡できないのに、向こうからは連絡してくるんですよ。日曜の午後とかでも。」
ヤ社からの電話の内容はこうだった「やめてくれ!」と。
「レンタルサーバーっていうのは長屋なんですよね。うちに来ている人が玄関にくさい靴をならべてしまっているので、 他の人が入ってこれない。そういう状況になっちゃったんですよ。」
ヤ社はクリムゾンルームをアクセスできないように設定した。1週間ぐらいだったか。落ち着くまで。
会社を追われ、ヤ社にも追われたクリムゾンルームは、また別の知り合いが見つけてきた、回線の太いサーバーで3度目のリリースを果たす。
それが、今のファスコのサイトである。
そのころに2作目のビリジアンルームを公開する。
「おもしろかったです。公開数時間前に2ちゃんねるでスレッドが立ったんです。そこでみんなが“たばこ用意したかー” “トイレいっておけよー”ってやってるんですよ。で、結局公開が都合で数時間遅れたんですが、 公開後すぐにゲームのクリア状況が書き込まれていくんです。」
メールとは違った興奮でまた眠れなかったらしい。
(今書いていて思った。ひょっとしたらビリジアンルームとヤ社の行動は前後しているかも知れません)
高木さんセミナーの半分ぐらいがこのストーリーだったけど、話す内容にはコンテンツに対する愛情とか、
高木さんの思想が反映されているので、みんな楽しく聞き入っていた。
時間も迫ってきているので、いよいよソースの解説に入る。
まず、知らない人のためにクリムゾンルームを1回解く。それをふまえて解説を始める。
コンテンツソースの話はここでしても仕方がないので割愛するけど、ごくごく簡単なプログラムで構成されてあり、
高木さんも言っていたけど「スクリプターからすればどってことないですよね」って感じだった。
しかし、よーく見ると小さなアイテム一つ一つが3Dでモデリングされてあったり、方々にコンテンツに対する愛情が詰まっている。
これぞタカギズムである。
クリムゾンルームの最大のイベントである「踊る男」のソースも公開された。これはすごかった。
自宅居間にビデオカメラを設置して、あるラジオ番組の紹介を流し、そのナレーションに合わせて高木さんが踊り、
それをPCに読み込んで輪郭を1フレームずつトレース(なぞる)したものだった。
動画って1秒で30フレームある。半分にしても15フレーム。動画は数分続いていた。
仮に15フレで作っても2700枚の絵を描くことになる。
その一部をクリムゾンルームに採用したというわけだ。
各種ハックに対する対策も公開され、次回作の予告も行われた。
一通り解説が終わり「誰でも作れることを証明したい」と高木さん。
なんとその場でミニムゾンルームを作り始めた。
アイテムを見つけると、それがスロットに追加されるというアクションをその場で作成。動作させる。
「これの組み合わせですよ」と。
そして「いまこんなんやってます」といくつかのムービーを披露。「弾き語りってあるじゃないですか。アレに似た“ムビ語り”
ってあってもいいんじゃないかと思って。」とムビ語りを披露。
「自分の声をムービーに入れたことがある人ってどれぐらいいますか?」と。
僕はその昔、スズエってムービーで自分の声を入れたことがある。4段配列のキーボードの1段ずつに「ス」「ズ」「エ」「スズエ」
の声がたくさん入っていて、キーを押すと発音するってやつ。公開しようか?僕の親とか見たら「やっぱり息子は変態だった!」
って頭を抱えるかも知れない。しかし、これこそがタカギズム!愛ムビ無罪!
で、質疑応答へ。あらかじめ募集されていたものを公開していく。
Q:「ザゼンボーイズ買いました」
A:「これはインサイダーですね」
Q:「次回作の勉強に来ました」
A:「僕がシナリオで、オーサリングは別の方なんです。その人ですね。」
Q:「コンテンツで利益を得る方法は?」
A:「携帯電話かなぁ」
Q:「影響を受けたクリエイターは」
A:「いない。文学少年なので○○とか○○とか○○とか」(作家の名前がたくさん出てきた)
こんな感じの質疑応答があり、まだ時間があるというので現在の作曲の手法を披露。Macのソフト「SOUND TRACK」
でやっているらしい。「こういう便利なのがあるんですから、みんな使いましょうよ。サウンドトラックとかアシッドとか」。
そして、「じゃ、このへんで」と終わりを告げた瞬間に、チャイムが鳴った。見事すぎるジャスト。
セミナー後皆が激励に駆け寄る。なかには“神の中の神。いわゆるゴッドオブゴッド”大重美幸大先生がいらっしゃった。名刺ゲット。 噛みつつも(だって、 すっげーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーえらい人なんだよ。 演歌界で言う美空ひばりの北島三郎乗だよ。)「岡本です。あ、はげです。」と自己紹介。はげで通じた。
セミナー後は昼食なので、僕は同僚のS氏の知り合いたちと近くの回転寿司へ向かった。
高木氏たちは会場の外の噴水前で酒盛りしてた。
今回のセミナーで一番印象に残ったのは
「世界に向けてコンテンツを発信するんだから、日本語だけでなく、英語版も作りましょうよ。合ってなくていいんですよ。
通じればいいんですから。間違ってたらそのうち誰かが教えてくれますよ。」
高木さんのルームシリーズははじめから日本語と英語が切り替えできるように作られてある。自ら「稚拙な英語だけど」といいながらも、
そのコンテンツははじめから世界をターゲットにしていた。もし、
日本語だけだったらああやって地球をぐるっと回ることなどなかったかも知れない。
高木さんはクリムゾンルームがきっかけで独立。株式会社タカギズムを立ち上げた。
そのうえさらに、クリムゾンルームを作ってしまった。リアルで。
そして、コンテンツがブラジルに渡って、新聞に載ってしまったりした。ポルトガル語よくわからん。
久しぶりの高木さんセミナーだったけど、ぜんぜん衰えていない。またやって欲しい。飛行機で行くだけの価値って言うか十分ある。
次はセミナー後半。
Captivate、Flashチーム制作のワークフロー、MTと続き、「部活」という名の懇親会へと続く。
横浜の濃い一日:その1
5時ぐらい起床。うだうだしていて時間だけが過ぎていて、かなりのギリギリ具合に出発。
車にしようかと思ったけど、何となくバイクに切り替え。電車だともう間に合わない。
7時過ぎの飛行機目指して6時過ぎにでる。
R26の引き継ぎの悪い信号(早朝にもかかわらず!)にいらだちつつも、大浜ICから湾岸線へ。
加速レーンからハーフスロットル(フルだとウィリーしたままどこか飛んでいくから)。ものの数秒で***km/h。ETCじゃないから、
料金所のタイムロスが怖い。
それを恐れてかペースがどんどん上がるあがる。うっひょー!いつものスターレットの1.7倍ぐらいだぜー!
あっという間に泉大津。料金をETCカードで支払い、再スタート。
かすんでいていつも見える関空が見えない。それがまた恐怖感を増長。霧の中にホテルがもわーと浮かんだかと思ったら、やっと空港が見えた。
ふーまにあった。
空港でバイクの駐車場が見つからず(なんかめちゃくちゃ端っこでしかも金取るんだぜ!)、
うろうろしていたけど結局30分未満の時間でつけたんじゃないかな。伊丹の倍か。深夜早朝は関空しか使えないから仕方ないか。っていうか、
橋高杉。バイクだけ100円ぐらいにしろ。ぼけ。
ロッカーにヘルメットとジャケットと自宅のカギ(笑)と駐車券諸々を突っ込んで、チェックゲートへ。 今日はフィルムを持っていないのでオールOK。搭乗口で同僚のS氏と合流するも、すぐに搭乗が始まったので別れる。 飛行機はANAの朝2の便。いつもの後方窓際だけど、半分寝そうになる。隣は空席。
離陸直後、霧に浮かぶ熊野の山とか見事だったけど、デジカメ使えないので断念。
モクモク祭りでもなく、のっぺりとした空だったので、写真を撮らないまま着陸態勢へ。東京上空は本当に綿菓子みたいな雲が広がり、
飛行機は徐々に高度を落としてその雲に着陸するかのような感じに。
マジで綿菓子だよ!乗れそうだよ!
興奮冷めやらぬまま着陸。ものすごい低い高度で太陽光を遮る雲が東京を覆ってた。おかげですごい涼しい。
横浜へのアプローチを検討し、少し遅れて福岡からやってくる“神。いわゆるゴッド”廣鉄夫大先生を待つ。
定刻通りに到着した飛行機から廣先生がやってきた。S氏を紹介して、バスへ。JFEのでかいタンクとか撮ったりした。ああ、
ここの工業地帯は本当に美しい。
バスはトロトロと横浜に到着。そしてみなとみらい線の改札が見つからず、迷う。
やっと見つけて、急行列車に乗って、みなとみらい駅へ。
次にパシフィコ横浜を捜すのに、困る。変に遠回りして、やっと会場に着いた。
会場で受付に向かうと「報道の方ですか?」と聞かれる。
男3人。手にはミノルタαデジタル(廣先生)、EOS20D(S氏)、D2x(僕)。このトリオをみて誰がクリエイターだと思うだろう。
いや、誰も思わない。
パンピーとして受付を済ませ、「チケットわすれた」という先生は別の受付へ。
その先生に駆け寄る女性1名。別のところに、先生に手を振る男性1名。どこかで見たことがある…どこだったかな…
受付を済ませた先生と先ほどの男女の元へ。紹介してもらった。
株式会社タカギズムのH氏とM氏。「元々僕の事務所にいたんだよ」と先生。あ!わかった!「ハッツさんですよね?」「そうです。」
キタ━━━━━━(゚∀゚)━━━━━━!!!!
ハッツ氏はぐれーぷさんのblogで知っていたので、この既知感はそれだったか。
「私がマッツです。」と女性。
後で聞いた話だと「高木を止められる2大女性のうちの一人」だという。もう一人はワイノット社長の黒坂さん。
そこに“神。いわゆるゴッド”高木敏光氏が登場。もう、紹介するまでもないだろう?クリムゾンルームで世界的有名人になった、“あの”
高木敏光だよ。赤い部屋に閉じこめられたことあるだろ?腱鞘炎になりそうになるぐらい画面をクリックしたろ?
株式会社タカギズムバージョンの名刺を受け取る。僕のことは覚えてくれていたような感じもするけど、覚えていないような感じもするなぁ。
でもS氏には「初めましてだよね?」って言ってたから違うかな。
「外に出ようよ。」と高木氏。僕は知り合いのサウナマン村上が講師を務めるモブログ講座を聴きに行くので、一旦別れた。
入り口で資料を受け取る。モブログじゃない。
セミナー中に画面の表示されるFlashに、携帯から接続して、
自分のアイコンをピョコピョコ動かして遊べるというコンテンツが用意されてあった。
「もうボロボロでしたー」とサウナマンは言ってたけど、そんなことはない。
唯一携帯から更新できるFlashブログの裏側をあそこまでアウトプットできるって言うのはすばらしいと思う。
あ、なるほど、そういうことをやっているのかっていうものがたくさんあり、目から鱗だ。
が、携帯コンテンツではいたずら心でBADゾーンでアイコンを遊ばせていた。すまない。僕だけだったな。
(コンテンツではGOODゾーンとBADゾーンに別れていて、リアルでプレゼン内容を評価できるようになっている。
アイコンは携帯電話から自由に位置を操作できるようになっている。)
ふと画面を見ると、明らかに変なアイコンがうろうろしている。うーん。バグかなぁ。
セミナー後サウナマンを激励にいく。といっても、今まではネット上の付き合いで、リアルで会うのが今日が初めて。西の変態である僕と、
東の変態であるサウナマン。ついに東西の変態が手を組むときが来た。
レアグッズ、モイモラ名刺をもらう。モイモラっていうのは、かな打ちでローマ字打ちに直すと「MEMO」になる。
近くには京都のクリエイター、植木氏がいた。変なアイコンは彼が会場で即席につくって、コンテンツをハックしたものだったという。
同じ部屋で高木氏のセミナーが始まる。
すでにハッツさんマッツさん廣鉄夫大先生、高木さんの旧友森川提督、そのた大勢の著名なクリエイターが前列を占拠。
廣先生によれば「もう、2杯ぐらい飲んでる。」とのこと。
白ワインを飲みながら講義するっていう話は本当だった。壇上にはすでに栓が抜かれたワインが用意され、グラスに少しワインが残っている。
高木さんのセミナーは何年ぶりだろう。しかも内容はクリムゾンルームのソースをみせるってやつ。
いよいよ、その幕が切って落とされる!
高木:「ねー!マック立ち上がらないんだけどー。誰かいない?」
2005年6月 8日
DirectorMX2004のFlashコンポーネントのクラスへのアクセス
あーもう、小一時間悩んだよ。
何のことはない。スプライトのインスタンスにドットシンタックスでプロパティをくっつけるだけだった。
ただ、クラスとして扱うなら便宜的に
myClass = sprite(me.spriteNum)
myClass.hogeProperty = "oreore"
みたいに攻めた方がいいのかも知れない。
僕は運が悪かった。使ってたプロパティがオブジェクトで返ってくるという、使い道がよくわからんプロパティだったので、
出力がわけわからなくて、悩み倒してた。
クラス定義はあってるハズだし…んがー
というか、いつも思うのだけど、Macromediaの説明書(ヘルプ)はなめてないか?読んだら読んだだけ理解できなくなるぞ。
んで、結局こう言うところのを見るしかなくなるんだ。
おかげで英語にだんだん強くなる僕がいるよ。すくなくとも、映画の字幕と実際のセリフの乖離に気がつけるようになった。すごい進歩だ。
ありがとうMacromedia。
2005年5月24日
Swift3D が新しくなるらしい
Flashで3Dしたい人向けのソフト、Swfit3Dがバージョンアップして4.5になるらしい。
リリースには
New Version 4.5 Features:
- Vector and Raster Style Video
- Video Export to FLV, AVI & QT
- Pen Style Outlines
- Up to 50x Faster Rendering
- Shadow Density Controls
- Shadow Color Controls
- Save and Load Render Profiles
- Level 3 EPS Export
- Improved Transparencies
レンダラー部分のみをアップグレードするらしい。
僕みたいな使い方をする人はあまりいないと思うのだけど、EPS出力はちょっとおいしいな。
レンダリング速度の向上は僕は正直複雑なモデリングをしない人(学習向けだから、いっても20面体とか)なので、あまり関係ないかな。
買うかどうかは微妙だなぁ…
でも69ドル〓なのよね。
直交座標が使えるようになってくれたら「即買い」なんだけどな。
2005年5月10日
パタパタ宇宙人
仕事で右脳鍛錬系のゲームを山ほど作っているところなんだけど、サンプル動作させたところでおもしろかったのではっときます。
窓がパタパタ開け閉めされてその中に宇宙人の絵が出たり消えたりするってだけです。
延々動き続けます。
2005年3月 2日
久しぶりのLingo
久しぶりのLingoだよ。
職場で作っているムービーの名前がJA…ってのからAJ…ってのに変わるとかで、リネームようアプリを求められた。
ということで、ボタン一つでJAをAJにものすごい勢いで変えまくるアプリを作って提供した。
汎用的でない。この上なく汎用的でない。
しかし、操作は超シンプルで、変えたいファイル達がいるところに置いて、実行してボタンをポン。これだけ。
サブフォルダ(1階層だけ)も検索できるので、ムービーと素材をひとまとめにしたフォルダ達がいるところに置いても大丈夫。
で、意味なくFlashコンポーネントとか使ってみたりして。
ボタンだけでなく、テキストラベルも。なにげにHTMLが使えるので、便利なのよ。
BuddyAPIを使ってリネームやフォルダ、ファイル検索を行ってます。貼り付けたビヘイビアはリネーム用とgo the
frameだけです。
そして、このアプリは昼休みにファイルをゴリっとリネームして、その役目を終えました…使い捨てだぁ。
2005年2月23日
携帯電話に露出計を内蔵しよう。
実は仕事がクアトロブッキングだったりして半分死にかけていたりするんですが、無性に携帯電話に露出計を内蔵したくなりました。
(正直、使う人はほとんどいないと思うのだけどね。)
以前、僕は携帯電話用セノガイドを作ったことがあるんですが、
アレは単にセノガイドの操作をFlashで再現するついでに携帯に突っ込んでみたって感じでした。
そのため、操作が非常にやりずらく、また視認性もよくないため実用性に欠けていました。
今度は携帯電話に内蔵することを念頭に、デザインを起こしなおします。
しかし、露出決定ロジックはセノガイドです。関研究所のノウハウを完全にプログラムに移植し、
携帯電話で簡単に露出を決定できるようにするのが狙いです。
しっかし、Flash liteは恐ろしく制限が多いからなぁ。どこまでできるかだな。
2004年10月 7日
Flash でAWS(アマゾンウェブサービス)を使う:チュートリアル
みんなXMLとXSLTなのかな。確かにあっちの方が便利そうだよな。
僕はAWSを使うときはSOAPを使うようにしてる。いろいろ複雑だけど、ページデザインがやりやすいので、初めてやった日からずっとSOAP。SOAPがなんなのかも知らないままSOAP。
今回はFlashMX2004Pro版に入っているData Componentsを使って、AWSに接続して、アマゾンの商品リストからキーワード検索を実行するFlashムービーを作るチュートリアルを公開することにした。
ホントはナイショにしておいて、シェアウェアで公開して、ムフフな人生を送りたかったんだ。
必要なのはFlashMX2004。Data ComponentsがインストールされていればOK。
用意ができたら続きへどうぞ。
2004年10月 5日
Flash でAWS(アマゾンウェブサービス)を使う2
でけた。
ファイルサイズが100KB超と結構あるので、続きにいれてあります。興味ある方はどうぞ。
2004年10月 4日
Flash でAWS(アマゾンウェブサービス)を使う
ネタに困ってリフレッシュのつもりで作ってみたら、データの送受信がサクサクできてしまって、ものの10分ぐらいで検索結果のフィードバックが得られるようになった。
そして…はまった。
めちゃくちゃおもろい。
ただ、こういうのに限って途中で飽きちゃってやらなくなるので、チュートリアルを公開するかどうか悩み中。
2004年7月 8日
モクモクしようぜ
海などから吹いたしめった風が、山に当たって上昇気流となり、雲を発生させる。
そんな積雲ができていく過程をダラダラと撮影しました。10時間ほど。無人で。
んなもんさぁ、10時間もカメラと一緒にいられるかっての。
超弩級高速再生でご覧いただけます。朝から晩までたったの46秒で駆け抜けます。
続きを読むをさくっとクリックすると勝手にダウンロードされます。2MBもないと思う。
なんか、虫とかついたりしてますが気にしないでください。
それでは、モクモクをお楽しみください。
2004年7月 5日
俺様用メモ
loadVariables等を用いて、別ドメイン上にあるサーバーからデータを取得しようとすれば、セキュリティ上の問題から確認ダイアログが出る仕様になっている。
(この例では画面サイズが小さいのでダイアログが出ないけど、読み込まれるはずの変数が未定義"undefined"になってしまう)
そこで
crossdomain.xmlというファイルをこちらの資料の例に基づいて作成し、サーバーにアップロードする。
これで二つ以上のドメインにまたがるデータのやりとりが可能になる。
上記Flashははじめに紹介したものとは別のドメインに置かれた同じファイルを読み込みに行くように設定してあるが、サーバーにcrossdomain.xmlをおいてあるのでセキュリティ上の制約を受けないでデータを受信することができる。
なお、正しく受信された際に表示される文字列は"oreorenyon"である。
これは僕が開発するほとんどのアプリケーションでデータの送受信ができているかどうかのチェックの際の文字列として、また変数名として使われており、そのソースを見た人たちは、ここ最近の「オレオレ詐欺」を見聞きするたびに僕のことを思い出すらしい。
報告は以上だ。
2004年6月29日
アメ横と羽田
バイノーラルで街を録ろう。
アメ横と羽田ロビーをアップですよ。
続きをよむしたらぐああああってダウンロードされます。
再生をぽちっと押したらめくるめくアメ横の世界あーんど羽田空港の世界。
2004年6月25日
俺様用メモ
FlashMX2004とサーバーで文字データをやりとりする場合、文字化けが発生することがある。
これは、FlashはUTF-8で文字を処理しているためで、これを回避するには
System.useCodepage = true;
をかますとよい。1フレーム目に入れておくと治ることがある。
報告は以上だ。
俺様用メモ
Flashでの配列の複製方法。
駄目な例
a1 = new Array(1,2,3);
a2 = a1;
a2.push(4);
こうすると、a1もa2も1,2,3,4となってしまう。a2 = a1で複製されているようだけど、これは参照させているだけなので、a2への変更はa1にも反映される。
じゃ、どうするのか。
concatを使おう。
a1 = new Array(1,2,3);
a2 = new Array();
a2 = a2.concat(a1);
a2.push(4);
これでa1は1,2,3でa2は1,2,3,4になる。
concatは元の配列に別の配列をつなげて“新しい配列を返す”というもの。
プログラム経験者は配列の実体への参照っていうものをすでに知っているので「んなもんあたりまえだろが」となるけど、経験の浅い人は????となってしまうので、俺様用メモとして追加しておく。
報告は以上だ。
2004年6月24日
FACEs 追い込み
ほかの仕事が立て込んでるので、FACEsばかりに頭を使ってられないと、さっさと切りのいいところまで進めてしまうことにした。
FACEsサーバーってのはFlashの持っているXMLインターフェースを使ってマルチユーザーアプリケーションを作れるというもの。自宅にサーバーを立てられる人であればちょっとの努力でFACEsも立てられる。
ログイン処理はサンプルがあるので、そのまま転記して自分用に書き換えればOK。
この段階でFACEsに接続できればそれぞれ固有の番号をもらうことができる。ここからはサーバーにメッセージを送ったり、受け取ったメッセージを解釈したりするだけでいろいろなアプリが作れるってわけだ。
たとえばAさんがメッセージをサーバーに送信すると、サーバーは接続している全員に対して「Aさんがメッセージを送ってきたよ。内容はこんなのだよ」と配信する。そのメッセージにいろいろな命令を書いておく。
自分としては簡単な命令のやりとりの基本を押さえたかったので、ログイン処理、送信処理、受信処理のそれぞれのファンクションをだだだだーって書いて、適当な命令をとばして、条件分岐させて…ってのをばばばばーって書いて、度重なるデバグとかつらい思いをして、何とか一通りの動作を完成させることができた。
ここまで来たら、後は息抜きがてらにプログラムを書ける。
とりあえず秘蔵のドメインをダイナミックDNSでアップデートできるように変更して(課金されてしまった)、コンテンツをいつでも公開できるようにしておいた。
明日は修正申告だ。今日は歯医者だ。あさっては株主総会だ。
2004年6月23日
FACEs SERVER
FlashのXMLエンジンを使ったマルチユーザーアプリケーションを構築できるFACEsサーバーを立てた。シャキーン!
いや、以前から立ちっぱなしだったんですよ。プロトコルを覚える暇がなかったんですが、紐解いてみると簡単なことに気が付いてちょろちょろやってます。
とりあえずの命題はチャットアプリケーションを作れって事なんですが、そこに広告を挟み込んで収益を得られるかどうか試してみたいです。たとえばこんな感じ
----
<はげ>今日のマネックスの暴落にはビックリしたねー
<おれ>思わずロスカットしちゃったよー
<広告>松本大 著「10億円を捨てた男の仕事術」好評発売中。
<はげ>総会で何か材料が出るとか言われてるけど、実際のところはどうなのかね
<おれ>過去3回ナニも材料は出てないよ。ありえねー。
----
こんな感じ。広告配信は別途PHPとかで組んで、それぞれクライアントが指定された時間ごとに広告を取得して表示するってかんじ。
こういった複雑な機能はなかなか実現できないけど、簡単なアプリができたらどこかでそっと公開したいね。まねふりとか。
--TODO--
1:総会対応(一応済)
2:地図(まだ)
3:会長(まだ)
4:MT(もうすぐ)
5:修正申告(ぬあああああああ!!!)
2004年5月10日
セノガイド v1.01b
セノガイドバージョンアップしました。
ダイヤルを操作すると、ダイヤルがだんだん小さくなってしまうという恥ずかしい(でも笑っちゃう)バグを修正しています。
原因はムービークリップの_rotationプロパティを設定する際に、少数が発生してしまって、それを補うために縮小していたそうです。(仕様らしいです)
適宜表示サイズを確認して、正しいサイズにするように設定を変えておきました。
もう少しまともになったらコピーライト入れちゃったりして公開します。
FOMA900iでも動作しますよ。
操作は変わらず
1,4で感度設定ダイヤルを回し、
2,5で環境ダイヤルを回す。
6でシーズン設定を行う
7,9で露出計の移動を行う。
2004年4月28日
FRISK?
大塚娘を捜していたら偶然見つけたBLOG。bA関係の方たちの名前がチラホラ見えるので、そのままどっぷり浸かっていたら見つけちゃったFlashムビです。
トラバで紹介します。
いわゆる紙をくしゃくしゃポイ!ってするやつです。
扇風機が回ってるので、投げてからは風にあおられるわけです。方向と風力は表示されてます。
それを読んでぽいっと紙を投げましょう。
風力の数値は同じでも、右と左で微妙に違っていたり、いろいろ難しいところもあるんですが、3ポイントシュートが決まったような心地いい快感を得ることが出来ます。
10ポイントもらえた。
2004年4月23日
Directorでシリアル認証
codebase="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=10,0,0,0"
ID=serial width=160 height=120>
type="application/x-director" pluginspage="http://www.macromedia.com/shockwave/download/">
Directorで簡易シリアル認証ができないかってメーリングリストで質問があったので、それとなく作ってみた。
16142512 とかで通ります。
2004年4月22日
SENOGUIDE
電池いらずのマニアなアナログ露出計、セノガイドをFlashで再現してみた。
画像をクリックすると、下記操作が有効になります。
操作は携帯を想定してるので、数字キーベース。
1,4で感度設定ダイヤルを回し、
2,5で環境ダイヤルを回す。
6でシーズン設定を行う
7,9で露出計の移動を行う。
ファイルサイズとかレンダリングの関係で、携帯では恐ろしく見難い。
ヤフオクではプレミアがついて、2万円を超える値段が付いてるんだとか。
