<?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/"
	>

<channel>
	<title>RIAxDNP</title>
	<atom:link href="http://www.riaxdnp.jp/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.riaxdnp.jp</link>
	<description>eXperience Development by All DNP</description>
	<lastBuildDate>Fri, 27 Aug 2010 06:49:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>【TLF】ハマったポイントと回避方法</title>
		<link>http://www.riaxdnp.jp/?p=963</link>
		<comments>http://www.riaxdnp.jp/?p=963#comments</comments>
		<pubDate>Fri, 27 Aug 2010 06:49:06 +0000</pubDate>
		<dc:creator>maruyama</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[技術情報]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=963</guid>
		<description><![CDATA[TLF（Text Layout Framework）については、これまでもブログ記事にしましたが、
触っていてハマったポイントが幾つかあるので、その解決方法と一緒に紹介します。
　


　
　
１：TLFのIME入力ができない
【現象】
Flash Builder 4.0 に同梱されている AIR のバージョンが 1.5.3 / Flash Player のバージョンが 10.0では、
sparkテキスト（TLFを使ったテキスト）のIME入力（インライン入力）が出来ません。
【回避方法】
縦書で入力を行うようなコンテンツを作る場合は、Flex 4.1 SDKで開発し、
AIR 2.0 / Flash Player 10.1 を対象にする必要があります。
【参考】
「Adobe Tech Note : IME入力が機能しない」
http://kb2.adobe.com/jp/cps/836/cpsid_83672.html
　
　
２：Tabの挙動がおかしい
【現象】
Tab入力したのに、改行される
【回避方法】
FlashPlayer10では、Tabが改行扱いになるようで、
FlashPlayer10.1では、Tab（デフォで48pix）扱いになります。
FP１０でTabを使いたい場合は、下記のようにTabの入力回数毎に、
TabStopFormatを設定してあげる必要があります。
var tabStop1:TabStopFormat = new TabStopFormat();
tabStop1.alignment = TabAlignment.CENTER;
tabStop1.position = 100;
ちなみに、下記のコードでTLFでのTab入力を可能になります。
var config:Configuration = new Configuration();
config.manageTabKey = true;
var textFlow:TextFlow = new TextFlow(config);
【参考】
Adobeフォーラム　「Tab in TLF」
http://forums.adobe.com/message/2552548#2552548
Adobeフォーラム　「TabElement Not Supported with TextLayout Framework」
http://forums.adobe.com/message/2284240#2284240
　
　
３：FlashCS5でTLFを使うと、FlashVarsの値がとれない
【現象】
Flashvarsは、HTMLから埋め込みswfファイルに値を渡すプロパティで、
通常 loaderInfo.parameters で値が取得できます。
しかし、TLFを使ったコンテンツで、かつパブリッシュ設定がデフォルトのままだと、
値が取れなくなってしまいます。
【回避方法】
原因はランタイム共有ライブラリ（RSL）のようです。
まず、TLFテキストを使用するということは「textLayout.swc」ライブラリを利用することになり、
デフォルト設定のままパブリッシュすると、「textLayout_x.x.x.xxx.swz」というRSLファイルとして出力されます。
これによって、本体SWFの容量はスリムになりますが、実行時に”TLF　RSLの読込み”が必要となります。
このTLFのRSLのローディングに問題があり、下記コードで回避できます。
\\通常はこの１行で、Flashvarsの値が取れる
var params:Object = loaderInfo.parameters;
\\追加チェックする
if [...]]]></description>
			<content:encoded><![CDATA[<p>TLF（Text Layout Framework）については、これまでもブログ記事にしましたが、<br />
触っていてハマったポイントが幾つかあるので、その解決方法と一緒に紹介します。<br />
　<br />
<a href="http://www.riaxdnp.jp/wp-content/uploads/2010/08/tlf.jpg"><img src="http://www.riaxdnp.jp/wp-content/uploads/2010/08/tlf.jpg" alt="" title="tlf" width="463" height="249" class="alignnone size-full wp-image-981" /></a><br />
<span id="more-963"></span><br />
　<br />
　<br />
<strong>１：TLFのIME入力ができない</strong></p>
<p>【現象】<br />
Flash Builder 4.0 に同梱されている AIR のバージョンが 1.5.3 / Flash Player のバージョンが 10.0では、<br />
sparkテキスト（TLFを使ったテキスト）のIME入力（インライン入力）が出来ません。</p>
<p>【回避方法】<br />
縦書で入力を行うようなコンテンツを作る場合は、Flex 4.1 SDKで開発し、<br />
AIR 2.0 / Flash Player 10.1 を対象にする必要があります。</p>
<p>【参考】<br />
「Adobe Tech Note : IME入力が機能しない」<br />
<a href="http://kb2.adobe.com/jp/cps/836/cpsid_83672.html">http://kb2.adobe.com/jp/cps/836/cpsid_83672.html</a><br />
　<br />
　<br />
<strong>２：Tabの挙動がおかしい</strong></p>
<p>【現象】<br />
Tab入力したのに、改行される</p>
<p>【回避方法】<br />
FlashPlayer10では、Tabが改行扱いになるようで、<br />
FlashPlayer10.1では、Tab（デフォで48pix）扱いになります。<br />
FP１０でTabを使いたい場合は、下記のようにTabの入力回数毎に、<br />
TabStopFormatを設定してあげる必要があります。</p>
<blockquote><p>var tabStop1:TabStopFormat = new TabStopFormat();<br />
tabStop1.alignment = TabAlignment.CENTER;<br />
tabStop1.position = 100;</p></blockquote>
<p>ちなみに、下記のコードでTLFでのTab入力を可能になります。</p>
<blockquote><p>var config:Configuration = new Configuration();<br />
config.manageTabKey = true;<br />
var textFlow:TextFlow = new TextFlow(config);</p></blockquote>
<p>【参考】<strong><br />
</strong>Adobeフォーラム　「Tab in TLF」<br />
<a href="http://forums.adobe.com/message/2552548#2552548">http://forums.adobe.com/message/2552548#2552548</a><br />
Adobeフォーラム　「TabElement Not Supported with TextLayout Framework」<br />
<a href="http://forums.adobe.com/message/2284240#2284240">http://forums.adobe.com/message/2284240#2284240</a><br />
　<br />
　<br />
<strong>３：FlashCS5でTLFを使うと、FlashVarsの値がとれない</strong></p>
<p>【現象】<br />
Flashvarsは、HTMLから埋め込みswfファイルに値を渡すプロパティで、<br />
通常 loaderInfo.parameters で値が取得できます。<br />
しかし、TLFを使ったコンテンツで、かつパブリッシュ設定がデフォルトのままだと、<br />
値が取れなくなってしまいます。</p>
<p>【回避方法】<br />
原因はランタイム共有ライブラリ（RSL）のようです。<br />
まず、TLFテキストを使用するということは「textLayout.swc」ライブラリを利用することになり、<br />
デフォルト設定のままパブリッシュすると、「textLayout_x.x.x.xxx.swz」というRSLファイルとして出力されます。<br />
これによって、本体SWFの容量はスリムになりますが、実行時に”TLF　RSLの読込み”が必要となります。<br />
このTLFのRSLのローディングに問題があり、下記コードで回避できます。</p>
<blockquote><p>\\通常はこの１行で、Flashvarsの値が取れる<br />
var params:Object = loaderInfo.parameters;</p>
<p>\\追加チェックする<br />
if (parent != null &amp;&amp; parent.parent != null)<br />
{<br />
params = parent.parent.loaderInfo.parameters;<br />
}</p></blockquote>
<p><strong>＊但し、コンストラクタや２フレーム目に書くのは無く、必ず１フレーム目に書く</strong></p>
<p>その他の回避方法として、<br />
１：クラシックテキストを使う（TLFを使わない）<br />
２：:パブリッシュ設定でTLFをコードにマージする（RSLを使わない）</p>
<p>【参考】<br />
Adobeフォーラム 「TFL flashvars bug」<br />
<a href="http://forums.adobe.com/message/2859307#2859307">http://forums.adobe.com/message/2859307#2859307</a><br />
Flash Professional CS5 ユーザーガイド 「TLF テキストを含む SWF ファイルのパブリッシュ」<br />
<a href="http://help.adobe.com/ja_JP/flash/cs/using/WSb03e830bd6f770ee-4b0db644124bbdb363d-8000.html">http://help.adobe.com/ja_JP/flash/cs/using/WSb03e830bd6f770ee-4b0db644124bbdb363d-8000.html</a><br />
Flex3 Help 「フレームワーク RSL の使用」<br />
<a href="http://livedocs.adobe.com/flex/3_jp/html/help.html?content=rsl_09.html">http://livedocs.adobe.com/flex/3_jp/html/help.html?content=rsl_09.html</a><br />
　<br />
　<br />
<strong>４：TLF API で作ったテキストボックスで、日本語入力ができない</strong></p>
<p>【現象】<br />
TLF APIを使って、１から編集可能なテキストボックスを作成した場合、<br />
IMEの入力モードが変更できず、日本語入力ができない。<br />
詳しくは<a href="http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=3851">コチラ</a><br />
（環境によって再現しないかも知れません）</p>
<p>【回避方法】<br />
IMEを有効にするのに IME.enabled = true となる必要があるのですが、<br />
作ったテキストボックスのフォーカス・インのタイミングで確認すると、<br />
false になってますので、下記のように強制的に true にします。</p>
<blockquote><p>function onFocus(e:FocusEvent):void<br />
{<br />
 if(Capabilities.hasIME){<br />
  IME.enabled = true;<br />
 }<br />
}</p></blockquote>
<p>【参考】<br />
FxUG 「TextInput の IME 制御について」<br />
<a href="http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=3867">http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=3867</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=963</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>@IT おばかWindows 7 アプリ選手権レポートが公開されました！</title>
		<link>http://www.riaxdnp.jp/?p=940</link>
		<comments>http://www.riaxdnp.jp/?p=940#comments</comments>
		<pubDate>Tue, 27 Jul 2010 04:27:09 +0000</pubDate>
		<dc:creator>otonashi</dc:creator>
				<category><![CDATA[イベント情報]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=940</guid>
		<description><![CDATA[@IT　Windows 7でも「おばかアプリ選手権」は大爆笑でした
7/10、お台場の東京カルチャーカルチャーで「おばかWindows 7アプリ選手権 決勝戦」が開催され、私たちも決勝戦に参戦してきました！
その決勝戦イベントのレポート記事が、@ITにて公開されましたのでぜひご覧ください。
投稿した２作品はこちらです↓
「おばか Windows 7アプリ選手権」に２作品投稿しました！」

投稿された約60作品の中から、7つの部門において部門賞を獲得した8作品が、最優秀おばか賞をかけてそのおばかっぷりを競いました。
AR三兄弟の川田さん、あの高橋名人やマイクロソフト執行役の大場さんをはじめ、とっても豪華な顔ぶれです。
会場も笑いが絶えず、本当に楽しいイベントでした。
参加させて頂きありがとうございました！
祝「お・ね・が・い、マルチ、タッチ、ここにタッチ♪」部門賞受賞！

]]></description>
			<content:encoded><![CDATA[<h3 id="toc-itwindows-7"><a href="http://www.atmarkit.co.jp/fwcr/design/ux/d89clip18/01.html"><strong>@IT　Windows 7でも「おばかアプリ選手権」は大爆笑でした</strong></a></h3>
<p>7/10、お台場の東京カルチャーカルチャーで<strong>「おばかWindows 7アプリ選手権 決勝戦」</strong>が開催され、私たちも決勝戦に参戦してきました！<br />
その決勝戦イベントのレポート記事が、@ITにて公開されましたのでぜひご覧ください。</p>
<p>投稿した２作品はこちらです↓<br />
<a href="http://www.riaxdnp.jp/?p=845">「おばか Windows 7アプリ選手権」に２作品投稿しました！」</a></p>
<p><span id="more-940"></span><br />
投稿された約60作品の中から、7つの部門において部門賞を獲得した8作品が、最優秀おばか賞をかけてそのおばかっぷりを競いました。<br />
AR三兄弟の川田さん、あの高橋名人やマイクロソフト執行役の大場さんをはじめ、とっても豪華な顔ぶれです。<br />
会場も笑いが絶えず、本当に楽しいイベントでした。<br />
参加させて頂きありがとうございました！</p>
<p>祝「お・ね・が・い、マルチ、タッチ、ここにタッチ♪」部門賞受賞！<br />
<img src="http://www.riaxdnp.jp/wp-content/uploads/2010/07/obakawin7_2.jpg" alt="" title="obakawin7_2" width="240" height="320" class="alignnone size-full wp-image-945" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=940</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Player でファイルアップロードで気をつけるべきこと</title>
		<link>http://www.riaxdnp.jp/?p=908</link>
		<comments>http://www.riaxdnp.jp/?p=908#comments</comments>
		<pubDate>Thu, 17 Jun 2010 05:01:24 +0000</pubDate>
		<dc:creator>dikuta</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=908</guid>
		<description><![CDATA[Flashのサイトで、flash.net.FileReferenceを使ってファイルをアップロードする機能はよく見かけますが、地味だけど致命的になるハマりポイントが幾つかあります。これらの問題は過去にいろんなヒトがぶつかっているのですが、改めて整理してみました。
■ Flash Playerのファイルアップロードの通信は、ブラウザから通信APIを利用していない
アップロードの通信は、Webブラウザからの通信とは違うもの、と考えておく必要があるようです。このため、ieHTTPHeadersやLiveHttpHeadersのようなHTTPヘッダーをキャプチャするツールでヘッダー情報をキャプチャすることができません。

■ FirefoxやSafariで自己SSL証明書のSSL通信でアップロードに失敗する
自己証明書によるSSL通信下でファイルアップロードを行うと、アップロードに失敗します。IEではセキュリティ例外を一度承認してしまえばアップロードできるのですが、SafariやFirefoxでは意図的にサーバー証明書やルート証明書をOSやブラウザにインストールする必要があります。
■ IE以外では、アップロードリクエストに「Cookie」や「Authentification」等のHTTPヘッダーの付加情報が付かない
これもFirefoxやSafari等のIE以外のブラウザの現象です。これで問題になるのは、

セッション保持
ベーシック認証
Cookie-Insert等によるクラスタリング等

です。クラウド上のサーバーを利用するときも気をつけた方が良いですね。
■ Uploadメソッドでは、カスタム HTTP リクエストヘッダはサポートされない
Uploadメソッドでは、URLRequestのrequestHeaders プロパティは無視されるため、HTTPヘッダー情報をアレンジすることができません。
リファレンスより。

URLRequest オブジェクトの requestHeaders プロパティは無視されるため、カスタム HTTP リクエストヘッダはアップロードまたはダウンロードでサポートされません。

■ ネットワーク帯域が細いとき、サーバーレスポンスが遅延するときに、挙動がおかしくなる
ネットワーク帯域が遅いとき、サーバーに負荷がかかっていてレスポンスを返せないとき、ProgoressEventや、DataEventのタイミングがおかしくなることがあります。また、常駐ウィルススキャンソフトが原因のときもあります。
■ Flash Player10からはマルチスレッドアップロードがサポートされていない

Flash Player に追加された新しい機能により、Flash Player 10 にパブリッシュする場合は、FileReference.browse()、FileReference.upload()、FileReference.download()、FileReference.load() および FileReference.save() の中で、同時に実行できる操作は 1 つのみです。複数の操作を実行すると、Flash Player でランタイムエラー（コード 2174）が発生します。進行中の操作を停止するには、FileReference.cancel() を使用します。この制限は Flash Player 10 にのみ適用されます。以前のバージョンの Flash Player については、同時に複数の操作を実行しても、この制限には影響されません。

サーバ側からのCOMPLETEが受け取れないと、次のアップロードを実行できません。
　
Flash Playerのアップロード／ダウンロード機能を使うときは、これらのことに気をつけましょう！！
※Flash Player 10.1で挙動が異なっている点もあるかもしれないので、ご了承下さい。
]]></description>
			<content:encoded><![CDATA[<p>Flashのサイトで、flash.net.FileReferenceを使ってファイルをアップロードする機能はよく見かけますが、地味だけど致命的になるハマりポイントが幾つかあります。これらの問題は過去にいろんなヒトがぶつかっているのですが、改めて整理してみました。</p>
<h4 id="toc--flash-player"><strong>■ Flash Playerのファイルアップロードの通信は、ブラウザから通信APIを利用していない</strong></h4>
<p>アップロードの通信は、Webブラウザからの通信とは違うもの、と考えておく必要があるようです。このため、ieHTTPHeadersやLiveHttpHeadersのようなHTTPヘッダーをキャプチャするツールでヘッダー情報をキャプチャすることができません。</p>
<p><span id="more-908"></span></p>
<h4 id="toc--firefoxsafarisslssl"><strong>■ FirefoxやSafariで自己SSL証明書のSSL通信でアップロードに失敗する</strong></h4>
<p>自己証明書によるSSL通信下でファイルアップロードを行うと、アップロードに失敗します。IEではセキュリティ例外を一度承認してしまえばアップロードできるのですが、SafariやFirefoxでは意図的にサーバー証明書やルート証明書をOSやブラウザにインストールする必要があります。</p>
<h4 id="toc--iecookie"><strong>■ IE以外では、アップロードリクエストに「Cookie」や「Authentification」等のHTTPヘッダーの付加情報が付かない</strong></h4>
<p>これもFirefoxやSafari等のIE以外のブラウザの現象です。これで問題になるのは、</p>
<ul>
<li>セッション保持</li>
<li>ベーシック認証</li>
<li>Cookie-Insert等によるクラスタリング等</ui>
</ul>
<p>です。クラウド上のサーバーを利用するときも気をつけた方が良いですね。</p>
<h4 id="toc--upload-http-"><strong>■ Uploadメソッドでは、カスタム HTTP リクエストヘッダはサポートされない</strong></h4>
<p>Uploadメソッドでは、URLRequestのrequestHeaders プロパティは無視されるため、HTTPヘッダー情報をアレンジすることができません。<br />
<a href="http://livedocs.adobe.com/flex/3_jp/langref/flash/net/FileReference.html#upload()">リファレンス</a>より。</p>
<blockquote><p>
URLRequest オブジェクトの requestHeaders プロパティは無視されるため、カスタム HTTP リクエストヘッダはアップロードまたはダウンロードでサポートされません。
</p></blockquote>
<h4 id="toc--"><strong>■ ネットワーク帯域が細いとき、サーバーレスポンスが遅延するときに、挙動がおかしくなる</strong></h4>
<p>ネットワーク帯域が遅いとき、サーバーに負荷がかかっていてレスポンスを返せないとき、ProgoressEventや、DataEventのタイミングがおかしくなることがあります。また、常駐ウィルススキャンソフトが原因のときもあります。</p>
<h4 id="toc--flash-player10"><strong>■ Flash Player10からはマルチスレッドアップロードがサポートされていない</strong></h4>
<blockquote><p>
Flash Player に追加された新しい機能により、Flash Player 10 にパブリッシュする場合は、FileReference.browse()、FileReference.upload()、FileReference.download()、FileReference.load() および FileReference.save() の中で、同時に実行できる操作は 1 つのみです。複数の操作を実行すると、Flash Player でランタイムエラー（コード 2174）が発生します。進行中の操作を停止するには、FileReference.cancel() を使用します。この制限は Flash Player 10 にのみ適用されます。以前のバージョンの Flash Player については、同時に複数の操作を実行しても、この制限には影響されません。
</p></blockquote>
<p>サーバ側からのCOMPLETEが受け取れないと、次のアップロードを実行できません。</p>
<p>　<br />
Flash Playerのアップロード／ダウンロード機能を使うときは、これらのことに気をつけましょう！！<br />
※Flash Player 10.1で挙動が異なっている点もあるかもしれないので、ご了承下さい。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=908</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>「おばか Windows 7アプリ選手権」に２作品投稿しました！</title>
		<link>http://www.riaxdnp.jp/?p=845</link>
		<comments>http://www.riaxdnp.jp/?p=845#comments</comments>
		<pubDate>Fri, 28 May 2010 05:44:13 +0000</pubDate>
		<dc:creator>otonashi</dc:creator>
				<category><![CDATA[イベント情報]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=845</guid>
		<description><![CDATA[@IT「おばかWindows 7アプリ選手権」に「BINTA」 「SOUL FLAGS」 の２点を投稿しました！
こちらから↓紹介映像をご覧下さい！
「BINTA」　http://circle.zoome.jp/obaka2010/media/31/
「イエッサー！ センサーで参戦さー」/「いやー、仕事でも使えて、モテモテになりましたよ」部門
お仕事上の難しい人間関係を円滑にするためにも、こんなアプリは如何でしょう？
「SOUL FLAGS」　http://circle.zoome.jp/obaka2010/media/9/
「お・ね・が・い、マルチ、タッチ、ここにタッチ♪」部門
素敵なキャラクターと音楽、一緒にのって遊びましょう。はたから見るとおばかです。

　
「BINTA」
ビンタしたい相手をWebcamでキャプチャすると、相手の顔が検出されます。
加速度センサーを忍ばせた「BINTAグローブ」を手にはめ、左右往復ビンタと顔面パンチが画面上でできます。
Windows7のセンサー機能を使い、WPFで作成しました。

「SOUL FLAGS」
Windows7のマルチタッチを使った旗揚げゲームです。
こちらはSilverlightで作成しました。

【おばか Windows 7アプリ選手権】
http://www.atmarkit.co.jp/ad/obaka/obaka7/index.html
投稿〆切は5/31(月)。
作品のテーマとして７つの部門があります。
動画で投稿された作品の中から、各部門の優秀賞の7作品が決勝戦へ進み、決勝イベントにて最優秀賞が決定します。
決勝戦イベントは7/10(土)です。
詳細はこちら↓
http://tcc.nifty.com/cs/catalog/tcc_schedule/catalog_100519202981_1.htm
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.atmarkit.co.jp/ad/obaka/obaka7/index.html">@IT「おばかWindows 7アプリ選手権」</a>に<strong>「BINTA」 「SOUL FLAGS」 </strong>の２点を投稿しました！<br />
こちらから↓紹介映像をご覧下さい！</p>
<p><strong>「BINTA」</strong>　<a href="http://circle.zoome.jp/obaka2010/media/31/">http://circle.zoome.jp/obaka2010/media/31/</a><br />
「イエッサー！ センサーで参戦さー」/「いやー、仕事でも使えて、モテモテになりましたよ」部門<br />
お仕事上の難しい人間関係を円滑にするためにも、こんなアプリは如何でしょう？</p>
<p><strong>「SOUL FLAGS」</strong>　<a href="http://circle.zoome.jp/obaka2010/media/9/">http://circle.zoome.jp/obaka2010/media/9/</a><br />
「お・ね・が・い、マルチ、タッチ、ここにタッチ♪」部門<br />
素敵なキャラクターと音楽、一緒にのって遊びましょう。はたから見るとおばかです。<br />
<span id="more-845"></span><br />
　</p>
<h3 id="toc-binta"><strong>「BINTA」</strong></h3>
<p>ビンタしたい相手をWebcamでキャプチャすると、相手の顔が検出されます。<br />
加速度センサーを忍ばせた「BINTAグローブ」を手にはめ、左右往復ビンタと顔面パンチが画面上でできます。</p>
<p>Windows7のセンサー機能を使い、WPFで作成しました。</p>
<p><a href="http://circle.zoome.jp/obaka2010/media/31/"><img title="BINTA" src="http://www.riaxdnp.jp/wp-content/uploads/2010/05/BINTA.jpg" alt="BINTA" width="400" /></a></p>
<h3 id="toc-soul-flags"><strong>「SOUL FLAGS」</strong></h3>
<p>Windows7のマルチタッチを使った旗揚げゲームです。<br />
こちらはSilverlightで作成しました。</p>
<p><a href="http://circle.zoome.jp/obaka2010/media/9/"><img title="SOULFLAGS" src="http://www.riaxdnp.jp/wp-content/uploads/2010/05/SOULFLAGS.jpg" alt="" width="400" /></a></p>
<p><strong>【おばか Windows 7アプリ選手権】</strong><br />
<a href="http://www.atmarkit.co.jp/ad/obaka/obaka7/index.html">http://www.atmarkit.co.jp/ad/obaka/obaka7/index.html</a><br />
投稿〆切は5/31(月)。<br />
作品のテーマとして７つの部門があります。<br />
動画で投稿された作品の中から、各部門の優秀賞の7作品が決勝戦へ進み、決勝イベントにて最優秀賞が決定します。</p>
<p>決勝戦イベントは7/10(土)です。<br />
詳細はこちら↓<br />
<a href="http://tcc.nifty.com/cs/catalog/tcc_schedule/catalog_100519202981_1.htm">http://tcc.nifty.com/cs/catalog/tcc_schedule/catalog_100519202981_1.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=845</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>すぐに使えるFlexコネタ集</title>
		<link>http://www.riaxdnp.jp/?p=820</link>
		<comments>http://www.riaxdnp.jp/?p=820#comments</comments>
		<pubDate>Fri, 21 May 2010 08:19:29 +0000</pubDate>
		<dc:creator>morishima</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[技術情報]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=820</guid>
		<description><![CDATA[昨日のおしゃれFxug勉強会にお越しいただいたみなさま、ありがとうございました。
勉強会での発表より、ドリームページで使ったFlexコネタ集を。
１．scaleプロパティの活用
なんの変哲もないよく見かけるscaleプロパティを使った小技。
Scaleを少し変更するだけで、同じインスタンスも素敵に変身します。

【Window領域に合わせた拡大表示】
大きなディスプレイを使っている人は、Windowもめいいっぱい広げて使いたいもの。Flexでは表示サイズに合わせた％指定やパディングの指定もできすが、座標計算をして表示しているコンポーネントの場合、Windowサイズが変更されるときにいちいち計算をしなおすのは面倒。そんなときは、今のWindowサイズにおける表示可能領域とそのコンポーネントのサイズを比較して、何％拡大可能か計算します。それをscaleにセットするだけで、簡単にリキッド・レイアウトが実現できます。
【一覧表示】
一覧表示や、Mini Map表示ならスケールダウン。scaleを小さく設定するだけでミニチュアコンポーネントが作れます。ミニチュアながらも機能はそのまま！なのがかわいらしい。必要に応じてステータスを変更しいらない機能は無効化しましょう。
scaleを変更するだけでいいので簡単です。インスタンスを使いまわせば経済的ですし、下手な計算なロジックを書いてバグを埋め込む心配もなし！
２．ドラッグプロキシーの活用
複雑なアプリになってくると、様々なコンポーネントが多重構造になってしまいます。通常各コンポーネントは自分の描画エリア内にしか、表示が行えないのでコンポーネント間を超えた表示を行いたい場合には、注意した設計が必要です。この画像を一番上のレイヤーに表示したいんだけど… そんな時の裏技！！

おなじみのドラッグプロキシーを辿っていくと発見しました。systemManager.addChildToSandboxRoot!
systemManager.addChildToSandboxRoot(&#8220;popUpChildren&#8221;, _imageProxy);
Sandboxという名が気になりますが、public function なのでお言葉に甘えておじゃまさせていただきました。
３．ToolTipの活用
ボタンがいっぱいあってどれを押せばいいのかわからないわ！
そんなとき、ボタンの上をうろうろしているとツールチップが現れてヒントをくれるのがバルーン表示。
toolTipプロパティに文字列をセットするだけで、バルーン表示が行えます。

toolTip=&#8221;表示したい文字列&#8221;
toolTipプロパティはUIComponentのプロパティなので、Flexのコンポーネントならなんにでも使えます。
もちろん、そもそも分かりやすいUIや分かりやすいラベル名を付けておく。
これが一番大事です。
バルーン表示も多用するとうざったくなるのでご利用は計画的に。
以上、すぐに使えるFlexコネタ集でした！
DNPドリームページでお試しください。
]]></description>
			<content:encoded><![CDATA[<p>昨日のおしゃれFxug勉強会にお越しいただいたみなさま、ありがとうございました。<br />
勉強会での発表より、<a href="http://dreampages.jp">ドリームページ</a>で使ったFlexコネタ集を。</p>
<h1 id="toc-scale">１．scaleプロパティの活用</h1>
<p>なんの変哲もないよく見かけるscaleプロパティを使った小技。<br />
Scaleを少し変更するだけで、同じインスタンスも素敵に変身します。<br />
<a href="http://www.riaxdnp.jp/wp-content/uploads/2010/05/DreampageKoneta1.jpg"><img class="alignnone size-full wp-image-821" title="DreampageKoneta1" src="http://www.riaxdnp.jp/wp-content/uploads/2010/05/DreampageKoneta1.jpg" alt="" width="500" /></a><br />
【Window領域に合わせた拡大表示】<br />
大きなディスプレイを使っている人は、Windowもめいいっぱい広げて使いたいもの。Flexでは表示サイズに合わせた％指定やパディングの指定もできすが、座標計算をして表示しているコンポーネントの場合、Windowサイズが変更されるときにいちいち計算をしなおすのは面倒。そんなときは、今のWindowサイズにおける表示可能領域とそのコンポーネントのサイズを比較して、何％拡大可能か計算します。それをscaleにセットするだけで、簡単にリキッド・レイアウトが実現できます。</p>
<p>【一覧表示】<br />
一覧表示や、Mini Map表示ならスケールダウン。scaleを小さく設定するだけでミニチュアコンポーネントが作れます。ミニチュアながらも機能はそのまま！なのがかわいらしい。必要に応じてステータスを変更しいらない機能は無効化しましょう。</p>
<p>scaleを変更するだけでいいので簡単です。インスタンスを使いまわせば経済的ですし、下手な計算なロジックを書いてバグを埋め込む心配もなし！<span id="more-820"></span></p>
<h1 id="toc-">２．ドラッグプロキシーの活用</h1>
<p>複雑なアプリになってくると、様々なコンポーネントが多重構造になってしまいます。通常各コンポーネントは自分の描画エリア内にしか、表示が行えないのでコンポーネント間を超えた表示を行いたい場合には、注意した設計が必要です。この画像を一番上のレイヤーに表示したいんだけど… そんな時の裏技！！<br />
<a href="http://www.riaxdnp.jp/wp-content/uploads/2010/05/DreampageKoneta2.jpg"><img class="alignnone size-full wp-image-822" title="DreampageKoneta2" src="http://www.riaxdnp.jp/wp-content/uploads/2010/05/DreampageKoneta2.jpg" alt="" width="500" /></a><br />
おなじみのドラッグプロキシーを辿っていくと発見しました。<a href="http://livedocs.adobe.com/flex/3_jp/langref/mx/managers/SystemManager.html#addChildToSandboxRoot()">systemManager.addChildToSandboxRoot</a>!</p>
<blockquote><p>systemManager.addChildToSandboxRoot(&#8220;popUpChildren&#8221;, _imageProxy);</p></blockquote>
<p>Sandboxという名が気になりますが、public function なのでお言葉に甘えておじゃまさせていただきました。</p>
<h1 id="toc-tooltip">３．ToolTipの活用</h1>
<p>ボタンがいっぱいあってどれを押せばいいのかわからないわ！<br />
そんなとき、ボタンの上をうろうろしているとツールチップが現れてヒントをくれるのがバルーン表示。<br />
toolTipプロパティに文字列をセットするだけで、バルーン表示が行えます。<br />
<a href="http://www.riaxdnp.jp/wp-content/uploads/2010/05/DreampageKoneta11.jpg"><img class="alignnone size-full wp-image-843" title="DreampageKoneta1" src="http://www.riaxdnp.jp/wp-content/uploads/2010/05/DreampageKoneta11.jpg" alt="" width="307" height="203" /></a></p>
<blockquote><p>toolTip=&#8221;表示したい文字列&#8221;</p></blockquote>
<p>toolTipプロパティはUIComponentのプロパティなので、Flexのコンポーネントならなんにでも使えます。<br />
もちろん、そもそも分かりやすいUIや分かりやすいラベル名を付けておく。<br />
これが一番大事です。<br />
バルーン表示も多用するとうざったくなるのでご利用は計画的に。</p>
<p>以上、すぐに使えるFlexコネタ集でした！<br />
<a href="http://dreampages.jp">DNPドリームページ</a>でお試しください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=820</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【TLF】文字溢れの判定方法</title>
		<link>http://www.riaxdnp.jp/?p=705</link>
		<comments>http://www.riaxdnp.jp/?p=705#comments</comments>
		<pubDate>Wed, 12 May 2010 10:42:13 +0000</pubDate>
		<dc:creator>maruyama</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[技術情報]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=705</guid>
		<description><![CDATA[Flex４とFlashCS5より正式サポートされるTLF（Text Layout Framework）を使ってテキストを表示する際、
文字が表示領域から溢れているか、チェックしたい場合があります。
今回は文字溢れの判定方法について、まとめてみました。
（使用したSDKは4.0.0.10973です）


まず、基本となるTLFを使った編集可能なテキストボックスを作ります。
//TextFlowの生成
var textFlow:TextFlow = new TextFlow();
textFlow.fontSize = 40;
textFlow.color = 0xFFFFFF;

//TextFlowに段落や文字要素を追加します。
var p:ParagraphElement = new ParagraphElement();
var s:SpanElement = new SpanElement();
s.text = &#8220;いろはにほへと　ちりぬるを　わかよたれそ　つねならむ&#8221;
+&#8221;　うゐのおくやま　けふこえて　あさきゆめみし　ゑひもせす&#8221;;
p.addChild(s);
textFlow.addChild(p);

//表示用コンテナをCanvasコンポーネント等に追加
var sprite:Sprite = new Sprite();
baseCanvas.rawChildren.addChild(sprite);

//上記コンテナとTextFlowを結びつけるコントローラを、flowComposerに追加
var controller:ContainerController = new ContainerController(sprite, 200, 200);
textFlow.flowComposer.addController(controller);

//編集マネージャの追加
textFlow.interactionManager = new EditManager();

//ここで更新して、適用させます。
textFlow.flowComposer.updateAllControllers();
これでテキストボックスに文字を表示できましたが、上図のように文字が溢れてる状態です。
（スクロールバーは自動的には付かないので、自前で用意する必要があります）
編集可能なテキストボックスなので、カーソル移動するとスクロールして、
隠れてる文字を表示することができます。
このスクロール機能のOn/Offで、文字溢れの判定方法が異なります。

■スクロール機能のOn/Off
//スクロールの処理を行う、コントローラのスクロールポリシーを変更します
controller.verticalScrollPolicy = controller.horizontalScrollPolicy = ScrollPolicy.OFF;


この図のようにスクロールOffにすると、見切れていた行は表示されなくなり、
カーソル移動してもスクロールしません。

（１）スクロール機能Onの場合
//文字溢れの判定対象のコントローラを指定します。
var lastContainer:ContainerController = textFlow.flowComposer.getControllerAt(textFlow.flowComposer.numControllers &#8211; 1);

//コントローラの”文字の表示可能領域(compositionHeight)”と、
//隠れて見えない部分を含む”文字の占有領域(getContentBounds())”を比較します。
//横書の場合は、”高さ”で判別。縦書の場合は、”幅”で判別します。
if(lastContainer.compositionHeight &#60; lastContainer.getContentBounds().height)
{trace(&#8220;文字が溢れています！&#8221;);}


（２）スクロール機能Offの場合
//スクロールがOffの場合は、”文字の占有領域”が、
//”文字の表示可能領域”より大きくなることはないので、
//上記の方法では、文字溢れが判別できません。
//なので、最後の文字（この例では”す”）を含んでいるコントローラのインデックスを取得し、
//戻り値が”－１”の場合は、どのコントローラにも含まれていない =　文字溢れ　となります。
var containerIndex:int = textFlow.flowComposer.findControllerIndexAtPosition(textFlow.textLength-1);
if(containerIndex==-1)
{trace(&#8220;文字が溢れています！&#8221;);}
以上のように、コントローラのスクロール機能On/Offによって、
文字溢れの判定方法が異なるので、実装時に注意が必要ですね。
]]></description>
			<content:encoded><![CDATA[<p>Flex４とFlashCS5より正式サポートされるTLF（Text Layout Framework）を使ってテキストを表示する際、<br />
文字が表示領域から溢れているか、チェックしたい場合があります。<br />
今回は文字溢れの判定方法について、まとめてみました。<br />
（使用したSDKは4.0.0.10973です）</p>
<p><img src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/overflow.png" alt="文字溢れ状態" /><br />
<span id="more-705"></span><br />
まず、基本となるTLFを使った編集可能なテキストボックスを作ります。</p>
<blockquote><p><strong>//TextFlowの生成</strong><br />
var textFlow:TextFlow = new TextFlow();<br />
textFlow.fontSize = 40;<br />
textFlow.color = 0xFFFFFF;<br />
<strong><br />
//TextFlowに段落や文字要素を追加します。</strong><br />
var p:ParagraphElement = new ParagraphElement();<br />
var s:SpanElement = new SpanElement();<br />
s.text = &#8220;いろはにほへと　ちりぬるを　わかよたれそ　つねならむ&#8221;<br />
+&#8221;　うゐのおくやま　けふこえて　あさきゆめみし　ゑひもせす&#8221;;<br />
p.addChild(s);<br />
textFlow.addChild(p);<br />
<strong><br />
//表示用コンテナをCanvasコンポーネント等に追加</strong><br />
var sprite:Sprite = new Sprite();<br />
baseCanvas.rawChildren.addChild(sprite);<br />
<strong><br />
//上記コンテナとTextFlowを結びつけるコントローラを、flowComposerに追加</strong><br />
var controller:ContainerController = new ContainerController(sprite, 200, 200);<br />
textFlow.flowComposer.addController(controller);<br />
<strong><br />
//編集マネージャの追加</strong><br />
textFlow.interactionManager = new EditManager();<br />
<strong><br />
//ここで更新して、適用させます。</strong><br />
textFlow.flowComposer.updateAllControllers();</p></blockquote>
<p>これでテキストボックスに文字を表示できましたが、上図のように文字が溢れてる状態です。<br />
（スクロールバーは自動的には付かないので、自前で用意する必要があります）</p>
<p>編集可能なテキストボックスなので、カーソル移動するとスクロールして、<br />
隠れてる文字を表示することができます。<br />
このスクロール機能のOn/Offで、文字溢れの判定方法が異なります。</p>
<p><strong><br />
■スクロール機能のOn/Off</strong></p>
<blockquote><p><strong>//スクロールの処理を行う、コントローラのスクロールポリシーを変更します</strong><br />
controller.verticalScrollPolicy = controller.horizontalScrollPolicy = ScrollPolicy.OFF;</p>
<p><img src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/overflow2.png" alt="On/Offの違い" /><br />
<strong><br />
この図のようにスクロールOffにすると、見切れていた行は表示されなくなり、<br />
カーソル移動してもスクロールしません。</strong></p></blockquote>
<p><strong><br />
（１）スクロール機能Onの場合</strong></p>
<blockquote><p><strong>//文字溢れの判定対象のコントローラを指定します。</strong><br />
var lastContainer:ContainerController = textFlow.flowComposer.getControllerAt(textFlow.flowComposer.numControllers &#8211; 1);<br />
<strong><br />
//コントローラの”文字の表示可能領域(compositionHeight)”と、<br />
//隠れて見えない部分を含む”文字の占有領域(getContentBounds())”を比較します。<br />
//横書の場合は、”高さ”で判別。縦書の場合は、”幅”で判別します。</strong><br />
if(lastContainer.compositionHeight &lt; lastContainer.getContentBounds().height)<br />
{trace(&#8220;文字が溢れています！&#8221;);}</p>
<p><img src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/overflow1.png" alt="文字溢れの判定領域" /></p></blockquote>
<p><strong><br />
（２）スクロール機能Offの場合</strong></p>
<blockquote><p><strong>//スクロールがOffの場合は、”文字の占有領域”が、<br />
//”文字の表示可能領域”より大きくなることはないので、<br />
//上記の方法では、文字溢れが判別できません。<br />
//なので、最後の文字（この例では”す”）を含んでいるコントローラのインデックスを取得し、<br />
//戻り値が”－１”の場合は、どのコントローラにも含まれていない =　文字溢れ　となります。</strong></p>
<p>var containerIndex:int = textFlow.flowComposer.findControllerIndexAtPosition(textFlow.textLength-1);<br />
if(containerIndex==-1)<br />
{trace(&#8220;文字が溢れています！&#8221;);}</p></blockquote>
<p>以上のように、コントローラのスクロール機能On/Offによって、<br />
文字溢れの判定方法が異なるので、実装時に注意が必要ですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=705</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>本づくりサイト「DreamPages」のご紹介</title>
		<link>http://www.riaxdnp.jp/?p=738</link>
		<comments>http://www.riaxdnp.jp/?p=738#comments</comments>
		<pubDate>Wed, 28 Apr 2010 05:07:16 +0000</pubDate>
		<dc:creator>hiromitsuuuuu</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[事例紹介]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=738</guid>
		<description><![CDATA[2010年3月1日から、本づくりサイト、「Dream Pages」　（http://dreampages.jp/）がオープンしました！

ドリームページは、専門の知識や経験がない人でも、「自分だけの本格的な本」を「１冊から、簡単に楽しく作ることができる」ことをコンセプトにしています。Web経由で提供するユーザーの操作画面として、Flashプラットフォームを活用したRIA技術を活用していますので、その中のRIA技術、おすすめ機能を紹介したいと思います！

　
【編集画面】

　
●ローカルプレビュー機能
ローカルプレビュー機能は、FlashPlayer10の新機能です。画像のアップロード画面でサムネイルを表示する際に使われています。

　
●印刷屋さんならではの細かい気配り
写真は、ドラッグ＆ドロップで配置できます。印刷物特有の問題として、アップロードされた画像ファイルの画像解像度が足りないと、出力後荒れてしまうので、拡大/縮小の制御や、アラートのアイコンを表示しています。写真の枠にフチが無い場合は、本にする際の断ち落とし領域を考えて配置するよう制御しています。


編集の終わったデータは、サーバー側でＤＴＰファイルに流し込まれ、印刷用のＰＤＦが作成されます。弊社の印刷技術が、この組版部分で生きています。
　
●新しくなったFlashの文字組！
ページに文字を入力・描画する機能には、Flash Player10から搭載されているText Layout Framework（以下TLF）を使っています。段組や行送りなどの組版機能が豊富なため、Dream Pagesでは背表紙の縦書きや縦方向の揃えの表現などでTLFが活躍しています。

　
【サーバ通信技術】
Flashと連携するサーバーアプリケーションとしては、Javaを使っています。その通信モジュールとして、　Flashがサーバーアプリケーションとバイナリ通信するための「Blaze DS」を利用しています。これで開発の効率化と、大量の画像ファイルをアップロードする際の通信量の削減を行っています。
５月３１日までオープニングキャンペーン中なので、ぜひ覗いてみてくださいね。
DreamPages http://dreampages.jp/
　
その他ドリームページを楽しむためのコンテンツも要Check！！
　
【ギャラリー公開】
自分が作った作品を公開したり、みんなが作った作品を見ることができます。
⇒みんなの作品を見てみよう！
ブログパーツとして自分のサイトに貼付けすることもできます。ここのサイトにも！→
【アフィリエイトプログラム】
ブログなど自分のWebサイトにバナーやテキストリンクなどの広告を貼って、サイト訪問者がその広告を経由してドリームページの商品を購入した際に、成果報酬を得ることができるプログラムもあります。
⇒アフェリエイトプログラムのお知らせ
]]></description>
			<content:encoded><![CDATA[<p>2010年3月1日から、本づくりサイト、<a href="http://dreampages.jp/">「Dream Pages」　（http://dreampages.jp/）</a>がオープンしました！</p>
<p><a href="http://dreampages.jp/" target="_blank" ><img title="dp_bunner0422_728-90" src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/dp_bunner0422_728-90.gif" alt="" width="660" /></a></p>
<p>ドリームページは、専門の知識や経験がない人でも、「自分だけの本格的な本」を「１冊から、簡単に楽しく作ることができる」ことをコンセプトにしています。Web経由で提供するユーザーの操作画面として、Flashプラットフォームを活用したRIA技術を活用していますので、その中のRIA技術、おすすめ機能を紹介したいと思います！</p>
<p><span id="more-738"></span><br />
　<br />
<strong>【編集画面】</strong><br />
<a href="http://www.riaxdnp.jp/wp-content/uploads/2010/04/layout.png"><img class="alignnone size-full wp-image-740" title="layout" src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/layout.png" alt="" width="500" height="358" /></a><br />
　<br />
<strong>●ローカルプレビュー機能</strong><br />
ローカルプレビュー機能は、FlashPlayer10の新機能です。画像のアップロード画面でサムネイルを表示する際に使われています。</p>
<p><a href="http://www.riaxdnp.jp/wp-content/uploads/2010/04/upload1.png"><img class="alignnone size-full wp-image-791" title="upload1" src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/upload1.png" alt="" width="500" height="335" /></a><br />
　<br />
<strong>●印刷屋さんならではの細かい気配り</strong><br />
写真は、ドラッグ＆ドロップで配置できます。印刷物特有の問題として、アップロードされた画像ファイルの画像解像度が足りないと、出力後荒れてしまうので、拡大/縮小の制御や、アラートのアイコンを表示しています。写真の枠にフチが無い場合は、本にする際の断ち落とし領域を考えて配置するよう制御しています。</p>
<p><a href="http://www.riaxdnp.jp/wp-content/uploads/2010/04/e382afe383aae38383e38397e3839ce383bce3838901.jpg"><img class="size-full wp-image-778 alignleft" title="e382afe383aae38383e38397e3839ce383bce3838901" src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/e382afe383aae38383e38397e3839ce383bce3838901.jpg" alt="" width="330" height="233" /></a></p>
<p><a href="http://www.riaxdnp.jp/wp-content/uploads/2010/04/e382afe383aae38383e38397e3839ce383bce3838902.jpg"><img class="alignnone size-full wp-image-780" title="e382afe383aae38383e38397e3839ce383bce3838902" src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/e382afe383aae38383e38397e3839ce383bce3838902.jpg" alt="" width="315" height="227" /></a></p>
<p>編集の終わったデータは、サーバー側でＤＴＰファイルに流し込まれ、印刷用のＰＤＦが作成されます。弊社の印刷技術が、この組版部分で生きています。<br />
　<br />
<strong>●新しくなったFlashの文字組！</strong><br />
ページに文字を入力・描画する機能には、Flash Player10から搭載されているText Layout Framework（以下TLF）を使っています。段組や行送りなどの組版機能が豊富なため、Dream Pagesでは背表紙の縦書きや縦方向の揃えの表現などでTLFが活躍しています。</p>
<p><a href="http://www.riaxdnp.jp/wp-content/uploads/2010/04/text1.png"><img class="alignnone size-full wp-image-800" title="text1" src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/text1.png" alt="" width="500" height="280" /></a><br />
　<br />
<strong>【サーバ通信技術】</strong><br />
Flashと連携するサーバーアプリケーションとしては、Javaを使っています。その通信モジュールとして、　Flashがサーバーアプリケーションとバイナリ通信するための「Blaze DS」を利用しています。これで開発の効率化と、大量の画像ファイルをアップロードする際の通信量の削減を行っています。</p>
<p>５月３１日までオープニングキャンペーン中なので、ぜひ覗いてみてくださいね。<br />
DreamPages <a href="http://dreampages.jp/" target="_blank">http://dreampages.jp/</a><br />
　<br />
その他ドリームページを楽しむためのコンテンツも要Check！！<br />
　<br />
<strong>【ギャラリー公開】</strong><br />
自分が作った作品を公開したり、みんなが作った作品を見ることができます。<br />
<a href="http://dreampages.jp/dp.do?tid=CON_EV_0001" target="_blank">⇒みんなの作品を見てみよう！</a><br />
ブログパーツとして自分のサイトに貼付けすることもできます。ここのサイトにも！→</p>
<p><strong>【アフィリエイトプログラム】</strong><br />
ブログなど自分のWebサイトにバナーやテキストリンクなどの広告を貼って、サイト訪問者がその広告を経由してドリームページの商品を購入した際に、成果報酬を得ることができるプログラムもあります。<br />
<a href="http://blog.dreampages.jp/2010/04/post-5.html" target="_blank">⇒アフェリエイトプログラムのお知らせ</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=738</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight 4  Excel連携</title>
		<link>http://www.riaxdnp.jp/?p=683</link>
		<comments>http://www.riaxdnp.jp/?p=683#comments</comments>
		<pubDate>Sun, 18 Apr 2010 23:01:14 +0000</pubDate>
		<dc:creator>otonashi</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=683</guid>
		<description><![CDATA[Silverlight 4が正式リリースとなりました！
Silverlight 4 の様々な新機能に加え、Windows phone 7のSilverlight 対応など、楽しい話題が盛りだくさんですね。
現在Silverlightの普及率は60%、日本では70%以上に上昇しているとのこと。昨年のPDC09（2009/11）時点では45%ということで、短期間での注目度アップが伺えます。
Silverlight 4 のたくさんある新機能の一つとして、COMオートメーション機能を使ったExcel連携を試してみましたので、以下簡単な使い方を載せました。


まず、いくつかポイントを挙げます。
●権限昇格モードのOut-of-browser実行します。
●beta版からの変更あり。
　ComAutomationFactory Class
　名前空間：System.Windows.Interop
　↓
　AutomationFactory Class
　名前空間：System.Runtime.InteropServices.Automation
●dynamic変数を使うため、Microsoft.CSharp.dllを追加します。
(デフォルトでインストールすると、C:\Program Files\Microsoft  SDKs\Silverlight\v4.0\Libraries\Clientあたりにある）
●COMオブジェクトのリソースの解放をしないとプロセスが残ってしまうので、使い終わったCOMオブジェクトはDispose()を忘れずに。

それでは、簡単なExcelの操作方法を挙げてみます。
・Excelオブジェクト生成して表示
dynamic excel = AutomationFactory.CreateObject(”Excel.Application”);
excel.Visible = true;
・ワークブック追加
dynamic workbooks = excel.Workbooks;
workbooks.Add();
・アクティブなシートを取得
dynamic sheet = excel.ActiveSheet;
・[1,1]のセルを取得して文字列を入れる
dynamic cell = sheet.Cells[1,1];
cell.Value = “名前”;
・Excel側の変更イベントをSilverlight側で受け取れるようにする
delegate void SheetChangeDelegate(dynamic excelSheet, dynamic  rangeArgs);
excel.SheetChange += new  SheetChangeDelegate(SheetChangedEventHandler);
//イベントハンドラでExcel情報を受け取る例
private void SheetChangedEventHandler(dynamic excelSheet, dynamic  rangeArgs)
{
&#160;&#160;string sheetName = excelSheet.Name; //シート名の取得
&#160;&#160;int row = rangeArgs.Row; //変更されたセルの列を取得
&#160;&#160;int col [...]]]></description>
			<content:encoded><![CDATA[<p>Silverlight 4が正式リリースとなりました！</p>
<p>Silverlight 4 の様々な新機能に加え、Windows phone 7のSilverlight 対応など、楽しい話題が盛りだくさんですね。</p>
<p>現在Silverlightの普及率は60%、日本では70%以上に上昇しているとのこと。昨年のPDC09（2009/11）時点では45%ということで、短期間での注目度アップが伺えます。</p>
<p>Silverlight 4 のたくさんある新機能の一つとして、COMオートメーション機能を使ったExcel連携を試してみましたので、以下簡単な使い方を載せました。<br />
<br/><br />
<span id="more-683"></span></p>
<p>まず、いくつかポイントを挙げます。</p>
<p><strong>●権限昇格モードのOut-of-browser実行します。</strong></p>
<p><strong>●beta版からの変更あり。</strong><br />
　ComAutomationFactory Class<br />
　名前空間：System.Windows.Interop</p>
<p>　<strong>↓<br />
　AutomationFactory Class<br />
　名前空間：System.Runtime.InteropServices.Automation</strong></p>
<p>●dynamic変数を使うため、<strong>Microsoft.CSharp.dll</strong>を追加します。<br />
(デフォルトでインストールすると、C:\Program Files\Microsoft  SDKs\Silverlight\v4.0\Libraries\Clientあたりにある）</p>
<p>●COMオブジェクトのリソースの解放をしないとプロセスが残ってしまうので、使い終わったCOMオブジェクトは<strong>Dispose()</strong>を忘れずに。</p>
<p><br/><br />
それでは、簡単なExcelの操作方法を挙げてみます。<br/></p>
<p>・Excelオブジェクト生成して表示<br />
dynamic excel = AutomationFactory.CreateObject(”Excel.Application”);<br />
excel.Visible = true;</p>
<p>・ワークブック追加<br />
dynamic workbooks = excel.Workbooks;<br />
workbooks.Add();</p>
<p>・アクティブなシートを取得<br />
dynamic sheet = excel.ActiveSheet;</p>
<p>・[1,1]のセルを取得して文字列を入れる<br />
dynamic cell = sheet.Cells[1,1];<br />
cell.Value = “名前”;</p>
<p>・Excel側の変更イベントをSilverlight側で受け取れるようにする<br />
delegate void SheetChangeDelegate(dynamic excelSheet, dynamic  rangeArgs);</p>
<p>excel.SheetChange += new  SheetChangeDelegate(SheetChangedEventHandler);</p>
<p>//イベントハンドラでExcel情報を受け取る例<br />
private void SheetChangedEventHandler(dynamic excelSheet, dynamic  rangeArgs)<br />
{<br />
&nbsp;&nbsp;string sheetName = excelSheet.Name; //シート名の取得<br />
&nbsp;&nbsp;int row = rangeArgs.Row; //変更されたセルの列を取得<br />
&nbsp;&nbsp;int col = rangeArgs.Column; //変更されたセルの行を取得<br />
}</p>
<p>・チャートを追加<br />
dynamic shapes = sheet.Shapes;<br />
shapes.AddChart(4, 300, 10, 400, 300);  //AddChart(Type, Left, Top, Width,  Height)</p>
<p><br/><br />
その他、Excel操作ではありませんが、動作状況を確認する方法です。</p>
<p>・Out-of-browserで実行されているか確認<br />
if ( !App.Current.IsRunningOutOfBrowser ){…} </p>
<p>・COMオートメーションが利用可能か確認<br />
if ( !AutomationFactory.IsAvailable ){…}</p>
<p><br/></p>
<p>以上、簡単な使い方の例でしたが、これでSilverlightのDataGridコントロールなどで表示しているデータと、Excel上のデータを簡単に連動させられるようになります。特に業務系のアプリケーションなどでの活躍に期待大です！</p>
<p><br/><br />
<img src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/sl_oob.png" alt="Silverlightアプリ" title="sl_oob" width="500" height="313" class="size-full wp-image-722" /></p>
<p><br/><br />
Excelボタンを押すとExcelを起動し、その際SilverlightのDataGridが持つデータをExcelへ渡しています。<br />
この例では、AddChartの第１引数に&#8221;-4102&#8243;を指定して、3D円グラフを表示させました。<br />
<br/><br />
<img src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/sl_excel.png" alt="" title="sl_excel" width="500" height="267" class="alignnone size-full wp-image-724" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=683</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>アシスト「事例で学ぶ！情報系システム内製化セミナー」</title>
		<link>http://www.riaxdnp.jp/?p=684</link>
		<comments>http://www.riaxdnp.jp/?p=684#comments</comments>
		<pubDate>Mon, 12 Apr 2010 21:47:26 +0000</pubDate>
		<dc:creator>dikuta</dc:creator>
				<category><![CDATA[イベント情報]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=684</guid>
		<description><![CDATA[株式会社アシストさんが主催で行われているセミナーの、「事例で学ぶ！情報系システム内製化セミナー」（4/20（水）13:30より）の回にて、DNPがセッションを一つ担当させて頂く事になりました。

これまでのRIA開発の経験から業務系RIA開発のヒントになるようなお話ができれば幸いです。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ashisuto.co.jp/index.html"><strong>株式会社アシスト</strong></a>さんが主催で行われている<a href="https://www.ashisuto.jp/?ty=seminar">セミナー</a>の、<a href="https://www.ashisuto.jp/seminar/?id=4656"><strong>「事例で学ぶ！情報系システム内製化セミナー」</strong></a>（4/20（水）13:30より）の回にて、DNPがセッションを一つ担当させて頂く事になりました。<br />
<a href="http://www.riaxdnp.jp/wp-content/uploads/2010/04/main_picture_4656.png"><img src="http://www.riaxdnp.jp/wp-content/uploads/2010/04/main_picture_4656.png" alt="" title="main_picture_4656" width="300" height="106" class="alignnone size-medium wp-image-685" /></a><br />
これまでのRIA開発の経験から業務系RIA開発のヒントになるようなお話ができれば幸いです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=684</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FeliCa結果発表「仮面リーダー」技能賞</title>
		<link>http://www.riaxdnp.jp/?p=665</link>
		<comments>http://www.riaxdnp.jp/?p=665#comments</comments>
		<pubDate>Mon, 15 Mar 2010 07:07:10 +0000</pubDate>
		<dc:creator>morishima</dc:creator>
				<category><![CDATA[イベント情報]]></category>
		<category><![CDATA[技術情報]]></category>

		<guid isPermaLink="false">http://www.riaxdnp.jp/?p=665</guid>
		<description><![CDATA[FeliCaアプリコンテストの受賞報告です。
なんと仮面リーダーが技能賞をいただきました。（あれ？技能賞ってあったかな）
ありがとうございます。
エントリ作品はこちら⇒「変身ベルト　仮面リーダー」
結果発表はこちら⇒「コンテスト結果発表！」
こちらからICCWで行われた結果発表の様子がご覧いただけます。
⇒http://www.ustream.tv/recorded/5310652

なかなかネタが思いつかず苦悩した日々、ネタ決定後もなかなか時間がとれずあせりましたが
みんなのスキルと時間を少しづつ持ち寄り、なんとか形になってよかったです。
そういうわけで、意外にもたくさんのメンバーと、たくさんの技術が詰まっているアプリになりました。
技能賞ということで、技能の解説を。
説明しよう！（技術解説）
１．さぁ！変身ベルト（R/W）を装着したら、Webカメラの前に立つんだ！
アプリの起動とともにカメラの検知、FeliCaポートの認証、専有処理などを行います。
２．通りすがりのヒーロー…名前を教えてくれ…(ひらがなとカタカナ、大体６文字ぐらいで)
３．そして、変身！ボタンを押すと、カッコいいオープニングムービーが流れるよ！
FeliCaがかざされたことを検出するためにここからタイマーでPolling開始。
findTimer  = new Timer(500, 240);
とした。0.5秒毎ならリアルタイム感は十分。
検出されなかった場合は、一旦ポーリングを停止して、リトライするか確認する。
４．いよいよ、変身だ！！！変身カード（FeliCa搭載の電子乗車券）をベルトに挿入！
検出と同時に、IDm取得、FeliCaの残高取得、FeliCaカード外されたことを検知するタイマー開始
lostTimer  = new Timer(2000);
こちらはリアルタイム感は必要でないので2秒毎のポーリング。
IDm下1桁よりスーツを選択。
残高からパワーを決定。
FeliCa検出後、色認識されたポイントに変身スーツや炎をレンダリング
描画は2Dのみの想定だったのでマーカーは使わず、色による位置検出のみ
◎kawanetさんのLivePointersライブラリを使用されていただきました。
http://www.slideshare.net/kawa0117/jsartoolkit-livechromakey-livepointers-next-gen-of-ar
緑色の2点のマーカーから大体の
・ポジション
・スケール
・角度
を計算しています。
５．赤い必殺カードを手にかざし、炎を発射！
同じくピンクのマーカーを検出
６．必殺技をキメたら記念撮影だ！（ポーズを決めて、ちょっと待ってネ！）
いい感じで炎が出たタイミングを狙って！
７．撮影した画像はTwitterに投稿されるよ！（要必殺カード）
歴戦のヒーロー達を見てみよう！
http://twitter.com/MaskedReadar
キャプチャした画像をJPEGEncoderでJPEGに変換。ローカル保存しておきます
８．撮影が終わったら、カードを取ってね！
FeliCaが外されたこと（ポーリングでレスポンスが失敗）をTimerで検知します。
９．エンディングムービーが流れます。
最後に撮影した画像をTwitPicに投稿。
http://twitpic.com/api/uploadAndPost
（おまけ）
投稿した画像のURLをFeliCaを使って携帯に送信。
http://twitpic.com/show/large/ + mediaid;
1０．クローズ
FeliCaポートの認証解除、専有解除など
いかにもMashUpです。
この短期間でここまでやれたのは、DNPの総合力をうまく発揮できたおかげです。
ご協力いただいたみなさまに感謝いたします。
＜謝辞およびメンバー紹介＞
・FeliCa技術協力
　小野寺さん（情シス）、小原さん（C&#038;I事業部）
・AR企画支援・技術支援
　宮下さん（デジタルコム）
・アプリ開発、ベルト開発
 生田/森嶋/丸山（riaxdnp）
・Flashオーサリング
　吉川さん/日暮さん（デジタルコム）
・アートディレクション
　金指さん/高島さん/行田さん（デジタルコム）
・変身ベルト 作成キット
　森川（riaxdnp）
・協賛
　IPS事業部
引き続き、バージョンアップや別のアプリも開発していきたいですね。
SONYさんには次回コンテスト開催も期待しています。
どうもありがとうございました！
]]></description>
			<content:encoded><![CDATA[<p>FeliCaアプリコンテストの受賞報告です。<br />
なんと仮面リーダーが<strong>技能賞</strong>をいただきました。（あれ？技能賞ってあったかな）<br />
ありがとうございます。</p>
<p>エントリ作品はこちら⇒<a href="http://www.riaxdnp.jp/?p=591">「変身ベルト　仮面リーダー」</a></p>
<p>結果発表はこちら⇒<a href="http://blog.felicalauncher.com/sdk_for_air/?p=1447">「コンテスト結果発表！」</a></p>
<p>こちらからICCWで行われた結果発表の様子がご覧いただけます。<br />
⇒<a href="http://www.ustream.tv/recorded/5310652">http://www.ustream.tv/recorded/5310652</a></p>
<p><span id="more-665"></span><br />
なかなかネタが思いつかず苦悩した日々、ネタ決定後もなかなか時間がとれずあせりましたが<br />
みんなのスキルと時間を少しづつ持ち寄り、なんとか形になってよかったです。<br />
そういうわけで、意外にもたくさんのメンバーと、たくさんの技術が詰まっているアプリになりました。</p>
<p>技能賞ということで、技能の解説を。</p>
<p>説明しよう！（技術解説）</p>
<p>１．さぁ！変身ベルト（R/W）を装着したら、Webカメラの前に立つんだ！</p>
<blockquote><p>アプリの起動とともにカメラの検知、FeliCaポートの認証、専有処理などを行います。</p></blockquote>
<p>２．通りすがりのヒーロー…名前を教えてくれ…(ひらがなとカタカナ、大体６文字ぐらいで)<br />
３．そして、変身！ボタンを押すと、カッコいいオープニングムービーが流れるよ！</p>
<blockquote><p>FeliCaがかざされたことを検出するためにここからタイマーでPolling開始。<br />
findTimer  = new Timer(500, 240);<br />
とした。0.5秒毎ならリアルタイム感は十分。<br />
検出されなかった場合は、一旦ポーリングを停止して、リトライするか確認する。</p></blockquote>
<p>４．いよいよ、変身だ！！！変身カード（FeliCa搭載の電子乗車券）をベルトに挿入！</p>
<blockquote><p>検出と同時に、IDm取得、FeliCaの残高取得、FeliCaカード外されたことを検知するタイマー開始<br />
lostTimer  = new Timer(2000);<br />
こちらはリアルタイム感は必要でないので2秒毎のポーリング。</p>
<p>IDm下1桁よりスーツを選択。<br />
残高からパワーを決定。</p></blockquote>
<blockquote><p>FeliCa検出後、色認識されたポイントに変身スーツや炎をレンダリング<br />
描画は2Dのみの想定だったのでマーカーは使わず、色による位置検出のみ<br />
◎kawanetさんのLivePointersライブラリを使用されていただきました。<br />
<a href="http://www.slideshare.net/kawa0117/jsartoolkit-livechromakey-livepointers-next-gen-of-ar">http://www.slideshare.net/kawa0117/jsartoolkit-livechromakey-livepointers-next-gen-of-ar</a></p>
<p>緑色の2点のマーカーから大体の<br />
・ポジション<br />
・スケール<br />
・角度<br />
を計算しています。</p></blockquote>
<p>５．赤い必殺カードを手にかざし、炎を発射！</p>
<blockquote><p>同じくピンクのマーカーを検出</p></blockquote>
<p>６．必殺技をキメたら記念撮影だ！（ポーズを決めて、ちょっと待ってネ！）</p>
<blockquote><p>いい感じで炎が出たタイミングを狙って！</p></blockquote>
<p>７．撮影した画像はTwitterに投稿されるよ！（要必殺カード）<br />
歴戦のヒーロー達を見てみよう！<br />
<a href="http://twitter.com/MaskedReadar">http://twitter.com/MaskedReadar</a><br />
<blockquote>キャプチャした画像をJPEGEncoderでJPEGに変換。ローカル保存しておきます</p></blockquote>
<p>８．撮影が終わったら、カードを取ってね！</p>
<blockquote><p>FeliCaが外されたこと（ポーリングでレスポンスが失敗）をTimerで検知します。</p></blockquote>
<p>９．エンディングムービーが流れます。</p>
<blockquote><p>最後に撮影した画像をTwitPicに投稿。</p>
<p>http://twitpic.com/api/uploadAndPost</p></blockquote>
<p>（おまけ）</p>
<blockquote><p>投稿した画像のURLをFeliCaを使って携帯に送信。<br />
http://twitpic.com/show/large/ + mediaid;</p></blockquote>
<p>1０．クローズ</p>
<blockquote><p>FeliCaポートの認証解除、専有解除など</p></blockquote>
<p>いかにもMashUpです。<br />
この短期間でここまでやれたのは、DNPの総合力をうまく発揮できたおかげです。<br />
ご協力いただいたみなさまに感謝いたします。</p>
<p>＜謝辞およびメンバー紹介＞<br />
・FeliCa技術協力<br />
　小野寺さん（情シス）、小原さん（C&#038;I事業部）<br />
・AR企画支援・技術支援<br />
　宮下さん（デジタルコム）<br />
・アプリ開発、ベルト開発<br />
 生田/森嶋/丸山（riaxdnp）<br />
・Flashオーサリング<br />
　吉川さん/日暮さん（デジタルコム）<br />
・アートディレクション<br />
　金指さん/高島さん/行田さん（デジタルコム）<br />
・変身ベルト 作成キット<br />
　森川（riaxdnp）<br />
・協賛<br />
　IPS事業部</p>
<p>引き続き、バージョンアップや別のアプリも開発していきたいですね。<br />
SONYさんには次回コンテスト開催も期待しています。<br />
どうもありがとうございました！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riaxdnp.jp/?feed=rss2&amp;p=665</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
