[JSFL]ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL

ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL
↑がふとほしくなり、Twitterで聞いてみるも見つからず。
ググってみるも見つからず。
・・・簡単そうだから自分で書いてみたけどよくわからずw

そしたらflabakaさんが作ってくれた!
ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL:flabaka

jsflのソースを読んでみて、convertToSymbol()なるメソッド使えばいいのかと知る。
自分の使いたかった機能としてflabakaさんとことはちょっと違うものにしたので一応公開。

選択したオブジェクトを重なりが下から順に連番でMovieClipに変換。
さらにシンボル名と同じ名前をインスタンス名に設定される。


矩形ツール等で描いたシェイプはそのままではシンボル化できずエラーになる。。。
シェイプは、グループ化しておけばOK。
(プリミティブ矩形ツールで書いたものはそのままでもOK)


var mcName = prompt("MovieClipの名前を指定","parts");
var startIndex = eval(prompt("連番の初期値を指定",0))

var dom = fl.getDocumentDOM();

if (dom.selection.length)
{
	var array = dom.selection;
	dom.selectNone();

	for (var i = 0 ; i < array.length ; i++)
	{
		array[i].selected = true;
		dom.convertToSymbol("movie clip", mcName+(array.length -1 - i+ startIndex),"top left");
		dom.selection[0].name = mcName+(array.length -1 - i+startIndex)
		dom.selectNone();
	}
}


ダウンロード:object2Symbol.mxp

>flabakaさん
勉強させてもらいました!ありがとうございまっす!!

[Windows7][mac osx10.6]win7をサーバー、mac OSX10.6をクライアントでのsynergyによるマウスキーボード共有の設定メモ

win:サーバー(synergy1.3.1)、mac:クライアント(synergyKM)で出来た。

mac側のsynergyKMはGUIで設定可能。
特にAppleScript書かずともログインで自動起動した。
(メニューバーに追加ってのにチェックしたせいかな)

win側の設定では、macのコンピューター名には.localをつける必要なし。
(synergy1.3.1では必要だった)

[HTML5]canvasでの画像読み込みで、縦横サイズが大きすぎる.pngはiPhoneで表示されない?

微妙にはまったのでメモ。
canvasにロードしたimgをdrawImage()する際に、imgの縦横サイズがおおきいとiPhoneでは表示されないという現状に遭遇。
具体的には、2600×1400のpngがだめだった。
がしかし、同サイズのjpgファイルなら問題なく表示される。
ファイルサイズは、jpgの方がおおきいくらいだから関係なさそう。
320×480のpngにしたら表示された。

[CSS3]PIE.htcとjQueryの共存でPIE.htcが利かない場合。

残念なIE様にCSS3っぽく対応してくれるライブラリPIE.htc。
PIE.htcとjQueryを共存した場合に、PIE.htcが利かないときがあった。
原因は読み込みの順番に関係がありそうだった。

これだとだめで、


<script type='text/javascript' src='commons/scripts/jquery.js'></script>
<!--PIE.htcを使ってるCSS-->
<link href="commons/styles/main.css" rel="stylesheet" type="text/css" media="all">

(jQueryのプラグインは機能すれどCSS3っぽい効果はきえる)

これならよかった、が・・・・


<!--PIE.htcを使ってるCSS-->
<link href="commons/styles/main.css" rel="stylesheet" type="text/css" media="all">
<script type='text/javascript' src='commons/scripts/jquery.js'></script>

CSS3は機能したけど、こんどはjQueryのプラグイン(jquery.maximage)が機能せず。。
むむむ

[JS]言語として基礎から復習できるリンクメモ

言語体系的にJavascriptを勉強するためのメモ。

ITpro:DOMから始めるJavaScriptモダン・スクリプティング
・DOMの構造を基礎からおさらい。
→第6回のaddEventListener()使ったイベント定義で、AS3的に書けそう。
→Objectを利用したクラスの考え方

IT戦記:Prototype.js を使った JavaScript OOP 講座 #01
・クラスの考え方をもう少し掘り下げた説明
→prototype.jsを使わない段階での例が参考になる。

