ninoha.com

programming clip

ちょっとずつ

懲りずにベビーソードチックなAndroid用ゲームを作成中。
今度は高低差のあるマップに挑戦。たまにキャラクターが埋もれたりしちゃうけど割り切って直さないことにした(というか頭悪くて直せない・・・)

ドット絵も全部新しく作り直してるし、まだまだ先は流そうだーーー

[Android] localStorageがうまく動かない

AndroidStudioでWebViewを使ったHTML5アプリを作ってみたものの

アプリ終了→起動するとlocalStorageのデータが消えてる・・・。

OSのバージョンの問題なのかコードが悪いのか今でもさっぱりわからないものの、対策した方法をメモ。

 

自分なりの結論。

HTML5のlocalStorageとAndroidのPrefarenceに二重保存!

 

1.保存

localStorageに保存しつつ、Android側の関数を呼び出してプリファレンスにも保存。

 

2.読込

localStorageから読みつつ、データが空だったらAndroid側の関数を呼び出してプリファレンスから読み込む。

 

 

◆データ読み書き用クラス

◆ActivityクラスでWebViewにセットする部分
webview.addJavascriptInterface(new Substorage(this), “SubStorage”);

◆JavaScriptからの呼び出し部分
SubStorage.save(“mydata”, str);
var str= SubStorage.load(‘mydata’);

エディタ

javascriptのコードを書くときは大抵サクラエディタを使ってたけど、

マイクロソフトのWebMatrixていうWebサイト作成ツール?みたいなのを見つけたのでつかってみた。

軽いしすごくいいかんじ!

 

http://www.microsoft.com/japan/web/webmatrix/

スコアボードアプリをつくる!

こどもがソフトテニスを始めたから
Androidのシンプルなスコアボードアプリを作りたいなーとおもった。
アプリって言ってもHTMLだけど。

まずはまともに打てるようになるのが先だけど、見てると先はまだまだ流そう・・・。

Androidにもくまぴよ

PhoneGapBuildでAndroidアプリに変換→公開
ブラウザでも動くしWindows8のアプリにもできるしAndroidのアプリにもできるし、HTML5ってすごい!

 

LINK
https://play.google.com/store/apps/details?id=com.ninoha.kumapiyo

10i

JavaScript 自動生成の迷路

作ってみたかったけど頭わるすぎて生成法が全然わかんない
ので、いつものように検索してたらクラスタリングっていうアルゴリズムがあるみたいで参考になった。頭のいい人いっぱいで助かるー!

作ってみたコード

上記のHTMLファイル
つくったもの

[JavaScript ストアアプリ] 設定チャームにメニューを追加(プライバシーポリシー)

チャームにプライバシーポリシーを追加できたから、その時のやり方をメモ

設定チャームにメニュー追加する関数
プライバシーポリシーのページとしてp.htmlもあとで作っておく

app.onactivatedの中で上の関数を呼んで、チャームのセットアップをする。

p.htmlを作る
このサイトのプライバシーポリシー用ページをブラウザで開くだけのもの。

Windowsストアアプリ(JavaScript)に広告つけれた

MSDNそっくりそのままやっただけだけど。
http://msdn.microsoft.com/en-us/library/advertising-windows-walkthroughs-html5(v=msads.10).aspx

でもほんとにまねただけだからpubCenterがいまひとつわかってない

JavaScript 音楽ファイルのプリロードと複数同時再生

以前につくった画像ファイルのプリローダーをそのまま音楽ファイルに使えるに違いない!
と思ったら動かなかった。
onloadじゃなくてoncanplaythroughだったみたい。
なんていつまで経ってもonloadに入ってこないんだよくそが!と思ってたけどくそなのは自分だった

効果音鳴らすために作ったクラス

プリローダーで読み込んでおいたAudioオブジェクトを渡して、その場で再生するだけ
setSEを呼ぶ度に、再生リストから再生完了済みのものがあるかをチェックして、完了済みのものがあればそこに上書き。なかったらリストに追加して再生。
っていうふうにしたら複数同時に再生できて再生リストの中身も増えすぎないかなーと思ってやってみた。

JavaScript 点線