XCR

XCR

xcr.jpg

僕の尊敬している+39氏の最新作のXCRがアップされました。
やっぱり凄いです、インターフェイスの直感的な操作性、ビジュアル、斬新さと
三つ星です。
多分更新頻度も考慮した丁寧な設計で且つ、大胆でインタラクティブ性を
保持しつつ僕の理想とするアルゴリズムで構築されていて凹みながらもじっくりと楽しみました。
素晴らしいサイトです。



擬似デスクトップインターフェイスのFLASHを製作しているのだが
製作していて大変なのが外部swfをそれぞれ別のディレクトリに
格納していて外部swf自体はxml読み込みしないでメインswfで
xmlを読み込みする仕様なんですが外部swf自体にもそのxml
データから生成した連想配列とかを使ってボタン生成とかしてる
から外部swf単体でのデバッグが面倒です。
一応親(メインswf)の存在が無ければ外部swf自体がxmlを読み込む
ようにして単体チェック出来るように修正。

今回は外部swfを読み込み、さらにそのswfに外部swfを読み込んだりと
かなり複雑な造りになってるんですよね(更新の効率化を図る為)。
で、色々とデバッグが大変です。

更新頻度の高いFLASHって僕は更新作業の簡略化をまず考える
(インタラクティブ性を保持しつつ)のですがそれに伴って初期設定・造りこみでの
アルゴリズムが大事だなと思いました。
いつもは仕様書なんて書かなくてもflaファイルにコメントアウトで書く位でなんとか
他の人間にも理解出来るモノくらいでしたが今回は僕がもう辞めるから更新作業は
他の人間がすることになるし、社長には誰でも更新出来るようにしないと困ると言われ
(FLASH分からない人でもの勢い)キチンと仕様書作らなければ・・・。
で、ある程度はXMLファイルを作って、テンプレflaを元に画像を変える位で更新作業終わり
みたいな感じの構造で設計中。

以上。



stopDrag()後に
_xと_yを整数にする時に使ったりしてます。
鋭い突っ込みはご勘弁ください・・・。

// ------------------------------------
// 整数変換関数
// 定義:mathFloors();
// 引数:arguments変数に格納するので何個でも返す
// 戻り値:arguments | 配列で返すので受け取りは変数
// ------------------------------------
function mathFloors() {
for (var i=0;i arguments[i] = Math.floor(arguments[i]);
trace(arguments[i]);
}
return arguments;
}



balé Port Douglas

bale.jpg

