2013年10月31日木曜日

Tizen用アプリの開発

Tizen用アプリの開発が先週の土曜日に無事終了。
やりたい所までは結局できず、出来る技術で出来る所まで作製した。

やりたいこと
1. 皿が画面の色々な場所にランダムに出てくる。
2. その皿をタップして割る。
3. たまに皿以外の画像(オムライス等)が出てくるので、それはスワイプする。
4. 1〜4を繰り返し、何枚割れるかを競う。
画像が出てから数秒以内に皿を割らないとゲーム終了。
また、皿をスワイプ、もしくは皿以外をタップしたもゲーム終了。

そんな内容で、出来るだろうと思ったが、出来なかった。

自分の割り振りは、画像がランダムに変更される。
ex. 皿→皿→皿→オムライス→皿→皿→オムライス→皿→皿→皿→皿→・・・
みたいな感じで、これは配列を使って何とかできた。
スワイプとタップの違いによる処理も友達のアイデアで出来た。

出来なかったのが、「2の皿をタップしたら割れた皿が表示される」ところだ。
一見簡単そうだが、他のプログラミングと組み合わせると上手くいかなかった。
これは今後の課題で、いつか完成させる!


結局このゲームから、下記に変更した。
○皿とオムライスが出てきて、皿はタップ、オムライスはスワイプしたら数字が増え、100まで行くと皿が割れるというゲームに変更した。タップとスワイプを間違えたら、数字が0になる。

//クリック時の画像切り替え関数
function clickchangeIMG(){
 console.log("changeIMG" + cnt);
 if (cnt == 0) { //皿の画像1
 count();
 };
 if (cnt == 1) { //皿の画像2
 count()
 };
 if (cnt == 2) { オムライスの画像1
 reset()
 };
 if (cnt == 3) { オムライスの画像2
 reset()
 };
 i = Math.floor(Math.random() * 100);
 cnt = 0; //0~69 70%
 if (i > 70) cnt = 1; //70~79 10%
 if (i > 80) cnt = 2; //80~89 10%
 if (i > 85) cnt = 3; //89~99 10%
 console.log(cnt);
 document.getElementById("plate").src=imgs[cnt].src;

};

function count() {
num ++;
$("#messeage-count").text(num + "");
if (num == 100){
document.getElementById("plate").src=imgs[4].src; //割れた皿の画像
sound1();
callbacks;
}else{
}
}

上記のソース(一部のみを抜粋)を記載したが、その中でcallbacksを書いた。ほとんど意味分からず記載してみたら、上手くいった。
エラーはでるが、callbacksと書かないと100回目に画像が切り替わらないのだ。
これも今後の課題だ。


ひとまず上手く動いたということで、10月締め切りのtizenのprizeに申し込むため、友達がtizenに提出してくれた。
そこでも色々トラブルがあり、大変みたいだ。

何とか一緒に解決したのが、tizenから「Back Keyが動かない」と言うものだ。ずっと「戻るボタン」のことだと思っており、動くはずなのにと思っていたが、ネットで検索するとtizenにはハード自身に見えにくいがBack Keyが存在することが分かった。それを昨日させるコードを記載し、動作確認も昨日でき、無事提出完了。
後はtizenからの返事を待つだけだ。

0 件のコメント:

コメントを投稿