魔法陣を描いて遊ぶアプリ作りました! Mahougen

MahougenというAndroidアプリ作ってリリースしました!
動画を見てもらうと分かると思いますが、タップして画面をなぞるだけでカッコいい魔法陣が生成できるアプリです。実際描いてみると不思議な気持ちよさがあるので是非試してみてください!

GooglePlayでMahougenをダウンロード

開発話

Kotlinを使った個人製作アプリ第二弾です。まだ規模としては小さいアプリしか作ってないですがKotlinいいですね。記述がシンプルでJavaで厄介だった部分が大分スッキリします。Null安全なのも助かりますし。この前v1.0が出て正式リリースとなりましたし、Androidのメイン開発がどんどんKotlinへ移行していくのではないでしょうか。

このアプリを作るきっかけはこのツイートです。対称性を利用するだけで適当な模様を美しく魅せられるというのはすごいと思い、どんな感じになるのか検証を兼ねてアプリ化してみました。(ちなみにツイートの方で実施してるのは鏡面対称で模様を作ってますが、今回実装したアプリの方は回転対称です。)

実装方法は、CustomViewでお絵かきアプリを作るサンプルが転がっていたので、それをベースに回転したパスを重ねるよう改造しました。SurfaceViewを使っていないのでメインスレッドで描画する行儀の悪いやり方ですが、 面倒くさいので アプリのUI ≒ 魔法陣のViewなのであえてバックグラウンドにまわす必要性も感じられないのでそのままにしています。

魔法陣の書き方は、
画面を中心から円状にn分割する。
タップした位置に最も近い空間を探す。
その空間内でのタップ位置を相対座標で求める。
n / 2piずつ回転しながらそれぞれの絶対座標を求める。
* 各空間ごとに座標を元にパスを生成して描画。

みたいな形で実現しています。
平面幾何の計算久しぶりにやりましたが、一発で想定通りに実装できたのが嬉しかったです。Kotlinだと演算子のオーバーロードも簡単ですね。ベクトルクラスを自前で実装してみてその恩恵を実感しました。

ソースはこちらにおいてあります。興味があればどうぞ。
Github: https://github.com/pistatium/mahougen

アプリの方も試しに遊んでもらえると嬉しいです。

お気に入りの作品はこれ。

GooglePlayでMahougenをダウンロード

Sun, 27 Mar 2016 11:54:44 +0000   |   Category:Android

関連記事

About Me

kimihiro-n

Androidアプリを中心にいろいろアプリ作ってます。
T N G

Products

放課後アプリ部
放課後アプリ部
個人アプリ開発者のための集客プラットフォーム作りました。 AndroidやiOSアプリのダウンロード数増加を無料で手伝います!

最速のJSON可視化・解析ツール
JSONを使った開発をスムーズにするためのツールです。 特定の値までのパスを簡単に取れます。
過去に作ったiOSアプリ
明日から本気出すタスク管理 for iOS
過去に作ったAndroidアプリ
明日から本気出すタスク管理 for Android Nagareboshi taplight
Others..

Search Articles