[JavaScript] スマホのフルスクリーンコンテンツ

2013/09/19

こんにちは。きんくまです。

スマホ向け、フルスクリーンコンテンツを作るときの個人的なメモです。

フルスクリーンの定義はいろいろとあると思いますが、
今回想定した条件は

・ウインドウに対して、コンテンツの高さが足りても足りなくてもよい(=スクロールが発生してもしなくてもよい)
・横スクロールなし、縦スクロールのみ
・ヘッダーフッターメニューが画面に対してposition:fixedでついている

といったものです。

作ってて、画面中央に何かを表示したいときの座標を求めるときに、正確な値を取得する方法がよくわからなかったので、やってみようと思いました。

・ウインドウの幅・高さ
・コンテンツの幅・高さ

がわかれば、中央ぞろえを計算することができます。

そのとき、どのプロパティがどういうものかを実際にデモを作って調べてみました。

検証用のhtml

mobile_fullscreen_sample

すんごく個人用なので、display:noneに書き換えたりしながら検証しました。

この投稿の続きを読む »

LINEで送る
Pocket

[AS3] purePDFをビルドしたい

2013/09/15

こんにちは。きんくまです。

自分用メモです。抜けがあるかもしれません。

AirでPDFを作りたいと思いました。

iOSはObjective-CネイティブでPDFを作れるので、ANE使って頑張ればなんとかなりそうです。
が、じつは前に案件で作ったことあるんですが、けっこうメンドイのでANE使ってもやりたくないです、、。
AndroidはそもそもJavaネイティブのPDFライブラリがないっぽい。(PC用はあるのですが、モバイルのAndroid向けとなると対象外になってしまう)

なので、ASでそのまま作ることを考えました。

調べてみると対象は2つ。ClockMakerさんのところに記事が書いてありました。どもです。

>> ActionScript 3.0で日本語対応のPDFが作成できる「purePDF」のサンプル | ClockMaker Blog

AlivePDFpurePDFです。

この投稿の続きを読む »

LINEで送る
Pocket

[AS3] AirRecordをActionScript Projectで使いたい

2013/09/14

こんにちは。きんくまです。

AirでSQLite使いたいと思いまして、調べてたらAirRecordという便利ライブラリが見つかりました。

詳しくはこちらです。

>> ADB開発中!Adobe Developer Box 開発日記 連載4) AIRによるActiveRecordの実装 | デベロッパーセンター

で、それをさらにバイナリを扱えるように改良されてました。

>> ActiveRecordは、ByteArrayを保存できない – takanemuのブログ

で、さらにそれを1.2で使えるように修正されていました。

>> ActionScript – AIRでのsqlite環境をActiveRecordパターンにして快適に!ついでにByteArrayを扱えるように。 – Qiita

本当、オープンソースすごいっすね。皆様、ありがとうございますです。

この投稿の続きを読む »

LINEで送る
Pocket

[iOS] Habit Keeper iOS7対応申請しました

2013/09/12

こんにちは。きんくまです。

きのうは、iPhone 5s, 5cの発表でした。
で、アプリ開発者の人にとってはiOS7に対応したバージョンの申請の受付開始日でもありまして、、。

私の方でも日課管理アプリのHabit KeeperのiOS7対応バージョンの申請を行いました。
日課や習慣をサクサク記録!- Habit Keeper

iOS7は、ご存知のとおりフラットデザインに変更されるため、中のレイアウトの構造が変わる?のか、そのままだとレイアウトが崩れてしまっていました。
でその対応をする必要がありました。

きのうは、XcodeとiOS SDKの新しいバージョンの正式リリース候補(というか何もなければそのまま製品版)=GM版が出た日でした。

α -> β -> Release Candidate(RC)-> Golden Master(GM)とかだったかな?
このへん、どこかに書いてあるかも。

開発者用のベータ版で修正部分をある程度検討はつけておいたのですが、その他の部分でいろいろとはまってしまい、時間がとられてしまいました。w

アイコンはマイナーチェンジというか、ぱっと見ほとんど変わってないのですが、よすみのRの半径(正確には正円でないっぽい)が大きくなったので、その対応をしたり。
iTunesの方では画像は現在のものなのですが、切り取りのマスクの仕方が、新しいRにすでに変わっているので、左下と右下が想定よりも切れてマス。この辺の対応です。