HouseTect, JavaScript Blog:jQueryのクラス定義はトリッキーでかっこいいよ
・jQueryでのクラス定義方法の解説
→ひとつ前でprototype.jsの仕組みを把握した上で読むと比較しやすい

JavaScript Index メソッド、プロパティ、関数・リファレンス
・JavascriptのAPI一覧

[CSS][JS]画像をブラウザサイズへのリサイズ処理するの際の注意

JSで画像をブラウザサイズにフィットさせるときの注意。
imgタグのコンテナとなるブロック要素を、position:fixedとしておかないとSafariで横幅がフィットしないみたい。(iPhoneも)
もしくはhtml要素にoverflow:hiddenでもよいみたい。

※position:fixedとするとiPhone、iPadでいろいろ不都合でるみたい。
overflow:hiddenの方が安全かな。

[AS]FlashIDEでのカラー効果→「スタイル:着色」内の各項目をASでコントロールするには?

世の中に記事がなさそうだったのでメモ。
考えればすぐわかりそうだけど、ちょっと迷った。

MovieClipの色変更したいときは、変更したい色情報を持ったColorTransformインスタンスを生成、
DisplayObject.transform.colorTransformに突っ込んであげればよい。


//オレンジ色を四角を生成
var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0xFFCC00);
mc.graphics.drawRect(0,0,100,100);
addChild(mc);

//白くする
var ct:ColorTransform =  new ColorTransform(1,1,1,1,255,255,255,0);
mc.transform.colorTransform = ct;

ColorTransformのコンストラクタに与える引数の各項目に関しては、”FlashIDEでのカラー効果→「スタイル:詳細」”のパラメータと一致する。
(どの項目がどれにあたるかはリファレンス参照)

ところがColorTransformでは「スタイル:着色」にある「濃淡」の項目がまかなえない。(と思う)
では濃淡項目はAS的になんになるのか?

たぶんColorクラスのbreigtnessプロパティと思う。
なのでColorクラスを使う。
Colorクラスは、ColorTransformクラスを継承したクラスなので、同じように設定可能。
以下のようにすればOK。


import fl.motion.Color;

//オレンジ色を四角を生成
var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0xFFCC00);
mc.graphics.drawRect(0,0,100,100);
addChild(mc);

//濃度50%で白くする
var col:Color =  new Color(1,1,1,1,255,255,255,0);
col.brightness = 0.5;
mc.transform.colorTransform = col;

[AS3][?]画像ファイルをEmbedしても正常に表示できないことがある

(まだ、ちゃんと検証してないけど)
FlashCS4で発生した奇奇怪怪な現象。

よく似た画像ファイル2枚をEmbedで埋め込むと1枚しか表示されない。
さらにどっちが表示されるかは、パブリッシュするたびに異なる。

発生した条件。
画像の縦横幅が同じ。
ファイルサイズの誤差が1kb未満
(例:24kbと24.5kbとか)
もちろんこの二つのファイル名は変えてある。

どうもFlash側でこの条件のファイルは同じ画像と認識されてるくさい。
で、結果的には、前のエントリと似たようなことになるんではないかと思う。
あとでちゃんと調べる。

つまりは、IDEでEmbedなんて使うなってことらしい。

[AS][?]画像のEmbedは1回しか使えない?

よくわからんけど、他のクラスでEmbed済みの画像を別のクラスでEmbedしても表示もされなかった。
エラーも出ないから、かなりはまった。
とりあえず、あとで検証する。

[Android]Androidアプリ「RealCircle」リリース

以前wonderflに投稿した一筆書きで描いた真円度を競うゲームをAndroidアプリとしてリリースされました。

RealCircle
OS2.2以上です。

FlashからAndroidへの移植&リリース作業をしてくれたのはボクではなく、 daoki2 さん。
daoki2さんのTwitter
daoki2さんのBlog
移植の際に、スコア共有機能も実装してくれたので全世界で誰が一番正円をかけるかを競えます!

OS2.2以上のアンドロイド持ってるかたは試してみてくださいませ。(有料ですが)
ちなみにボクはAndroidの端末持ってないため遊べず・・・、端末欲しいなぁ。