スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

簡易SL4Aシミュレータ

初アプリ開発、HTMLの基盤も出来たし、そろそろ中身を作っていきます。中身はPythonで作っていきます。

AndroidではSL4A (Scripting Layer for Android) というスクリプト言語を実行させる環境アプリがあって、この上でPythonが動かせる。GUI機能はないのだけど、WebKitが使えるので、GUIをHTMLで構築し、JavaScriptを使って、Pythonとデータの受け渡しが出来るとのこと。しかもアプリとして出力できる。


情報源はこの記事。

Python で Androidアプリをセルフ開発 ( sl4a と、AIDE を 使って Pythonスクリプトをスマホ上で独立Androidアプリに変換)
http://keitaiseikatsu.blogspot.jp/2013/07/python-android-sl4a-aide-pythonandroid.html


前にやったことあるけど、もう一回試してみよ・・・・・あ、あれ!?全然動かない。。。


どうやらAndroid5.0以降、動かなくなっているよう。あいやー。

検索すると、パーミッションエラーとかなんかで、SDカードじゃなくて内部ストレージに移したらOK云々ありますが、僕がアプリを完成させるより、SL4Aのアップデートの方が早いと期待して、色々試すのは後にします。

Android5.0.2でSL4AのPythonは起動不可能?
http://blog.livedoor.jp/kikwai/archives/52137963.html

sl4a permission issue after android upgrade
http://stackoverflow.com/questions/27227386/sl4a-permission-issue-after-android-upgrade

執筆時のバージョン
sl4a_r6.apk
python3forandroid_r6.apk

というのも、一々ファイルを実機に移してコンパイルして動作確認しながら開発なんて煩わしいので、シミュレータ上で動作確認を行うから、とりあえず実機で動かなくても開発はできる。

ただし、SDKに含まれるAndroidのエミュレータは激重なので、ネットブックでも動く簡易的なシミュレータを作ることにしました。

