flash

まとめてリンケージとリンケージ解除

たくさんリンケージする時、手動だと面倒なのでjsflでパパパッと済ませてしまおうというメモ。

参考1:リンケージの設定を自動化する | tanablog
上記のソースだとHOGE+連番なので
任意の接頭語+連番になるように少し書き換えて.jsflとして保存

こんな感じ。
[js]var library = fl.getDocumentDOM().library;
var items = library.getSelectedItems();

//prompt("表示されるメッセージ", "入力されてる文字")
var myprefix=prompt("prefix", "test")

for (var i = 0; i < items.length; i++) {
//actionscriptに書き出し
items[i].linkageExportForAS = true;
//最初のフレームに書き出し
items[i].linkageExportInFirstFrame = true;
items[i].linkageIdentifier = myprefix + i;
}[/js]

ライブラリの名前を活かしてリンケージさせるならこんな感じ?
[js]var library = fl.getDocumentDOM().library;
var items = library.getSelectedItems();
var myprefix=prompt("prefixを付けるなら入力", "test")

for (var i = 0; i < items.length; i++) {
items[i].linkageExportForAS = true;
items[i].linkageExportInFirstFrame = true;
items[i].linkageIdentifier = myprefix + items[i].name;//ここを変更
}[/js]

リンケージを解除するjsfl[引用]

[js]var library = fl.getDocumentDOM().library;

library.selectAll();
library.setItemProperty("linkageExportForAS", false);
[/js]

プロンプトでラジオボタンみたいなのを表示させて処理を分岐させるにはどうしたらいいんだろう。

参考2:Flashの拡張機能(pdf)

使い方メモ

[コマンド] – [コマンドの実行]からか
作成した.jsflを以下に保存するとツールバーのコマンド内に出現する

xpの場所
[text]
C:\Documents and Settings\[ユーザ名]\Local Settings\Application Data\Adobe\Flash CS3\ja\Configuration\Commands
[/text]
参考3:jsflのすすめ – yama-ko.net blog

モーショントゥイーンで回転をループさせると、最初と最後のフレームが被るっしょ?

みなさんこれどうやって対処してるんですかね?

[image]オニオンスキン

まず、どういう現象で困っているかというと

1 / モーショントゥイーンでただ回転させると
1フレーム目と最終フレームが同じ位置なので一瞬モタつく
[swfobj src=”http://blog.sakurachiro.com/wp-content/uploads/2010/11/index.swf” width=”480″ height=”297″ align=”none”]

続きを読む

AS2 / attachMovieした要素にアクセスする時

綺麗な書き方じゃないってのと、今更AS2ってのはわかってるけどメモ
[as3]
for (var i = 1; i<=thumbmax; i++) {
this["thumb"+i].num = i;
this["thumb"+i].onRelease = function() {
if (flag == "off") {
_root.container_dummy.attachMovie("container", "container", 1);
_root.container_dummy.container.photo_root.attachMovie("p"+this.num, "photo", 2);
_root.flag = "on";
//
_root.container_dummy.container.photo_root.photo.x_button.onRelease = function() {
if (flag == "on") {
remove();
}
}
}
}
}
[/as3]
_root.container_dummy.container.photo_root.photo.x_button.onReleaseとか長すぎる。
こんな風にすると短く指定出来た(5~6行目あたり)

[as3]
for (var i = 1; i<=thumbmax; i++) {
this["thumb"+i].num = i;
this["thumb"+i].onRelease = function() {
if (flag == "off") {
var at_c = _root.container_dummy.attachMovie("container", "container", 1);
var at_p = at_c.photo_root.attachMovie("p"+this.num, "photo", 2);
_root.flag = "on";
//
at_p.onRelease = function() {
if (flag == "on") {
remove();
}
}
}
}
}
[/as3]

swfを背景にする

demo|swfを背景にする

swfはcssのbackgroundで指定しても背景にならないけれど、背景ぽく見せる方法メモ。

躓いたところ
swfがobjectのwidth、height100%で縦横100%にならなかった
cssでwidthとheightを100%指定して解決
動画のfitのさせ方(対策は後述)

html
[html]
<object type="application/x-shockwave-flash" width="320" height="240" title="title" data="swf/mov.swf">
<param name="movie" value="swf/mov.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" /><!– Flashを下に –>
</object>
<div id="contents">
<p><img src="img/menu.png" width="440" height="340" alt="透過png" /></p>
</div>
[/html]

css(すでにresetしているとして)
[css]
body {
overflow:hidden;/*スクロールバーを消す*/
}
object{
width:100%;
height:100%;
position:absolute;
top:0;
left:0;
}
#contents{
position:absolute;
top:50%;
left:50%;
margin-left:-220px;
margin-top:-170px;
}
[/css]

疑問点
z-indexは必要か?
swfとコンテンツの順番によっては必要だった
z-indexなしでswfの前にhtml要素が来る場合swfが上になる。
swf側のz-indexをコンテンツより小さくする。

[css]
object{z-index:0;}
#contents{z-index:1;}
[/css]
swfをフィットさせるためには
AS2|Stage.scaleMode = “noBorder”;
AS3|stage.scaleMode=StageScaleMode.NO_BORDER;
これがわからなくてflvはfitしないのか?なんて諦めかけてた。

http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/display/Stage.html#scaleMode

再読み込み(F5やブラウザのボタン両方)の反応が悪かったり良いことないなぁ

lintに怒られないFlash挿入

[html]
<object type="application/x-shockwave-flash" width="900" height="370" title="title" data="swf.swf">
<param name="movie" value="swf.swf" />
<param name="quality" value="high" />
<p><a href="http://www.adobe.com/shockwave/download/?P1_Prod_Version=ShockwaveFlash&amp;Lang=Japanese">このコンテンツを再生するにはAdobe Flash Playerが必要です。</a></p>
</object>
[/html]

透過させるときは以下も
[html]<param name="wmode" value="transparent" />[/html]

Tweenerの終焉、らしい。

最近スライドショウを作る為にas3を勉強し、その流れで知ったTweener
しかしすでに過去の技術になっていたとは(´・ω:;.:…

wpって自身のblogのエントリーへリンク張る方法用意されてるのかな?
自分のパーマリンクをコピって手動でやったけど、調べてみよう。

開発者のZeh氏のブログで公式なアナウンスの翻訳をしてくれてるblogにトラックバックしてみたんだけど、トラックバックとは、どう表示されるのだろう。

[追記|20090808_02:22]
リンク手動でつけた