やっぱiOS7出るとフラット系のアイコンとかデザイン増えるんでしょうかね?どうなんでしょ?
個人的にはいまぐらいの、ちょっと出っ張ってる方がわかりやすくて好きなんですけどね。

で、いままで無料版には有料版にある機能がいくつかついてなかったんですが、機能を増やしました。
次のバージョンから無料と有料の違いは、

・日課は3つまでOK
・広告が出る
・バックアップを読み込めない(書き出しはできる)

という3つの違いです。無料でもアラームとか、バッジとかも使えるようになります。

心配なのが、提出はできたけどあと何日かでiOS7が一般公開されるので、それに審査が間に合ってくれるかどうか、、。
「You 画面くずれてるYo !」メールがサポートにだばーっと来るのは何としても避けたいところデス。
最近は審査が早くなったという、つぶやきがちらほら見られるものの、この何日かにApple側に申請がどっと押し寄せているはずで、大丈夫なのかっ!?

修正作業しながら思ったのが、こういうOSのアップデートにともなう作業時間。
私の場合、2つの(といっても中身はほぼ共通)アプリなので、なんとかなったのですが、受託開発をしつつ自社アプリを何個も出している場合は大変そうだなと、思っとります。

全然はなしが変わっちゃうけど、年内に1本小さなカジュアルゲームみたいの出してみたいな。
ゲーム作ったことないから、とにかく完成をまず目指したい。でもまだアイデアは何も考えてないという、、。
あと1ヶ月ぐらいで受託も落ち着くはずなので、徐々にやってこう!

LINEで送る
Pocket

[JavaScript] Google+の共有(Share)ボタン

2013/09/5

こんにちは。きんくまです。

Google+の共有ボタンを動的生成しようとしてまして、はまったのでメモです。

この投稿の続きを読む »

LINEで送る
Pocket

[AS3] Embedで埋め込んだものを動的に生成したいメモ

2013/08/25

こんにちは。きんくまです。

ASだと画像とか音声とかのデータをどうやってもってくるかはいろいろとやり方があると思います。

1. flashから書き出したswcで静的に埋め込む
2. 起動したあとLoaderで動的に取得する
3. Embedタグで静的に埋め込む

1はFlashの中で位置を調整できるのと、アニメーションしたMovieClipも埋め込めるので便利です。
2はコンテンツがリリース後に更新されるようなときに便利です。
3はFlashを通さないので、位置はプログラム上で組むことになるのですが、画像ソフトから書き出したあとFinderとかでフォルダの中を上書きすればすぐに画像さしかえが反映できるので楽です。

で、今回はEmbedのメモです。

この投稿の続きを読む »

LINEで送る
Pocket

[JavaScript] parseIntでハマった。

2013/08/21

こんにちは。きんくまです。

ふだんparseIntをよく使ってます。文字列を数値に変換する関数ですね。
例えばbutton1とかいうボタンの名前から末尾の番号取得したりとかそういうのです。

var index = parseInt(buttonName.substr('button'.length));

んで、実はあまり挙動をよく知らなかったのでハマりました。
こんな感じのコードがあります。

var logStr = [];
logStr.push("1 -> " + parseInt("1"));
logStr.push("2 -> " + parseInt("2"));
logStr.push("5 -> " + parseInt("5"));
logStr.push("7 -> " + parseInt("7"));
logStr.push("8 -> " + parseInt("8"));
logStr.push("9 -> " + parseInt("9"));
logStr.push("10 -> " + parseInt("10"));
logStr.push("11 -> " + parseInt("11"));
logStr.push("15 -> " + parseInt("15"));
logStr.push("17 -> " + parseInt("17"));
logStr.push("18 -> " + parseInt("18"));
alert(logStr.join('\n'));

logStr = [];
logStr.push("01 -> " + parseInt("01"));
logStr.push("02 -> " + parseInt("02"));
logStr.push("05 -> " + parseInt("05"));
logStr.push("07 -> " + parseInt("07"));
logStr.push("08 -> " + parseInt("08"));
logStr.push("09 -> " + parseInt("09"));
logStr.push("10 -> " + parseInt("10"));
logStr.push("11 -> " + parseInt("11"));
logStr.push("15 -> " + parseInt("15"));
logStr.push("17 -> " + parseInt("17"));
logStr.push("18 -> " + parseInt("18"));
alert(logStr.join('\n'));

この投稿の続きを読む »

LINEで送る
Pocket

ページトップへ戻る