2008年12月アーカイブ

ちょっとハマったのでメモ。
表示リスト上のオブジェクトを一斉に削除しようとして↓みたいな感じで書いたら

function removeDisplayList(container:DisplayObjectContainer):void
{
	for (var i:uint=0; i < container.numChildren; i++)
	{
		container.removeChildAt(numChildren - 1);
	}
}

なんかへんな消え方する。
なんとなく規則性があるんで trace してみたら、リスト番号が一つ飛ばしにremoveされてる。なんでじゃー?と思って調べてみたら条件文に numChilren 直接いれちゃうと、削除していくそばから numChilren 自体が減ってっちゃうからだった。考えてみればそうだ、確かに。
ということでfor文の前で一旦総数を変数に保存しとけばいい、ていうまた素人な感じ。

function removeDisplayList(container:DisplayObjectContainer):void
{
	var num:int = container.numChildren;
	 for (var i:uint = 0; i < num; i++)
	{
		container.removeChildAt(numChildren - 1);
	}
}
やれクロスブラウザだ、DHTMLだ、とネスケと格闘し続けたトラウマから、どうもCSSやJavaScriptに抵抗を感じる世代。

CSSはさすがに、xhtmlだー、脱tableだー、ユーザビリティーだー、と騒々しくもまっとうな、Web界隈の流れに逆らわずキチンと乗ってきたけど、JavaScriptもアツいですねぇ、いろいろと。

で、このjQuery。知ったのはそこそこ前ですが重用し始めたのは最近です。
ActionScript的に解釈して、これってTweenerやん、というところからめっちゃ気分的にハードル下がった感じ。DHTML時代は大変だった動きとか、簡単にできちゃうのですごい面白い。

そんなこんなで今日使ってみたのはページ内をスクロールするプラグイン。
interface.jsを最初試したんですがこれSafariだと動かないっぽい。でもってそのあと見つけたscrollTo.jsはこれほんとTweenerっぽい使い方出来てイイ。

実装の仕方も色々あるみたいで結構悩んだけどTRIPLEXXXさんの手法が一番いいと思った。

ますます、jQueryって「これやるんならFlash使えばいいじゃん」みたいな部分と、でもSEO対策共存できるよ、みたいな部分でせめぎ合いつつも、これからもっと理解していく必要があるなぁ、と思った次第。

ちなみにmooToolsもよさげ。

image_saishunkan.jpg

再春館製薬所さまの採用情報コンテンツの一部リニューアルをお手伝いさせていただきました。

既存のコンテンツへの導線見直しに伴う、TOPページのリニューアルやページ追加という案件で、デザイン、htmlテンプレート、Flash実装まで担当させて頂きました。

関係者の皆様、ありがとうございました。

リンケージ設定したライブラリ内のMovieClipを動的にドバッと生成した場合の、任意のMoveClipインスタンスを特定してやる方法。

意外に、ドンピシャで答えてくれてるブログとかが少ないのは、すなわち自分の理解度の低さを物語っているのだろうと涙目でエントリ。

仮にリンケージ名"Block"と名付けたMovieClipを、
横4列、縦3行に並べて、そのなかから特定のMoveClipを探すとする。

// "Block"の天地サイズ、縦横60
var w:uint = 60;
var h:uint = 60;

// 生成するインスタンス名
var block:MovieClip;

// 生成したインスタンスに割り振るID
var id:uint = 1;

for(var i:uint = 0; i <= 2; i++)
{
	for(var j:uint = 0; j <= 3; j++)
	{
		block = new Block();
		addChild(block);
		block.x = j*w;
		block.y = i*h;
		block.name = String(id);
		id++;
	}
}

/*
blockのname変数に、1から始まるidが振られているのを手がかりに
例えば2段目の左から2番目、つまりidでいうと6にあたるMovieClipを特定
*/

var target:MovieClip = MovieClip(getChildByName("6"));
target.alpha = 0;

このアーカイブについて

このページには、2008年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年11月です。

次のアーカイブは2009年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。