バリ島を紹介するサイト?かなと思ったのですが
ヴィラやコテージなどを運営しているリゾート企業のサイトらしいです(w。
シンプルだけど見やすく、扱いやすいインターフェイスに
美しい画像が気に入りました。
画像をメインにしたサイトなのでボタンとかをシンプルにテキストだけにし、
且つ細かい作りがシッカリしていて良いですね。
バリに行きたくなっちゃった(w。

ちなみに製作会社はgroup94
なるほど、良い仕事しているな〜。

group94

group94.jpg

この製作会社はチェックですよ!!
レベルが高く、一押しです。



加藤ローサのBlog de チェキ日記

rosa_blog.jpg

加藤ローサまでもBlogですか、すごいね、最近の流行って。
けどカワイイからチェック。

ふ〜ん、パソコン初心者だって。
てかトラックバックの数が半端無い!!
すごいな・・・(w。



Movable Typeのテンプレートを弄ってみたいがイマイチ分からない・・・。
CSS苦手だな〜、もっと勉強しないと。

一応デザイン修正しようと言う事を忘れないように。
で、toraさんから教えて頂いたCSSエディタを思い出した。

macrabbit
CSSEditBox.png

OSはMAC OS X以上なんで会社では使えないけど家でチマチマテンプレートデザイン
を変更するのには良さそう・・・。
けど英語なんで理解出来ない〜って悩んでいたら作者公認のバージョン1.6.1用の
日本語リソースがありました。

ローカライズ



大阪城のライトアップを観に男二人でドライブがてらに行って来ました。
夜なのにジメジメしてるしイライラした気分で天守閣に向かって歩いていたんですが
もうイライラ気分がスコンっと消えましたね、いや〜大阪城は面白いです。
二人で変質者並みに写真を撮ってしまいましたよ・・・(w。

最近写真を頑張って撮っているのですがどうしても仕事があるので
身近なスナップしか撮ってない(スキルもその程度)なんですがたまには
こういった写真も撮りたいなと思います。
あ〜、写真部を作りたい・・・。

osakajou.jpg

ちなみに日常のツマラナイ写真達は
ORG PHOTO DIARY
に晒してます。



やっぱりCLASS定義苦手だ・・・。しかもまだMXでの定義でいっぱいいっぱい。

外部ASファイルにCLASS定義してMCのプロパティの1フレーム目に書き出しに
チェック入れてたらMCの#initclipが先に実行されるからCLASSが未定義になる・・・。
でチェックはずす。

で、またまた外部ASファイルに定義してattachMovie()するMC自体にCLASS定義するなら
1フレーム目にチェック入れると先に#initclipが実行されるしチェックを入れないとそのMCを
スクリプトで生成する前にフレームに配置してとかしないといけない(もっと簡単な方法がある)?

と言うかかなり間違っている気がするけど頭パンク状態で・・・。
なんか根本的に間違っているのか?と言う事でこの考え方は間違っているぽぃし恥ずかしい
けどこれを晒して誰かにもう少し違う良い方法があるか教えて頂きたいです。



これはロールオーバー時にアニメーションさせるのに使います。
ロールアウト時には逆モーションのアニメーションをしてくれるので
便利です。
ベースは野中さんの非公式テクニカルノートです。
それを簡単に関数化してます。

// ---------------------------------------------
// アニメーション関数
// 定義:animationMOV(true,this._target);
// 引数:CH | false:逆再生true:再生
// OBJ | MCへの絶対パス(this._targetで取得)
// 戻り値:無し
// ---------------------------------------------
function animationMOV(CH,OBJ) {
// アニメーション制御
eval(OBJ).onEnterFrame=function() {
if (CH && (this._currentframe < this._totalframes)) {
this.gotoAndStop(this._currentframe +1);
if (this._currentframe == this._totalframes) {
delete this.onEnterFrame;
}
}
else if (!CH and (this._currentframe > 0)) {
this.gotoAndStop(this._currentframe -1);
if (this._currentframe == 1) {
delete this.onEnterFrame;
}
}
}
}

参考:ロールアウトで逆戻りするアニメーション



heavyform

heavyform.jpg

3D、WEB、GRAPHICS、IDENTITY、PRINT、PHOTOGRAPHY、MOTIONと
多岐にわたって活動しているNenad Bogar氏?のサイト。
特に変わった事はしていないがシンプルで観やすいサイトで好感が持てます。
作品の出る感じはシンプルで結構好きですね。
サイト自体が透明感があり、作品のクオリティが高いのを強調しているようで
良い感じのテイストです。



名探偵ホームズ劇場版

homes.gif

1984年製作 米

名探偵ホームズに助手のワトソン、そして宿敵モロアッチ教授とオッチョコチョイな手下二人。
あの名探偵キャラクターを全部犬に置き換え、飛行機、軍艦、潜水艦などあらゆるメカを駆使し、
抜きつ抜かれつの冒険サスペンスアニメ。

このアニメは僕が中学生の頃にテレビ放映をしていていつも部活を休んで観ていた番組です。
イラストのテイストが妙に子供心にヒットしていつも楽しみにしていました。
久しぶりにビデオで借りて観て少し懐かしくなり、気持ちが洗われて良かったです。
この番組のファンってあんまり聞かないな〜・・・。



ディレクターの役割ってなんだろう?
ただ仕事を受けてそれをデザイナーに落とし込むだけなのだろうか?

技術的面の修正は内部的なモノなのでプログラマーに相談して無理な事は無理だと
判断出来るのだがデザイン面での修正は大概表面的な事なのでデザイナーに相談無く
ディレクターの判断で決める事が多々ある。
デザインの修正は確かにプログラムよりも修正をしやすい場合があるが
デザイナーのデザインにはそれなりに意図したモノがあり、それをディレクターの
判断でクライアントの修正依頼通りに変更したらどうなるかを考えれないのだろうか。

全体のバランスが崩れてしまう事になるのをクライアントに理論的に説明出来る
ディレクターに会った事が無い。

確かにクライアントは大事だが、それだけでは無いと思う。

多分僕はディレクション能力が無いからそう思うのだろう、多分無理だ。
クライアントにも噛み付くタチだからね。駄目な人間だ。



なんか良いActionScriptエディタが無いかなと探していたら
見つけました。

SciTE|Flash

ナカナカ便利です、ただWIN用なんでそこが難点かな?
後は何故かonEnterFrame()と書いたときに閉じカッコだけ
出てくる、で「{」を書くと閉じカッコが2つになる・・・。微妙なのか?これは。

あとハイライト表示もon()には効かないっぽいしなぁ。
まぁ、一応チェック。

scite.gif

参考:Flash_ActionScript_エディタ アーカイブ



Flash Player 7 で追加されたその他の機能で
sort()の数字の昇順をするのが面倒だったのが
オプションで出来るようになってるのを忘れるのでメモ。

1 (Array.CASEINSENSITIVE)
2 (Array.DESCENDING)
4 (Array.UNIQUE)
8 (Array.RETURNINDEXEDARRAY)
16 (Array.NUMERIC)



ViVAGRAPHICS

vivagraphics.jpg

VIVA GRAPHICSと言うグラフィックデザイナー泉川直樹さんのサイト。
かわいいキャラクターがチョコチョコ動くのがとても良いです。
チョットしたギミックがあったりサイトのレイアウトが面白く変わった感じが気に入りました。
FLASHとHTMLをうまく使っていて好感度が高いですね。



loadMovie用にload_mcと言うMCを作り、そのload_mcに
クラス定義でonLoadの記述を書いていたのですがloadMovieしたら
そのプロパティが無くなるので悩んでいました。
チョット頭がグチャグチャになっていたので勘違いしてたので戒めメモ。

今まで問題無くいけていたのはクラスを使わずに直接MCにアクションとして書いていたり、
読み込み完了後にイベントをセットしていたわけで今回のように読み込み完了
していないMCにイベントをセットした事が無く理解してなかったです(情け無い)。

某掲示板で教えてもらうまでクラス定義の仕方が悪いと思ってました。
けどそれ以前の問題でした、あー恥ずかしい。

以下内容:
loadMovieしたらそれはもう同姓同名だが別のMovieClip
でも同じムービークリップだからonClipEventは引き継がれる
ActionScriptインスタンスのプロパティは引き継がれない
だからonLoadもOnRollOverも無くなる=イベントハンドラメソッドは
クラスに書こうが関係無く無くなっちゃう。

自分なりの結論:
と言う事でloadMovieしたMC自体にはアクションとしてMCに記述するか
onLoadをMovieClipLoderで検知してその後にイベントをセットをするのが
ベストなのかなと思ったりします。
もっと良い方法あるのかな?

参考:GAC[12522] onLoadについて。



Dell eSupport Teaser and Tour

del_sup.jpg

DELLのEサポートについての紹介ムービーかな?
これはブロードバンドを意識しているのか早い動きを感じます。
最近DELLはCMにも力を入れているしサイトの作りも好きな感じです。
清潔感も感じて観ていて気持ちが良いっす!!

こういったトゥイーンをメインにしたアニメーションは絵コンテとかをキチンと
作って構成したりしてるのかな?僕はいつも本当のラフ絵を数枚描くだけ
なんで・・・(トゥイーンアニメーションは苦手です)。



 現在の会社を15日付けで退職決定!!
はぁ、やった〜。これで次の会社にキチンと連絡する事
が出来る・・・。

ただ引き継ぎがダルイな、マジで。
あとおれは嫌な人なんで自分の知識をあんまり
教えたくないと思う人なんだよね。
こんなショボイ僕の知識でも大事だと思ってしまう。
けど引継ぎの内容が僕的にちょっこすコアな部分が
あり、「よくこれでけたなぁ〜。」と言うスクリプトを何も
努力していない人間に丁寧に教えないといけないとは・・・。
プロセスが無いのって良くないよね。

う〜ん、辞めれてHAPPY 引継ぎでUN HAPPYだ。



yetisports5t

最近会社の昼休みにはまっているゲーム。
なかなか高得点を出すのがムズカシくて病み付きです。

で、最近自分の中で高得点を出したのでup。

yety.jpg

これからも昼休みにやり続けて高得点をマークしよう・・・。

参考:APEIROPHOBIA

今日、記録更新してしまった。
会社の同僚から攻略法を聞き実践。

なるほど・・・、飛距離が飛躍的に伸びました。
yeti2.jpg

方法はキリンさんとハゲワシに咥えられないようにうまく転がして
毒蛇と仲良くする事。

はい、記録を更新。
2004/06/30

yeti_3.jpg



IEで特定のWebページを印刷すると, パソコンのCPU 使用率が100%になるとともに,
実際のページ数以上の印刷物がプリンタから出力されるという。

問題のバージョン:
Internet Explorer 6 Service Pack 1 日本語版

おいおい、パッチを公開する予定無いのかよ・・・。
これはチョット怖いですね、今まで作ったサイトをもう一度チェックし直した方が良いのかな?

参考:
Computer Security Laboratory
IEの印刷機能にバグ,特定ページを印刷すると大量の印刷物が出力される



OOPについて基本も知らないでFLASH OOPを購入したけど理解に苦しむから
どうしようかなぁと思っていたらTakaさんにObject-Oriented Programming with ActionScript
と言う本を最初に読んだら良いと教えて頂いた。

oop1.jpg
*Object-Oriented Programming With Actionscript (LANDMARK)
randen Hall (著), Samuel Wan (著) ペーパーバック (2002/09/13) Macmillan Technical Pub

oop2.jpg
*Object-Oriented Programming With Actionscript 2.0 (Voices That Matter)
Jeff Tapper (著), その他 ペーパーバック (2004/02/01) Macmillan Computer Pub
AS2.0バージョンのも出ているのでメモ

う〜ん、洋書って言うのが難点・・・、英語読めません(w。
専門用語なんて理解出来そうに無いな〜。

参考:OOP本到着



defide inc.

defid.jpg

defide.incのサイト。このサイトのFLASHは良く出来ていて好きですね。
メニューの作りがうまく、動きも楽しいです。
メニュー展開も分かりやすく、なかなか良い参考になります。
一つ一つのアクションがうまく、滑らかで計算されてます。
日本のIT関係のサイトではトップ10に入るっす。



setIntervalを使用して時間差でMCをattachMovieしていく
と言うのを最近質問であったのでその方法。
と言っても、普通なんですが・・・。
下記の方法で・・・・。
1000ミリ秒毎にmenu+iのMCを生成して
ITEMの個数までmakeCopyをし続けます。

var i=1;
var ITEM = 10;
var copytimer = setInterval(makeCopy,1000);
function makeCopy(){
trace("hoge = "+i);
clearInterval(copytimer);
_root.attachMovie("menu", "menu"+i, i);
i++;
if( i<=ITEM){
copytimer = setInterval(makeCopy,1000);
}
}



FLASHでクロージャーと言うのを使えるらしい。
で、僕は無知なのでクロージャーの意味さえ知らなかったので(w
チョット検索

クロージャーとは
クロージャは関数の局所変数を "閉じ込め" て、その関数の外側から参照しアクセス
できるようにするオブジェクトである。より興味深いことは、クロージャが実際には局所的な
コンテキスト(変数が存在するスタックフレーム)をパッケージし、それらが実際に存在する
スコープの外から利用可能にするという点である。情報は基本的にそれをあらゆる場所、
あらゆる時点で参照されるようにしたクロージャによって "捕らえられる"。
と言う事らしいです、なるほど。

で、下記のサイトに詳細が書いてあるのでメモ
うーん、なるほど・・・こう言った方法もあるんですね。
最近はオブジェクト指向のプログラムを勉強していたのですが
こう言った方法も有用ですね、大変勉強になります。
僕はもう少し頭を固く考えてしまいそうです、これでチョットは
処理をうまく出来るかもです。
あと、Flashでクロージャ。のサンプルコードの
this.onEnterFrame=null;
は前回onEnterFrameについてでpixelmainさんが教えてくれた
のですが
delete this.onEnterFrame;
に変更した方がメモリを開放するので良さそうです。

Flash でクロージャ。
1.3 クロージャ
apeirophobia:何か突然クロージャー



F-SITEのセミナーレポートはタメになるのでメモ。

このセミナーには一度参加してみたいのですが東京って言うのが・・・。
関西でもこういった情報の共有が出来るものがあればなぁと思いました。
誰かやってくれないだろうか・・・。



FLASHのFPSを正常にする方法があるらしいです。
winのIE6ではswfムービーの再生速度が遅くなるらしく(分からなかった・・・)
どんなに処理の軽いswfムービーを作ったとしても、IE6では指定した再生速度から
約10%減のスピードしか出ないなんて・・・。
で、その改善方法が紹介されていました。

HTMLに貼り付けるembedの中に
<param name="wmode" value="opaque" />
を加えるだけです。
これだけで実行速度が目に見えて変わるから驚きですね。

ただ全てのswfムービーが軽くなるわけではなく、比較的に処理の少ないファイル
とからしいです。
モノによっては遅くなったりもするらしいので試してみれば良いかも知れませんね。



ASICS Athletes Plaza

asics_olympic.jpg

asicsのアテネオリンピック特別サイト。
あのRAKU-GAKI.COMのニシダさんが手がけているらしいです。
なるほど、流石と言う感じでいつもの透明感のある感じに仕上がっていて
綺麗ですね。
画面の切り替わり方も良い感じで清潔感があって勉強になるな〜。



関数再帰呼び出しを使用してオブジェクト、配列の要素を全て出力します。
使いようは無い気がする。
けど応用で使えるかもと言う事で。
怪しい処理は目を瞑る(ナームー)。
var check:Array = new Array("hoge","hoge2","hoge3");
for (var num:String in check) {
check[num] = new Array();
for (var i:String=0;i<100;i++) {
check[num][i] = i;
}
}
check[3] = "org";
check[4] = new Object();
check[4].x = "X座標";
check[4].y = "Y座標";
check[0]["test"]="関数再帰呼び出し";

// ----------------------------------
// OBJECT、ARRAYのデータを全てtrace関数
// 定義:dataView(array)
// 引数:data | OBJECT or ARRAY
// 戻り値:無し
// ----------------------------------
function dataView(data:Object) {
for (var num:String in data) {
if (typeof(data[num]) == "object") {
trace("objectタイプのみ出力 = "+data[num]);
arguments.callee(data[num]);
}
else {
trace("objectタイプ以外の出力 = "+data[num]);
}
}
}

dataView(check);




EVB

EVB

evb.jpg

個人的にかなり好きなサイト。
シンプルながら動きに玄人さを感じる。
WORKS-PORTFOLIOを静止画ではなくムービーで
観せているのが良いです。
作っている作品もクオリティが高いものばかりだし
CLIENTも大きいところばかり・・・、羨ましい。

観ていて気持ちの良いサイトなんでチェキて下さい。



さっきまでPRIDE GPを観ていてハッスルしまくり!!
吉田秀彦のクレバーな試合っぷりがまだ印象に残っています。

あと、小川直也。
ハッスルしてくれました、こちらもクレバーな試合展開で
決勝を期待ですね。
うーんPRIDEは熱い!!

pride.jpg

PRIDE Official Site



XMLを使用したメニューを作ろうと思っているんだけど
難しい・・・・。
今日一日作りたいと思ってやっていたが進展無し。
データの持たせ方からして理解していない。
attributes?nodeValue?どうやってデータを持たそう。
XMLからメニューを作る時にどうやるのだろう?
サンプルを見たら最初から全てのメニューのMCを生成していたり
親メニューだけMCを生成していたり・・・。
今イチ理解出来ないよ。
う〜ん、イメージはある程度出来ているんだけどな〜。
全然具現化出来てないや。
今日はもう寝る!

明日もう少し基本を勉強だな。
今までXMLを全然してなかったのが情けない、ショボーン。



FLASH OOPがAmazonより届きました。
いやー、内容が濃いですね。
しっかりした内容で基本をあまり知らなくて独学の
僕としては目から鱗ものですね、感覚でしか理解していなかった事
がキチンと理論的に書かれていると納得です。
ただAS2.0仕様なんで現状は趣味段階でしか使えないな・・・。

FLASH MXのバイブルって何があるかな〜?
誰か知りませんか?取りあえずFLASH MXの本を全然持っていないので
基本がショボイ!!
今あるのは・・・。
・FLASH ActionScript辞典
・FLASH BOOKS Version02
・FLASH FACTORY
・Flash ActionScript Handbook
ですかね。
実際に役に立っているのはFLASH ActionScript辞典かな。
後は応用でFLASH FACTORYは勉強になります。
他のは最初目を通したくらい・・・、もったいない。
数学的な発想の勉強もしたいのでFLASH LABも欲しいトコロ。
やっぱり分かりやすいmacromedia FLASH ActionScriptバイブル
と続編も持っておきたいかな。
あとはサーバサイドと連携の本が全然無いからほしぃ。



ローライフレックス MiniDigi(ミニデジ)

minidigi.jpg

FDくらいの高さしかなくて、上からのぞいて
撮影するタイプ。
レトロな形のデジカメ。
そいでもってピント合わせもアナログな感じで
ピントが合っているかどうかは運まかせらしい。

4月のフォトエキスポで発表して話題をよんだらしく
注文が殺到したから7月に発売を延期したくらい
注目商品(!?)見たいなんだってさ。
写りはおもちゃの数段上位・・・、微妙だ。

ちなみにうちの嫁さん情報です、欲しいらしいが高いからアウト。

参考URL
ローライフレックス ミニデジ
ITビジネス&ニュース:新製品レビュー

有効500万画素のデジカメが2万円を切る。

すごいな・・・、ここまで安いともう一台欲しいね。
けど光学ズーム無しって言うのがダメポ。
MiniDigiとは方向性が違うけどこっちも人気出そうだ。

concord.jpg

参考サイト
製品紹介 : 5062AF特徴 | コンコルドカメラ(ジャパン)
アイワイネット/有効500万画素のハイクオリティデジタルカメラ
500万画素で2万円弱! イトーヨーカドーで低価格デジカメが発売へ (MYCOM PC WEB)



と言うのをする時にどうすれば良いのかと言うサンプル

普通にloadMovie()後に読み込ますMCに_width、_heightの
リサイズ指定をしても外部ファイル読み込み完了してなければ
読み込み後にリセットされます(新しく読み込んだサイズに変わるから)。

でどうするかと言うと
任意のフレームから再生
でも書いたように外部swf読み込み後に処理を実行するようにする。

// _rootタイムライン
function resizeMC(obj) {
obj = eval(obj);
trace("this = "+obj);
obj._width = 200;
obj._height = 200;
}

// 外部swfを読み込むMC
onClipEvent(data) {
if (this.getBytesTotal() <= this.getBytesLoaded()) {
_root.resizeMC(this._target);
}
}

これで出来ます、良かったね。



Two Sisters

twosisters.jpg

2004年7月24日より新宿シネマミラノ、梅田ピカデリーほか全国拡大ロードショー開始する
スティーブン・スピルバーグが史上最高額でリメイク権を獲得した、究極の号泣ホラー。

サイトの構成がシミュレーションゲームみたいな感じ+うまくマスク効果を使っていて
恐怖感を煽られます。
色使いがうまく、韓国のデザインセンスはヤバイと感じたサイトです。



REALFLEET co., ltdと東芝とのコラボレーションによって
作られた「REAL FEET」の専用商品でリビング家具として
かなりクオリティの高い仕上がりになっています。

従来の家電製品のマスプロダクトとは一線を画し、
素材から製造方法に徹底的にこだわり抜いていて
高級感のある光沢の黒ピアノ塗装で仕上げた本体、
ヘアライン仕上げのステンレスに曲げ加工を施したスタンド、
ライトブラウンの本革の持ち手、上質な素材の絶妙なバランスが
この液晶テレビには配されている。

これは欲しいですよね、うん。
ただ値段が
VGA 14V形液晶で99,800yen
VGA 17V形液晶で159,800yen
だって・・・・。
ちょっこすお高いです。

face.jpg

このREALFLEETの他のプロダクトデザインも秀逸なのでチェケです。
REALFLEET



FlashムービーのMIMEタイプはapplication/x-shockwave-flash。
application/octet-streamじゃ無いというのを忘れそう・・・。

ちなみにPlayer6では別サーバのプログラムにアクセスできたけど
Player7では出来ないようになった(セキュリティ上)。
で、解決方法はパブリッシュをPlayer6にするんだってさ。
まぁ、違うサーバのプログラム経由なんて事はナカナカ無いけど一応メモメモ。

MIMEタイプの一覧

いつかMIMEタイプを調べる時のために。



TEXT MOVING用CLASS3を作ってみた。
と言うか手抜き、2を少し弄っただけ。
本当は他に作りたいものがあるのだけど
チョット大掛かりなんでモチベーションが高い時に
でも作らないと出来そうに無いので・・・。

取り敢えずという感じでもう少し効果にコピーで使える感じを
出してみた。
けどかなり処理が適当なんでバグありだし、微妙に汎用性無いね。
はぁ・・・。
一応アップ。

TEXT MOVING用CLASS3



XMLオブジェクトから相対的にMCのターゲットパスを指定
したくて悩んでいたのですが無理やり解決したのでメモ。

myXML.onLoad = function(success) {
if(success) {
getDate(datas,"this");
}
}

function getDate(hoge,hoge2) {
hoge2 = eval(hoge2);
hoge2.attachMovie("hhhh","hhhh",1);
hoge2.hhhh.datas = hoge;
}

やり方はかなり無理やりですが・・・。
XMLオブジェクトではなく、onLoadの記述している
MCからthis参照が出来ています。
thisをダブルクォーテーションで括らずに普通に送ったら
XMLオブジェクトの中身が送られてしまいました。
で、ダブルクォーテーションで括り、StringとしてgetDateに
送り、getDate内でevalで評価させて難を逃れました。
う〜ん、独学だからすごいショボイ事していそう・・・(涙。
こんな事にひたすら悩んでいました(30分も)。
これからもこのようなオブジェクトから相対的に参照させる必要
があるかもなんで忘れないでいよう。



と言う事で前回mixiで知り合った方とメッセしている時に
テキストアニメーションをトゥイーンかASでするのが良いか話
ているうちにCLASS定義の勉強も兼ねてトゥイーンを使わなくても良い
テキストアニメーションCLASSを使って作ってみた。
間違い無くCLASSなんて必要無いのですが、勉強なので・・・。

近いうちにTEXT MOVING用CLASSと同じように
テキスト入力で反映させます。
てか、これは既出過ぎの動きなんで・・・。

やっぱり面倒なんでしないかも。

TEXT MOVING用CLASS2



うまくいかないな・・・。
flashでxmlデータを元にjpgを複数読み込んで
それをアニメーションさせたり切り替えたりのCLASSを
作ってxmlの切り替えで複数の店舗情報みたいなのを
作れたらな〜と思って作っているが全然出来ないな・・・。
う〜ん、普通にswfを店舗数作るのってナンセンスだしな。

一つのswfで完結したいが今の段階ではまだまだだ・・・。
時間との兼ね合いで複数ファイル作成って事になるのかな・・・。

自分の理解の無さに泣けてくる、まだまだ精進しなければ。
と言う事で自分の力の無さを記す為にメモ。



東京プラスティック V.2

plastic.jpg

最近ver2になったらしいです。
仕掛けが面白いですね、swift3Dを多用しているようでかなり
ファイルサイズが重たいのが難点ですね、これはチョット待つのが・・・。
けどそのローディングを待つだけの価値のあるサイトって言うのも
流石です。

こんな風に動きのあるサイトは多分作れないな・・・。



onEnterFrameのメソッドをdeleteする時に
delete this.onEnterFrame;
と記述していたんだけどクラス定義のMCには
この記述が効かない?のかな?

おれのデバックミスかもだけど(適当なんで)
クラス定義にonEnterFrameを書いているときには
thisonEnterFrame = null;
を使用したらうまくいったのでこれからはこっちの方を
使っていこうかな?
イマイチ
・this.onEnterFrame = null;
・delete this.onEnterFrame;
の違いが分からないや。
また調べようっと、一応メモ。

疑問点:
test.onEnterFrame=function() {
delete this.onEnterFrame;
//this.onEnterFrame = null;
trace("hoge");
}
もちろん上記の記述では
delete this.onEnterFrameもthis.onEnterFrame=nullも
どちらもtraceが実行されません。
今まではこのようにしてイベントハンドラを削除していました。
で、最近やっとCLASS定義の勉強をしようと思って
CLASS内でイベントハンドラの定義をしていて疑問になったのが
#initclip
function TestClass() {}
var obj = TestClass.prototype = new MovieClip();
obj.onEnterFrame=function() {
// delete this.onEnterFrame;
this.onEnterFrame = null;
trace("hoge");
}
Object.registerClass("test",TestClass);
#endinitclip
上記のような場合は
delete this.onEnterFrame;
を記述していても"hoge"がtraceされ続けるのですが
this.onEnterFrame=nullを記述すればtraceが実行されなくなります。
で、CLASSにイベントハンドラを記述する時にイベントを削除する時には
deleteではなくnullかもしくはundefindを使うのかなと・・・。

う〜ん、なぜでしょう?そもそもCLASSの定義の仕方がまずい?



Christopher Lawrence: DJ & Producer

cl.jpg

DJ & PRODUCERのChristopher Lawrenceのサイト。
クールなインターフェイスでダイナミックな動きがあって気持ちよいです。
"HIGHT"になれます。
でよく出来ていると思ったら2ADVANCED STUDIOSが手がけたサイトでしたか、
なるほど、やっぱりFLASHの使い方うまいです。
クオリティの高いサイト作るな・・・。
HTMLもうまく使ってるし。



FORESTS FOREVER

forests.jpg

FUJIFILMのプロジェクトで神秘的で魅力あふれる世界の森を、ひとつひとつ紹介するサイト。
現在は3箇所の森をフューチャーしています。
このサイトの写真は雄大かつ壮大、自然の息吹を間近に感じる事が出来るので大好きな
サイトの一つです。
サイトのインターフェイスも扱いやすく、写真の見せ方の処理がうまい、実にうまい。
ちょっこす見習いたいです。



VAIO POCKETがipodの独占を崩す勢いだと書かれていたが、そうなのか?
気になるお値段は52,900円(税込)と結構お高いし、winにしか対応してないし。
カラー液晶にCDのパッケージが表示出来るらしいけどその為の画像を取り込まないと
駄目だし。
て言うかカラー液晶付いているならいっその事デジタルカメラ内臓、でTVチューナーも
ついてこいよ・・・。
バッテリーの駆動時間が20時間って言うのは魅力的ですが。
GUIはipodのパクリ風味に感じるのは僕だけ?
【新感覚の操作感を実現するタッチパッド「G-sense(ジーセンス)」を搭載。
パッド上で指をスライドさせて選択位置を移動し、プッシュして決定。
液晶画面と指の動きが連動して直感的に操作できます。】
もうすでにipodで体験してますが。

ふ〜ん、デザイン面では別に惹かれるもんは無いね。
無駄が多い、無駄無駄無駄ー!!

vaiopocket.jpg



と言う事でCLASSの勉強の一環でテキストをファミコン風味で
表示するCLASSを作ってみた(適当です)。
もちろん、バグあり、ショボイけど細かい所は大目にみます。

使い方は適当に触ってみて下さい。
font sizeは8の倍数が一番奇麗だったりします。
lineheightは大きくし過ぎると見えなくなります(w。
なんとなくMovieClip.onLoad()を使いたくてクラス定義してたり
したらチョット動きを付けてみて、そしたらじゃー入力出来る仕様に
してみようと思い、作成(この時点でアルゴリズム崩壊、バビロン崩壊)。
はぁ、これは果たして流用できるのか・・・・、結論:出来ません。

TEXT MOVING CLASS ver1.2



今日は朝早くからりんくうプレミアムアウトレットへ奥さんと買い物に行きました。
貯金をしなければならないのに散財してしまった・・・。
雨がきついわ車は混んでいるわで結構体力消耗。
けど面白かったな〜。

rinku.jpg

*てなわけで今日の僕の戦利品。

・NIKE T-shirts
・FINAL HOME T-shirts
・GAP 麻のパンツ

NIKEのT-shirtsは夏らしくガンガン活躍するね、最近お気に入りだ、NIKEは。
FINAL HOMEのT-shirtsは奇抜なタイダイ染めでヤンキーみたいな感じで
合わせるのが難しいかも。
GAPの麻のパンツはこの夏に履き潰すっぞ!サンダルと合わせたスタイルで
夏ります。

と今日は買い物したもので纏めたり。



仕事で擬似デスクトップインターフェイスのFLASHを製作しているが色々と大変です。
はぁ、失敗したな〜、マックでのフルスクリーン表示の方法分からないや・・・。
グランカフェのはうまくしているな、あのコードはJavaScript以外にVBも使っているのか?

後は簡単に修正出来るように思って修正だされるのが腹立つな〜、う〜ん、最近思考回路が
プログラマーよりだ・・・、抽象的な発言にムカムカするな。うん。早くしてみたいなノリとかね。

工数足りません・・・、スキル不足で。

自分でデザインから起こしてFLASH組んでいるがこの擬似デスクトップインターフェイスはかなりの
マシンスペックに依存してしまう。駄目駄目だ。
と言うか時間が足りない、人手が足りない。と言うかおれ一人で創ってるよ!大変だよ!
+39さん風に言うとワーニング、ワーニングだ。
けど社長とクライアントの意向で進めています。
うーん、微妙だ、創るのは楽しいが自分らしさを出せないってのは。
自分のお勧めできないのを頑張って創る、ま、仕事では当たり前ですが。
その当たり前な事で最近ストレスが溜まっています。

気晴らしに明日はりんくうのアウトレットで買い物すっぞ!



adidas Rugby

addidass.jpg

adidasが契約していると思われるラグビー選手たちをフューチャーしたサイト。
選手をARTISTSとして紹介してたり、GALLERYではそれぞれの選手が身体に
ペンキを塗りキャンバスに魚拓のように写したものを展示していたり、
サイト自体は雨の日のラグビーをイメージしたペンキをグラフィティ風に表現していて
かなりCOOLです。

お流行系だけど好きだなー、シンプルで。



韓国で捨てられるはずの大根の切れ端などが入ったギョーザが大量に出荷されていた問題で、
この大根を購入した業者のうち1社が、日本向けにギョーザを輸出していたことが10日、
厚生労働省の調査で分かったって・・・。

おいおい、ゴミだよ、ゴミ。ゴミを食べさせるってどうなんだよ、韓国さんよー!!
衛生管理しっかりしろよ!

・「生ゴミ餃子」約20商品全量を回収・廃棄処分へ 中央日報
・「生ゴミ餃子」なぜ人体に有害か朝鮮日報
・韓国で生ゴミギョーザ、日本でも輸入を一時停止 読売新聞



with(list_all["shopName"+i]) {
swfName = _root.shopDATE[swfNum][2];
shopName.text = _root.shopDATE[swfNum][2];
_y += 20*i;
}
とすればlist_all["shopName"+i].shopName.textにはキチンとデータが
入るのでlist_all["shopName"+i].swfNameにもデータが入っていると
思い込んでいたのですがundefindでした。
ちなみに_yはキチンとlist_all["shopName"+i]._yに効いています。
list_all["shopName"+i]では無く記述しているターゲット上にswfNameを
作りやがった。

list_all["shopName"+i].swfName = _root.shopDATE[swfNum][2];
とwith()を使用せずに一応回避。

う〜ん、根本的にwith()の解釈を間違えているのでしょうか?
with(hoge) {
rakeem = "test";
}
だとhoge.rakeem = "test"じゃなく
rakeem = "test"・・・。

今日はこの現象?に4時間位やられていました・・・。
情けない、誰か理解出来るように教えてください。

解決策が思いつかない。
取り合えず
var target = list_all["shopName"+i];
と言うカタチで現状維持。

FLASH-JPで質問した結果、原因が分かったので抜粋します。

with アクション内に変数を設定するには、with アクションの外側で変数を宣言しておくか、
変数を設定するタイムラインへのフ ルパスを入力する必要があります。変数を宣言せずに
with アクションに設定すると、with アクションはスコープチェーンに 従って値を検索します。
変数がまだ存在しない場合、with アクションが呼び出されたタイムライン上に新しい値が設定されま す。

僕のはMCのwithアクションの外側で変数を宣言していなかったのが原因ですね。
かなり初歩的なミスです、これに何時間もかけていたのがあほぅです。
ヘルプをしっかり見ないと駄目と言う事ですね。

withアクションはクセあるらしいのでおすすめされませんでした。
接尾辞が有効なオブジェクトについては、短い変数名に代入した方が、コードヒントも使えて便利と
教えてもらいました。

_mc = rakeem.rakeem2;
_mc.swfName = _root.shopDATE[0];

参照:FLASH-JP with()について。



配列アクセス演算子とeval()を使用したパスの指定。

配列アクセス演算子[]は、ターゲットパスのドット(.)アクセスの替わりに用いられて
ストリングでインスタンスを指定できるところ。
ドットアクセスにはストリングが使用出来ないので
_root.mc_1にアクセスするとして
_root."mc_"+1 // ドットアクセスではスクリプトエラー
_root["mc_"+1] // 配列アクセス演算子でgood!
eval("mc_"+1) // eval()で評価してgood!

これが
_root.mc_1.mc_2にアクセスになると
_root.mc_1."mc_"+2 // ドットアクセスではスクリプトエラー
_root.mc_1["mc_"+2] // 配列アクセス演算子でgood!
_root.mc_1.eval("mc_"+2) // eval()で評価しても駄目

配列アクセス演算子[]をパスの参照のために使う場合には、ドット(.)アクセスと同様、
その前にターゲットパスが必要です。もしターゲットパスが無い場合は
パスの参照でなく、配列(Arrayオブジェクト)としてまったく違う意味に扱われるので気をつけます。
で、その前のターゲットパスが無い場合でストリングでアクセスしたい場合はeval()を
使うと良いと思ったりします(間違っていたらすいません)。



好きなスケーターでも書いておこうかなと。
Eric Kostonが好きです、はい。
スタイリッシュじゃないけどなんでもしてくれそうなのが良いです。

koston052.jpg

アップカマーだとP.J.LADD。
まぁ、スケボーがマイナーなんで皆さん知らないと思います。

pj.jpg



じめ〜っとした日が続くと思うと憂鬱です。

暑がり体質なのでこの時期は嫌いです、大嫌いです。

本当に嫌いです。

最近のジメジメにうんざりです。

ipod.jpg
※僕のipodも充電されながらぐたっています。



日産:マーチタウン

march.jpg

non-grid designが製作をしたサイト。
このサイトは少し間が長かったりするけど見せ方が大好きなサイトです。
コンテンツにカーソルを乗せると全体のイメージにガウスがかかる感じになるんだけど
コンテンツによってはガウスの色合いが違う。
窓から遠い箇所?は暗い感じみたいな。
すごいこだわりだと思うね。
しかもストーリーになっていて全てのストーリーを観たくなる。
うまいよな〜・・・。



createEmptyMovieClip()、attachMovie()とかで生成するMCの
存在の有無の判定を今までは

// ボタンメソッド
bt_mc.onRelease=function() {
if(!this.flg) {
// MC生成処理
this.flg=!this.flg;
}
// MC removeMovieClip()する時
_parent.bt_mc.flg=false;
this.removeMovieClip();

こんな感じにしていたんだけどよく考えれば
生成したMC自体をを判定処理に使えば良かったのでは?
と思い試しに_root上にtestと言うMCを配置してみました。

// _root1フレーム目
if (test) {
trace("hoge = "+test);
}

結果:_lebel0.test

ブーリアンでtrueと返ってくるのかと思っていたのだけど
ターゲットパスで返ってきてくれました。
もちろんnullでもundefindでも無いので判定処理に
使えると言うことが判明しました。
もっと早くに気づいておけば・・・、恥ずかしい。



HULK // MODERN EVOLUTION OF THE HULK

hulk.jpg

初代から現在までの超人HULKのコミック本、本、ゲーム、キャラクターなどを
観れるサイト。

HULKのメインサイトよりこっちのデザイン、動きの方が好きなんだよね・・・。

Universal Pictures - The Hulk -

hulk2.jpg



9月にリリースするWindows XP Service Pack 2で
マイクロソフトがインターネット・エクスプローラーへいくつかの
新しいセキュリティを導入するらしいです。
そのひとつがデフォルトでポップアップがブロックされる
ポップ・アップブロッカーらしいのですがこれはFLASHを
使うクリエイターには痛いですね・・・。

window.open()の使用が出来なくなるらしいです。
現在はwindow.open()に代わる手段が無いらしいです。
これからどうすればよいのでしょうか・・・。
誰か早く新しいソリューションを発見してくれないかな。

参照:vas-animatum



Section7

section7.jpg

変わったナビゲーションのサイト。
シアトルにあるデザイン会社でウェブサイトからポスター、ロゴまでマルチにこなしています。
WORKSのサムネイルの動きも良い感じです。
ただ製作したウェブサイトへのリンクが無いのが残念・・・。



仕事で関数から戻り値をハッシュで返そうとしていたのですが、
うまく返ってくれなくて悩んでいたのですが調べてみると

return;
ストリング、数値、配列、またはオブジェクトで、これを'function'の値として評価して返します。
この引数は省略することができます。

と書かれていました。
ハッシュでは戻せないのですね、今までハッシュで戻す事なんて
無かったから知らなかったです、いつもストリング、数値、配列位だったので・・・(w。
で、配列で戻すのもあとあとチェックが面倒なので新しくオブジェクトを生成して
オブジェクトにプロパティとしてデータを持たせる事で回避した。
うっかりわすれてしまいそうなのでメモ。

newDates=new Object(getDate(this.dates));

function getDate(DATE) {
newDates = new Object();
newDates.test = test[DATE];
newDates.test2 = test2[DATE];
return newDates;
}

こんな感じにした。
でもこれより良い方法がありそう・・・。

参考:野中文雄さんの Macromedia Flash非公式テクニカルノート return

FLASHのヘルプにもチャンと書いていた・・・(w

説明
ステートメント; 関数から返される値を指定します。return アクションは、expression を評価し、
その結果をアクションが実行される関数の値として返します。
return アクションは、関数の実行を停止し、関数を戻り値で置き換えます。
return ステートメントを単独で使用したときの戻り値は null です。

複数の値を取得することはできません。 複数の値を取得しようとした場合は、
最後の値だけが返されます。 たとえば、次の例では c が返されます。

return a, b, c ;

で、複数に渡る時には配列、オブジェクトで持たせないと駄目だと理解しました。

追記:
サンプル関数
// ------------------------------------
// 整数変換関数
// 定義:mathFloors();
// 引数:arguments変数に格納するので何個でも返す
// 戻り値:arguments | 配列で返すので受け取りは変数
// ------------------------------------
function mathFloors() {
for (var i=0;i arguments[i] = Math.floor(arguments[i]);
trace(arguments[i]);
}
return arguments;
}



FLASHで透過イメージの重ね合わせは12枚が限界で
下から順番にイメージが消えていくらしいです。
衣装合わせのアプリケーションとかを作る時に制限があると
言うことですね、まぁ12枚を重ねる事はそうそう無いと思いますが
メモと言う事で・・・。


Macromedia Flash テクニカルノート一覧

Macromedia Flash Support Center



TELMOLINDO

TELMOLINDO.jpg

このサイトのイラスト、デザインはアート的ですね。
圧巻です、私には作れないセンスです。
エロティシズムを随所に取り入れていて好きです。
Matthieu Appriouと言う方の作品なのかな?



loadMovieしたファイルを任意のフレームから再生
と言うのを良くみんな知りたがるので。
簡単なサンプル。
外部ファイルをロード完了するまでにgotoAndPlay()を実行できないので
onClipEvent(data)を使ってロード完了を検知後に任意のフレームに移動する
ようにする。

AS 1.0 ver

// buttonメソッド
for (i=0;i<4;i++) {
this["bt_"+i].onRelease=function() {
loadMC.loadMovie("1.swf","post");
_root.loadFrame=this._name.split("bt_")[1]*10;
}
}

// loadMCアクション
onClipEvent(data) {
if (this.getBytesTotal() <= this.getBytesLoaded()) {
this.gotoAndPlay(_root.loadFrame);
}
}

サンプルファイル



デザインにおいて間と言うのは必要不可欠だと思う。

間と言うのはアニメーションで言えばタメ、
レイアウトではマージン。

すごい大事だと思う。

アニメーションのタメとかすごい重要、FLASHのアニメーションの時に
いつも気を使う(全然駄目だけど)。
環境によってその間が変わらないようにするのは難しい・・・。
setInterval()での間は環境に依存する気がする。

レイアウトのマージンとかも最近自分でHTMLを組む時には機械的に
マージンは15px、20pxとかのキリが良い数字で収めてしまったりしてしまう
からそこら辺をもう少しこだわっていきたい。

何が言いたいかと言うと、もっとコダワレ!おれ。
と自分をやる気にさせる為に書いた。



プレゼン段階のFLASHを制作しているのだが仕事の進め方に納得が行かない。
やはり飼われるのには向いていないのか?

プレゼンの段階で結構な作り込みを要求され、その割にはコンセプトも
何も無い。
で、ある程度出来てからコンセプトみたいなものを言われる。
しかもクライアントならまだしも打ち合わせに行った社長に言われるって。

おいおい、それは早く言うべきだろうと。

プラスおれが理解していろよ的な事言われてもだね、キチンと伝えろと。
伝えていないのに理解出来る能力がおれにはありません。
クライアントが何をしたいのか何を目的なのか見えないので。

で、なんでも良いからと言いつつある程度出来てから色々言われる。
はぁ、ワンマン社長はだるいな・・・。女社長だからか?

もう少しプロジェクトの制作にかかる日数等を計算して欲しい。
と言うか簡単に考え過ぎと感じる、そらエエものできんで・・・。

だっておれのやる気無いし。

駄目じゃん、おれ。

はぁ、早く転職しよう。



(mt) Media Temple - Web Hosting Service

mt_server.jpg

このレンタルサーバ会社のサイトって日本では考えられない位
デザインクオリティが高いです。良い具合にFLASHを使用していて
レイアウトも秀逸だと思います。
何よりFLASH COMMUNICATION SERVERのレンタル料が月15ドルって言うのが
すごく興味あります。
英語が理解出来るなら間違いなくレンタルしています。

どなたかこの会社でレンタルしている人いないのかなぁ、使い勝手を知りたいよ。



FLASH OOP
Flash OOPJapan (著), 株式会社バスキュール (著)

flash_oop.jpg

「オブジェクト指向プログラミング言語としてのActionScriptをここまで詳細に扱った書籍は、
おそらく日本語では初めてでしょう。」と野中文雄さんが言っておられます。

これは買いでしょう、題材がマニアックなので部数も少ないらしいので・・・。
表紙に大きく中村勇吾と書かれているのでかなり気になります!!

発売日が2004年6月15日、16日のどちらかだと思います。

*OOP:オブジェクト指向プログラミング

結局FLASH OOPをAmazonで予約しました。
最近本を購入したので控えようとしたのに物欲に負けました。
貯金をしないとだめなのに・・・。

nisshi.yugopにご本人が書かれていたのですが内容に関しては何も参加してないらしいです。
流し読みして帯の言葉を寄せたらしいです。

ちょっと残念。



 受かったらエエのにと思っていた会社から内定の通知が来ました。
これはかなり嬉しいね、次は長く勤めようと思います。
定職に着くのが苦手な人なのですが・・・。
今度の会社はデザインに関しての観点が鋭く、自分のスキルを磨けると
確信しています。ステップアップをするぞぃ。

で、後は給与面とかいつから働けるかの具体的な話をしなければ。
今の会社は中途半端に案件があるから引継ぎが今月中に終わるかどうか・・・。
それが悩みの種です。はい。



lechateau

lechateau.jpg

多分アメリカとカナダにあるショップのオンラインショップ。
オールFLASHで作られたサイトで良く出来ていると思います。
こういったインターフェイスの構築にはGUIの知識がいると思うのですがどうなんだろう。
デザインを良く、且つ使いやすいサイトって難しい。
このサイトは少し使い勝手がわかりにくいかも。
けどこれからのオンラインショップの方向性の一つだと思います。