第15回 アニメーションGIFを使ってみる連休をはさんで大型のアプリを計画していたのだが,本命のiアプリ製作が終わっていないので,今回はアニメーションGIFの取り扱いを紹介する。ネットワークとも絡めて説明してみよう。
VisualPresenterでアニメーションGIFアニメーションGIFは手軽に絵を動かす手段としてWebで盛んに利用されている。iモードでももちろん利用されているので,携帯端末自体,アニメーションGIFをサポートしていると考えられる。そのためiアプリでもアニメーションGIFは簡単に表示できるわけだ。 アニメーションGIFは,連載で既に取り上げたメディアデータの一種に位置付けられていて,取り扱いも,ほぼサウンドと同じ手続きが利用できる。 まず,MediaManager(詳細はサウンドの回を参照のこと)を通じてメディアデータ(MediaImage)を取得する。 MediaImage mi = 続いて,サウンドの時と同じように,メディアデータの使用を宣言する。 try { 以上のようにして取得したMediaImageを表示するのは,VisualPresenterという高レベルコンポーネントだ。コンポーネントなので,Panelなどに貼り付けて利用する。まず,VisualPresenterを生成しよう。 VisualPresenter vp = このVisualPresenterにMediaImageを設定し,Panelなどに貼り付けよう。 vp.setImage(mi); あとはサウンド同様に,次のようにすればアニメーションGIFの再生が始まる。 vp.play(); そのほか,イベントの取り扱いなどはサウンドと同様だ。 ネットワークからアニメーションGIFをダウンロードする今回は以上の手順を踏まえ,アニメーションGIFをネットワークからダウンロードして表示するサンプルを掲載しておく。サンプルリストは,ここからダウンロードでき,503iを所有している人はhttp://gadget.mda.or.jp/i/Animation.htmlで試すことができる。動作はN503iで確認しているが,基本的にどの503iでも動くだろうと思う。 サンプルでは,テキストボックスを利用してデータをダウンロードするURLが入力できる。初期に入っているURLのGIFデータは,ポータルサイトVlinkの連載「ドット絵職人といふもの 21」から頂いた。iアプリで使うアニメーションGIFやGIFデータを作成する際に参考になる連載なので機会があったら,ぜひ参照していただきたい。 ところで,サンプルのURL入力欄に,異なるサーバーにあるGIFファイルのURLを入力してダウンロードしようとしても,おそらくエラーになるはずだ。なぜだろう? 実はメディアデータのロード先にURLを指定するとエラーになるという質問が読者からも寄せられているのだが,これはセキュリティに関連したエラーだ。 iアプリには,セキュリティを確保するために「アプリケーションをダウンロードしたサーバーにしかアクセスできない」という制限がある。そのため,iアプリをダウンロードしたのではないサーバーを指定するとセキュリティエラーが出てしまうのだ。 エミュレーターで実行している時も同じで,エミュレータがセキュリティエラーを出す。エミュレータで実行しているときは,ローカルPC(のディスク)からダウンロードして実行する形になっているので,ネットワークの先にあるURLを指定すると「ダウロード先が違う」からである。 しかし,NTTドコモの開発ツール(DoJa)付属のエミュレータは見せ掛けのダウンロード先URLが設定できる。KToolbarを利用する場合は,メニューで[編集]−[設定]を選び読み込み先URL欄に,開発中のアプリをアップロードする予定のURLを入力。NetworkAccess項目をenableにすればいい。 その後,アップロード予定のURLにiアプリがアクセスするGIFファイルなどを置いておけば,エミュレータからでもネットワークに接続できるようになるはずだ。
関連記事 [米田 聡,ITmedia] Copyright © ITmedia, Inc. All Rights Reserved. モバイルショップ
最新スペック搭載ゲームパソコン
最新CPU搭載パソコンはドスパラで!!
FEED BACK |