More Related Content
PDF
PDF
PPT
PDF
ユーザ・デザイナーから見たPlone CMSのアピールポイント PDF
PDF
PPTX
PPTX
ディープラーニングゼミ TensorFlowで学ぶ理論と実践 What's hot
PDF
PDF
PPTX
Ruby で ffmpeg の filter_complex と戯れる話 PDF
Nordic nRF51822でBLEしてみました 2 PPTX
新デフォルトテーマTwentyTen を理解しよう PPTX
Ruby で ffmpeg の filter_complex と戯れる話 PPTX
Glusterfsを用いた静的コンテンツ配信サーバ冗長化 20130723 Similar to まめフラスコで遊ぼう
PPT
PDF
PDF
PPTX
PDF
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに! PDF
PDF
CEDEC 2013 - FlashによるアセットワークフローのHTML5やネイティブアプリへのうまい持ち込み方 PPT
Web上でのゲーム製作(Kanasan.JS LT 080114) PDF
PDF
ActionScriptを使わないFlash勉強会 #1(前日版) PDF
20100416 devlove(flex) final PDF
How to make a Flash based Wii Ware PDF
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』 KEY
iPhoneで動くFlash Playerを実装した苦労話LT資料 PDF
PDF
PDF
PDF
Arctic.js開発者から見るFlasherの未来 PDF
Practical Android scripting with Ruby KEY
Recently uploaded
PDF
20260119_VIoTLT_vol22_kitazaki_v1___.pdf PDF
TomokaEdakawa_職種と講義の関係推定に基づく履修支援システムの基礎検討_HCI2026 PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研) PDF
maisugimoto_曖昧さを含む仕様書の改善を目的としたアノテーション支援ツールの検討_HCI2025.pdf PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S... まめフラスコで遊ぼう
- 1.
- 2.
- 3.
やってみるのに必要なもの
つくるため
環境 素材
PC
Java 画像 台本 Flashファイル
うごかすため
PC
携帯
Flash Player
まれによくある誤解への回答:
つくるためにはJava VMが必要ですが、動かすためには要りません。
つまり「Javaアプリが動く携帯」である必要はありません。
- 4.
- 5.
- 6.
- 7.
- 8.
台本ファイルについて
ただのテキストファイルです。
さくらスクリプト+華和梨0.42相当(らしい。さとーさん曰く)
台本
入力例:
sentence: 0s[0]今晩は${food}を食べよう1s[10]そうだねそうしよう
sentence: 0s[4] ネタ尽きた…1s[11]はえーなおい
food: うどん, そば, いぬ, さる, きじ
・ 1回のトークの内容は sentence のどれか(今回はどちらか)がランダムで選ばれる
・ 話主、表情を指定して話す内容を書く
・ ${food} は food のなかからどれか1つがランダムで選ばれる
出力例:
- 9.
技術的な話(1)
プログラムとしては
プログラムとしては
まめフラスコはなにをしているか ○をつけた2つがメインです
○をつけた2つがメインです
まめフラスコ内包のベースFlash
ダミー画像
置換 入
力
埋込 受
付
台本
スクリプト解釈&トーク制御用
Flashプログラム Flashファイルの解釈・
分解・再構築
出力
台本
- 10.
技術的な話(2)
これについて。
主にFlashファイルのバイナリいじり担当
・ ベースFlashのパース、ヘッダやタグの内容変更や新規生成
- 指定された画像ファイルのFlash内部形式への変換と置換
- 台本ファイルのパースと整形、トーク内容代入文のバイナリの生成
- キャンバスサイズ変更、ファイルサイズ整合などのためのヘッダ変換
・ GUIまわり
Flashのバイナリは1つのヘッダと複数のタグがなります。仕様は公開されています。
一番最後はファイル
ヘッダ タグ タグ タグ タグ タグタグ 終端を示すタグ。
タグの内容はさまざま。テキスト、プログラム、画像(ベクタ・ラスタ)、音楽、etc.
バージョン情報やファイルサイズなどFlash全体に関する内容
Flashファイルの生成について
専用GUIアプリで作るもの: Adobe Flash CS5(本家)や他社製簡易版 など
プログラムで作るもの: ming, swfmill, flex
まめフラスコではAdobe Flashで作ったベースファイルを、
独自ライブラリを使ったプログラムでいじるという
ハイブリッドな方法をとっています。
- 11.
技術的な話(3)
ひきつづき、これについて。
まめフラスコはJava VM上で動きますが、
Jythonで実装しています。
Jythonってなに?
Javaによるプログラミング言語Pythonの実装。Javaのライブラリも使える
Pythonってなに?
オブジェクト指向プログラミング言語 Perl, Ruby, PHPあたりに近い
いろんなアプリケーションのスクリプト言語として採用(Maya, Shade, Blender, Metasequoia...)
ninix(-aya): 伺かのUNIX(というかX Window System)での実装もPythonでされている
なんでそうしてるの?
Jythonで実装(.py)⇒jythoncでJavaVM用アーカイブ(.jar)⇒jsmoothでラップ(.exe) すると
・ exeファイルで撒けるので(最も数的に多いであろう)Windowsユーザに優しい
・ jarファイルも同梱すればマルチプラットフォームで動作可能
・ (JavaVMは別途用意してもらえれば)配布サイズが1MB程度と小さくてすむ
・ Javaの画像関連ライブラリが使える
- 12.
技術的な話(4)
これについて。
なにをしてるか
Flashファイル実行時のスクリプト解釈とトーク制御
・会話や辞書データからランダムに拾い出したり
・スクリプトの指定する画像にキャラクターの表情を変えたり
・吹き出しとその中の文字を表示させたり
どんなものか
FlashLite1.1(Flash4相当)はスクリプト環境として非常に貧弱です!
・オブジェクト指向?なにそれ
・関数がない。サブルーチン呼び出しっぽいことはできるが変数はグローバル
・配列がない。eval関数を用いてもどきっぽいことはできるけど重い
ので、例えば food: うどん, そば, いぬ, さる, きじ は、
food_name=”うどんそばいぬさるきじ”
何番目の要素を得るにはどこからどこまで
food_length=”001004006008010012” 切り出せば良いかの情報
のようなかたちで文字列で埋め込んでおいて、必要に応じて切り出している。
(実際には上の代入文をFlashPlayerが理解できるバイナリにして埋め込み)
・ 8ビットマイコン時代のBasicプログラミング経験が生きる…かも
・ あんまり複雑なことはしんどいです。⇒巷の携帯Flashでワンキーゲームが多い理由
- 13.
できないこと・できてないことについて
というかランダムトークするだけしかできていない。
制限の主要因:
・ FlashLiteのファイルサイズ制限(100KB)
・ ActionScript1.0では複雑なことは難しい
・ 細かいところで機種・キャリア依存性がある
■ ユーザからのアクション・入力
⇒待受画面ではボタン・方向キー受け取れない
⇒データフォルダからでも受け取れる入力に機種・キャリア依存性あり
[2][4][6][8]でマウスカーソルもどきを移動させて触り反応、とか、したい?
⇒ユーザからの入力(例:名前や好感度)を次回再生時まで覚えてられない
FlashLite2.0以降なら不可能ではないが機種・キャリア依存性あり
ことあるごとにネットワークつないでデータ送信、反応パラメタ埋め込んだ
Flashファイルを動的に再生成、とかできなくはないけど…
↑の応用でネットワーク更新もどきもできなくはないけど…
■ .narファイルの読み込み
⇒100KBサイズ制限のせいでShellデータ入りきりません
勝手に自動縮小・低画質化してしまうのも…
⇒各栞への対応は無理
ninix-ayaがちょうどPythonで書かれているけどどう活かせば…
- 14.
ふゅ~ちゃ~☆わ~く
■ 生成UIとかユーザフレンドリーに
全体的に使いやすくできるところの修正
台本ファイルの仕様・説明をちゃんとする
座標を数字で入力させるだけでなくプレビューつけるとか
設定SAVE/LOADまわり
■ こまかな(内部的な)修正
埋め込んでいるキャラクタ画像をjpgベースからLosslessBitmapへの変更
吹き出しのとんがり位置のカスタマイズとか
もうちょっとだけまともなSakuraScript対応(waitとか)
■ Flash Liteの機能の活用
日にち、曜日、時刻、電波状態、電池残量等取得できるので
トーク内容に反映させられるように
■ GoogleAppEngineの活用
せっかくPythonなので。
キャラクターなんとか機的な機能も取り込んで一通りブラウザ上でやれるよに
生成物はQRコードを表示させてケータイに取り込ませるとか
■ (オーサリングツールとしての)Adobe Flashからの脱却
内包するFlashファイルをつくるのを全部プログラミングでやりたい