<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>blog.grayash.com &#187; Flash</title>
	<atom:link href="http://blog.grayash.com/archives/category/web/flash/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.grayash.com</link>
	<description>Webデザイナーによるブログ。日々勉強</description>
	<lastBuildDate>Fri, 29 Oct 2010 20:59:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.grayash.com/archives/category/web/flash/feed" />
		<item>
		<title>ケータイFlash勉強会に参加してきました</title>
		<link>http://blog.grayash.com/archives/665?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2582%25b1%25e3%2583%25bc%25e3%2582%25bf%25e3%2582%25a4flash%25e5%258b%2589%25e5%25bc%25b7%25e4%25bc%259a%25e3%2581%25ab%25e5%258f%2582%25e5%258a%25a0%25e3%2581%2597%25e3%2581%25a6%25e3%2581%258d%25e3%2581%25be%25e3%2581%2597%25e3%2581%259f</link>
		<comments>http://blog.grayash.com/archives/665#comments</comments>
		<pubDate>Thu, 13 Mar 2008 14:54:08 +0000</pubDate>
		<dc:creator>suniti</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.grayash.com/archives/665</guid>
		<description><![CDATA[2008/03/13（木）六本木ヒルズ20階 KLab株式会社さんで「ケータイFlash勉強会」に参加してきました。 講師をしてくださった3名は水玉製作所さん。 仕事で一度だけケータイFlashのコンテンツを作ったことが [...]]]></description>
			<content:encoded><![CDATA[<p>2008/03/13（木）六本木ヒルズ20階 KLab株式会社さんで「ケータイFlash勉強会」に参加してきました。<br />
講師をしてくださった3名は水玉製作所さん。</p>
<p>仕事で一度だけケータイFlashのコンテンツを作ったことがあるのだけど、特定端末でビデオメモリ不足で画像が出なかったりと色々苦戦しました。そこでこの勉強会が開催されるとのことで上級編（Flash作ってる人向け）に参加しました。</p>
<h2>パブリッシュについて</h2>
<p>Flash4はFlashLite1.1とほぼ同等。ただし、FlashLiteは携帯特有のASが付随していると考えればよい。<br />
CS3があるならデバイスなんちゃら（携帯の端末でテストできるあれ）を使うのがいいが、持ってない人はFlash4で作って行くのが良いよ。</p>
<p>フレームレート7~12fpsで制作するのがいい。12fpsで問題ないが一部端末でつらい場合があるのでセーフティは7fps。<br />
画面解像度は240＊240。ただしこれはセーフティーなサイズなので、コンテンツによって変えるといい。</p>
<h2>FlashLite1.xならではのスプリクトの書き方</h2>
<p>携帯端末はreleaseのアクションはとれないので全てpressにする。<br />
携帯端末は押す動作しかなく、マウスのように離すことは無いためpressを使うこと。<br />
ただし一部端末ではreleaseでも取れることがある。</p>
<p>FlashLiteは配列が使えない。オブジェクトも使えない。</p>
<h3>変数制限について</h3>
<p>変数宣言のvarは認識できないので使わない。<br />
読みづらくなるので変数名をわかりやすくしないと...</p>
<h3>ドットシンタックスは使えない</h3>
<p>AS2.0では基本的なドットシンタックスによる指定ができない。</p>
<blockquote><p>image.gotoAndPlay(1);</p></blockquote>
<p>上記の指定だとシンタックスエラーが出るので下記の方法でやる。</p>
<blockquote><p>
tellTarget("image"){<br />
gotoAndPlay(1);<br />
}
</p></blockquote>
<h3>テキストフィールドについて</h3>
<p>AS2.0だとテキストフィールドでもインスタンス名を入れるが、FlashLiteだとインスタンス名を入れるとエラーが出るので、変数名で指定する。</p>
<h3>文字列の連結</h3>
<p>AS2.0だと＋で文字列の連携ができるが、FlashLiteだと連結することが出来ない。</p>
<blockquote><p>
tellTarget("image"  + 1){<br />
gotoAndPlay(1);<br />
}
</p></blockquote>
<p>上記の記述だとエラーが出るので下記のようなaddを使って文字列の連結を行う。</p>
<blockquote><p>
tellTarget("image" add 1){<br />
gotoAndPlay(1);<br />
}
</p></blockquote>
<p>MC名にforで回した変数を追加して”mc01”、”mc02”といった指定をする場合はこれで行う</p>
<p>さらに「==」は「eq」に置き換わる。これも注意。</p>
<h3>FlashLite1.xだとfunctionが使えない</h3>
<p>functionは無理だがcallでそれっぽいことができる<br />
<strong>call(2);</strong></p>
<p>これで2フレームに書いてあるasを呼び出すことができる！（フレーム名じゃなくてラベルでも呼び出せる）<br />
asのみの動作であって、2フレーム目に書いてある画像などは呼び出されない。</p>
<p>ただし、引数は持っていけないので引数っぽいことがやりたければcallを呼び出す前にグローバル変数に引数（戻り値）も入れてしまうといい。さらに呼び出した先のフレームの最後でグルーバル値に値を入れると戻り値っぽいことができる（若干トリッキーだが。</p>
<h3>#include はFlash4でも使える</h3>
<p>なのでcallをたくさん使うならincludeを使ったほうが管理しやすいよ。<br />
ただし！呼び出されるたびにコードが展開され容量を喰うので何度も同じコードを呼び出す場合はキツイ...<br />
携帯で容量を喰うのは痛い。程度によってはcallを使うか、そもそも関数を使わないように組むのがいいかな。</p>
<h2>携帯案件で折れ線グラフを作ってみた結果、気がついたことを</h2>
<p>AS2.0であれば、ポイントからポイントまでLineToで線を引けばいいが、FlashLiteではLineToが無いので線をあらかじめ書いたMCを移動、回転、伸縮させて表示している。</p>
<h3>Tips</h3>
<p>_width,_heightは機能しない機種（一部）がある<br />
解決方法はサンプルデータが公開されてから追記します。</p>
<h3>参加者からの質問</h3>
<p>	　</p>
<p><strong>テキストフィールドの位置を動的に動かしたい場合は？</strong><br />
テキストフィールドにインスタンス名を書く事ができないからそのままだと動かせない。<br />
MCの中に入れればMCごと移動できるかな？</p>
<p><strong>自動的なローディングはできない？</strong><br />
何かをさせつつ裏でロードするということができないので、ロードするにもユーザーにクリックを強いてしまう。<br />
クリックを感じさせない設計ならいいんじゃね？</p>
<h2>容量を押さえる、スムーズに動かすには。</h2>
<p>ビデオメモリは1M〜2Mの間が多い、この間で画像が出なかったりする。<br />
フォントは明朝体よりもゴシック体、さらにデバイスフォントのほうが軽い。<br />
デバイスフォントは汚いが、PCと端末で入ってるフォントが違うのでPCよりは読みやすいものがでるよ。（端末のメニューとかで使ってるし）<br />
フォント選びは慎重にすること。<br />
また、パスの場合も多くなってくる重くなる。が、落ちることも無い（画像の場合は落ちる）ただし、極端な場合は表示すらされないこともある。</p>
<h2>音の差異</h2>
<p>mmf,midiファイルを与えないと音が鳴らせない。（PCでは確認できない<br />
音を鳴らすためのルールが3キャリアで違うので、別途でやらないとダメ。<br />
ピアノの音源であれば、端末の差があまりでない（ピアノはピアノの音色になる）<br />
その他の音源（シンセ）とかだと端末によってドラムになったりするらしい。<br />
正直、音の入ったコンテンツは音の専門家が居ないと作れないと思われる。</p>
<h2>フォントの差異</h2>
<p>容量の関係で_ゴシックを使う機会も多くなるので注意したほうがいいよ。<br />
フォントは12pxで１２文字（７、８文字）で作るのが一般的。<br />
８、１６、は12pxと同じサイズで表示されたり危ない。Softbankだと8pxが米粒に。<br />
最悪はアウトライン化して出力。</p>
<h2>ベンチマーク</h2>
<p>DoCoMoの端末は早い！また遅い機種も無い！<br />
AUの端末は基本的に遅い。一番早い機種でDoCoMoの中で真ん中ぐらい。遅い端末はDoCoMoの２倍以上かかることも。<br />
表示速度をしっかり得るには、早い端末、遅い端末の間をとって制作するのがいいね。<br />
このベンチマーク結果はあとでもらえるとのこと。太っ腹すぎる。<br />
FlashLiteに対応していない端末は30%ぐらい。</p>
<h2>ボタンのフォーカス</h2>
<p>基本的にY軸上、上から下へフォーカスがかかっていく。<br />
同じ軸上にある場合は左からフォーカスがかかる。</p>
<h2>データの保存</h2>
<p>クエリをつけてGETで送る。これには特に注意点は無い。</p>
<h2>再生中に電話やメールといったことがおきると</h2>
<p>基本的にはブラウザの操作なので注意点はとくになし。ブラウザごと一時停止する。<br />
待受けの場合は携帯を閉じるときにデータを保存することができる端末もある（すべてじゃない）</p>
<h2>結論</h2>
<p>セーフティな書き方でFLashを作ることはできるが、やっぱり実機での動作環境は必須</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grayash.com/archives/665/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.grayash.com/archives/665" />
	</item>
	</channel>
</rss>