ただ、実機で動かせないのは、モチベーション的に痛い。その上に、今回は自作シミュレータなので全然動作が違ったなんてリスクも。。。:(


SL4AのAPIがすべて動作する完全なシミュレータを作ろうと思ったら、それこそアプリどころじゃなくなるので、簡単なものを目指します。

上記の記事(Python で Androidアプリをセルフ開発)のサンプルで出てくる関数は4つ。

Python側 android.eventPost()
Python側 android.waitEvent()
Javascript側 android.eventPost()
Javascript側 android.registerCallback()

この4つが動作すれば、GUIとのデータのやり取りは出来るので、大抵のことは何とかなるんじゃないかな、との予想のもとに、これらの関数だけ擬似的に動作するシミュレータを作ることにしました。

どん!

GUIにはPySideを使っています。

色々強引です。別にAndorid上での操作を完全再現したいわけじゃないんだ。細かい修正は実機でやるとして、大まかに作り進めるためのもんだから。動きゃいいんだ、動きゃ。


理想は、上の記事のサンプル(index.htmlとscript.py)がそのままで動作することだったんですが、ちょっと諦めました。

初めはその発想で、HTMLの動作を常時確認するスレッドと、script.pyを常に回すスレッドのマルチスレッド式にしたのですが、スレッド内からWebKitのJavascriptを実行させようとすると、メモリの重複やらなんやらでPythonが落ちてしまうことがわかって、上手い解決を見出せませんでした。

特定のファイル(debug.txt)があるときと無い時の分岐を加えて無理やり動作させています。


細かい使い方なんかは、後日ウェブサイトの方に専用ページを作るつもりでいますが、いつになるか分からないので、使いたい人がいらっしゃいましたら、コメントしてください。

これで開発は進められますが...、やはり実機で試したいなぁorz


それにしても、JavaScriptの開発はデバックがホント大変。可能な限りPythonで書こうっと。

スマホアプリのアイコン制作

皆さん、GWをいかがお過ごしでしょうか。

僕は最近にしては珍しく家に引きこもってます。妻が実家に帰っているので。
久々に眠気でぶっ倒れるまで作業しようと思って、前回手をつけたアプリ作成の続きをやりました。
(ん?ゲーム制作?うん、あきらめてませんよ。)

その成果が・・・、アプリ用アイコン・・・・( ̄ρ ̄)
icons.png

ダウンロード(OneDrive)
https://onedrive.live.com/?cid=5BBB2CC25FDD494E&id=5bbb2cc25fdd494e%212584

今はこの手の素材は豊富ですよね。フリーでもごまんとある。
なんせGoogleもアイコン配布してますし。その数750個。

Material Design Icons
https://github.com/google/material-design-icons/releases/tag/1.0.0

もはや作る必要はあるのか、って感じですが、ソフト用とかだと、なんかピッタリくるのが無いってことありますよね。これだけあると探すのも大変だし。
それにアプリアイコンだと、オリジナルである必要がありますし。


手になじむドローソフトがほしい


いざ描こうっと思ったときに、何のソフトを使うか未だ悩みます。なんかこれっていうソフトがないんですよね。ペイントソフトはたくさんありますが、絵を描くためのドローソフトって、そもそも少ない。フローチャット等を描くのに特価したものはたくさんあるのですが。あとは図面を描くためのCADとか。

僕はPCで絵を描くときはドローソフトが好きです。紙とペンと筆で絵を描くのは好きですが、それをPCでやるのはなんか違いました。マウスで鉛筆のように線を描くのはなんかアレですし。ペンタブも買っただけだったなぁ...( ¨)
ドローソフトの点や線をちまちま微調整していく作業感が、PC作業としてしっくりくるというか、良いんですよね。

おそらく、その手の分野は「Adobe Illustrator」の独壇場。こんな高価なソフトは趣味じゃ手は出ないですし、そもそもそんな多機能なものでなくてもいいんです。グラデーションすら使いこなせない。

Illustratorのキラーとの言われるオープンソース(フリー)の「InkScape」は重いですし、機能が多すぎるせいか、操作感が合わないのか、いまいち手になじみません。かれこれ8年くらいは触っているんですけどね。


調べてみると、「ストローク」というソフトを見つけました。おお、新しいソフトだ。
http://www.forest.impress.co.jp/library/software/stroke/

コンセプト的にいい線いってるっと思って買う気満々だったんですけど、いざ使ってみると、四角とか丸とか基本図形をお手軽に描けない感じがして、ちょっと違うかなと。が、非常におしい。

自由な曲線や部分的な線の太さが変更可能など有機的な描画機能もさることながら、カチッと5ptのスペースを空けて、平行線を描き、10ptの半径で丸めるといった直角定規とコンパスを使うような機械的な作業性も大事なんです。このソフトは後者の作業がやりにくい。動物のイラストとか、そういうのには良い感じだと思うんですけどね。


結局、アプリアイコンは、「Excel」のオートシェイプで作りました。
持ってたから使っただけで、この手のオートシェイプ的なやつなら、OpenOfficeの「Draw」がよいと思います。
昔扱った印象で、OpenOfficeは重いってイメージがあるので、今回は使ってないですが。最近のJava製のソフトは軽くなってるらしいけど、どうなんだろ。

ちなみに作ったのはこんなアイコン。部屋のレイアウトをシミュレートするアプリです。ちょっとごちゃごちゃしすぎた。小さく表示したときなんやらわからんくなりそう。
appicon_201505042324452ff.png


その後、上記のアプリ用のアイコンは、GoogleDriveの「Google 図形描画」で作りました。

sc_2015050504021594a.png

sc.png

WEBアプリなので、ソフトのインストールすら必要なくお手軽です。僕が持っているExcelは2003なので、それよりは図形の数が豊富でしかも、端を合わしたりスナップがいい感じに効くので、むしろやりやすい。

Excelよりやりにくいと思ったのは、プロパティがないので、位置やサイズを数値で合わせたりできないことと、グリットの表示ができないこと。後は、線の端部を丸めたり出来なかったり色々ありますが、まぁ、Googleなんで、すぐに進化しそうな気がします。


オートシェイプみたいに基本図形を手軽に描けて、尚且つ、基本図形に無い形も直角定規とコンパスを使うように精度よく作れて、高機能過ぎないソフト。そんなソフトがあれば飛びつくんですけど、なかなか出会いません。


自分で作るか?かつては、ドローソフトを自分で作ろうと思ってたくらいなんで、やってみたいですが、持てる時間、できる事は限られているからなぁ。




おまけ、制作中アプリのスクリーンショット。
sc_20150505041835762.png  sc_2015050504150397b.png
GUIはHTML+CSSで、中身はPythonにするつもり。まだHTML描いただけで、まだ何も実装してませんが。やっと思うような画面を、CSSで書けるようになってきたけど、むつかすぃ。

up_20150505042406f16.jpg
いざ、Nexsus7で見てみると、なんか色合い違う

Javascriptでスプライトシートアニメーション

気が付けば、今年の挨拶をすることなく、すでに2月。今更ながらあけm、・・いや、もうやめておこう。
ちなみに正月休み等の連休もメインPCを1回も起動することなく終わってしまいました。ネットブックはかろうじて開くんですけどね。

そんな中、とりあえず何をしているかというと、ゲーム製作はそっちのけで、取りあえず何か公開・配布できるものを作ろうと思ってアプリ製作に注力しています。あ、いや、することにしました。いつからって?さっき。

メインPCでしか動かないような大型開発環境では続かないということは分かっているので、ネットブックで動く開発環境でというと、HTML、Javascriptを主体とするしかない。

そして、久々の一人の休日、一日かけて出来たのがこれ。
《クリックエフェクトアニメーション》
http://tiblab.net/programming/javascript/touch-effect/
クリック(またはタップ)すると、薄緑の円が抜け出せないほわ~んとアニメーションします。

ダウンロード
http://tiblab.net/cgi-bin/download/?id=touch-effect


いや、待って。何でこれなんだ!っと言う疑問はひとまず置いといて、実はこのほわ~んは下のスプライトシートと呼ばれる画像を使用するんですが、この画像自作です。
touch_effect.png

何で作ったかと言うと、Blenderです。いやー、久々に使いましたね!Blender!
最初はフリー素材探してたんですが、案外ないものですね。



続きを読む

やりたいことリスト

ちーともブログ更新しない僕ですが、やりたいことだけは変わらずあって、書き連ねてみようかと。ただの個人のチラシの裏ですけど、他にネタもないしね!

続きを読む

Charactor Motion 【Blender Game Engine】

BGE関連の記事のコメントでCharactorMotionなるものがあると聞いていたのですが、軽く試してみました。



とりあえず、ジャンプだけ。
前は地面との間に当たり判定を設定し、多重ジャンプを防止するようにさせていたのですが、それすら不要になりました。便利ー。

このブログについて
□ ブログ内容
決まった趣旨はありません。
興味を持ったこと・日常で行ったことを何でも書きます。

3DCG・プログラミングなどが多めです。

□ 現在の活動
・ウェブサイト制作
 (http://tiblab.net)
・3Dゲーム制作
 (コックパニック)
検索フォーム
ユーザータグ

Blender キャプチャ blendファイル BGE Python GameEngine ムービー Android CG  Red5 Terragen C# C++ 

カテゴリー
プロフィール

TiBra

Author:TiBra
趣味でCG制作、プログラミング等を行っています。メイカーズに憧れています。

ネットを通じた交流を広げたく思っていますので、コメント・メールはお気軽にどぞー

戯言程度のことは、こちらのブログに投稿しています。基本戯言なので、実質移転しているようなものです。

Mail:tibraあっとlive.jp
HP:TibLabmemocode
動画:VimeoFC2動画ニコニコ
ファイル:SkyDrive
企画:3Dゲーム作業実況

Blogリンク
不都合がございましたらご連絡ください。
当ブログのリンクバナー
FC2 ID
FC2カウンター
RSSフィード+解析コード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。