2011.09.16 | 

こんばんはムーチョ改めジョーになりそうなムーチョです。
残暑の厳しい週でしたがみなさんいかがお過ごしでしょうか?
今日もCinderネタで行こうと思ったのですが、
お仕事中に「あれ?どうやるんだっけ?」となり、
また忘れそうなのでメモ。

Flashでグラデーションマスクをかける方法です。
本来のやり方なら、ActionScriptを使うんですが、


mc.cacheAsBitmap=true;
maskmc.cacheAsBitmap=true;
mc.mask=maskmc;

俺はタイムライン派なんだぜっ!
という兄貴なやり方を。

(続きを読む...)

2011.08.29 | 

やぁ、どうも。kaminalyです。
Flashの設定について、今日気がついた事があったのでメモメモ

Flashのパブリッシュ設定→スクリプト(ActionScript 3.0)設定にある、
ステージのインスタンスを自動宣言のチェックについて。

以前は、チェックした場合、
たとえばHogeクラスをリンケージで関連付けたムービークリップの中のオブジェクトに名前をつけると、
自動宣言してくれるので、定義をしなくてもコード内で急に使えて、
逆に、定義していないと気持ち悪いと思って定義すると、コンクリフトエラーが出ました。
しかし、CS5の環境ではどうやら改善されているようです。
定義しても、コンクリフトエラーが出なくなっていました。


package
{
	import flash.display.Sprite;

	/**
	 * ...
	 * @author kaminaly at SHIFTBRAIN
	 */
	public class Hoge extends Sprite
	{
		//ムービークリップないのオブジェクトにfugaと名前を付けた場合
		//public var fuga:Sprite;//定義してもコンクリフトエラーにならなくなった。

		//連番で名前をつけたい時、自動宣言しない場合すべて定義が必要だけど、
		//public var fuga_0:Sprite;
		//public var fuga_1:Sprite;
		//public var fuga_2:Sprite;
		//public var fuga_3:Sprite;
		//public var fuga_4:Sprite;
		//非常に面倒。
		//同じ機能なのに、連番オブジェクトの数が違うHogeが複数必要だったりすると
		//Fugaもクラス化してループで生成するとか、手間が増える。
		//自動宣言だと定義しなくてOKなので、かなり楽。
		//定義していない変数が急に使えるのは気持ち悪かったり、
		//補完が効かないのは変わらないけど、ササっと片付けたい作業の場合はかなり有効。

		public function Hoge()
		{
			//定義しなくてもfugaにアクセスできる。
			fuga.alpha = 0.5;

			//補完とか効かせたい場合は、
			//public var _fuga:Sprite; とか別の名前で定義して
			//_fuga = Sprite(getChildByName("fuga"));
			//とかで対応してたけど。ムダが多かった。
			//今は必要な分だけ、定義してあげれば良い。
		}
	}
}

クラスベースで作っている人にとっては、チェックを外して作る方が自然だったけど、
Flashで素材をあらかじめ用意して作りたい場合チェックを入れていた方が楽なので
お手軽に制作時間の削減が出来る。もちろんケースバイケースですが。

前はチェック外して作業してたけど、今はチェック入れた方が良くなってた。
が、一つ注意点があります。
Loaderなどで外部swfを読み込む場合、読み込まれるswfにリンケージ素材があり、
読み込む側でも、そのクラスを知っている(読み込んでいる)と、
ApplicationDomainを指定しない限り読み込む側のクラスが主なので、
読み込む側では定義がないのに、読み込んだ側が勝手にfugaを作ろうとするってんでエラーがでます。
その場合は、ちゃんとクラスに定義してあげる必要があります。

2011.08.04 | 

こんにちわ
Devjamのコータローです。

先日、IEでどうしてもheightが100%にならず
ハマっていたのですが、ただ要素に100%にしただけでは
100%にならないことをすっかり忘れていたのでメモしておきます。

IEでは親要素の高さの100%という解釈なので
親要素にも100%を入れなければなりません。
ですのでページ分の高さをとるならば
htmlタグとbodyタグにheight100%を当てなければなりません。


html, body{height:100%;}

p {
    height:100%;
}

また、上記の事を調べているときに
IEでのfloat時のmargin2倍問題の解決方法も
見つけたのでメモしておきます。

IE6では float:left;とmargin-leftを同時に
指定するとmarginが、2倍になってしまいます。
逆にfloat:right;とmargin-rightを指定しても
同じく2倍になります。
今まではmarginの代わりにpaddingを指定したり
floatとは反対側のmarginで対処していたのですが
float時にはwidthも指定するので、paddingだと幅の計算が面倒だったり
デザインによっては、反対側のmarginでは対応できない場合もあります。

理由はよくわかりませんが、floatとmarginを
指定している要素にdisplay:inline;を入れると
2倍問題も解決し、モダンブラウザでは、floatしている要素の
displayの指定を無視するので問題ないようです。


p{
    float:left;
    width:80px;
    margin-left:20px;
    display:inline;
}

以上、コータローでした。

2011.07.23 | 

こんばんは。ムーチョです。
このところCinderにさわれてないんですが、
そんな中UPDATEが来ました。
アップデート詳細はこちら。
http://libcinder.org/blog/posts/5_cinder-083-released/

試したい目玉機能は
■Triangulation API

塗りつぶしが簡単にできるようになった?

■Parallel Transport Frame

まったく謎な機能

その他目を引いた機能は
・折り返しのできるテキストボックスができた。(日本語はどうだか未確認・・・)
・テキストボックスにフォントを指定できるようになった。(日本語はどうだか未確認・・・)
・Path2dとShape2dを曲線に分割できるようになった。

そんなCinderのダウンロードはこちらから。
http://libcinder.org/download/

いつダウンロードできるやら・・・

2011.07.21 | 

こんにちは。kaminalyです。
今日は、ツイッターの検索でハマった件についてメモメモ。

ハッシュタグ+日本語のワードで検索した結果を使いたいんだけど、
以外とうまくいかなかったのです。

ハマりポイントは、
「ツイッタの検索エンジンは日本語のインデックスに癖がある」
「ツイッタの検索窓と、apiでは挙動が違う」
の2点です。

(続きを読む...)