uka.appleコメントする今日の作業は「iPhoneアプリでロード時にサイズがおかしい対策」です。現在作成中のライフゲームは通常の画像を読み込んでライフパターンとして利用する機能があります。何枚か読み込んで気づいたのですが、小さい画像はその画像が収まるようにライフのサイズを調整して正常に読めていたのですが、大きい画像の場合はライフサイズを最小にしても画面からはみ出していただけでした。画像サイズを調整して読み込むことも考えましたが、ドットバイドットで読み込めないとせっかく正確に作ったライフパターンが読み込めないケースが出てくると考え、画面に収まりきらない画像読み込み時は警告を表示することで対策としました。uka.appleコメントする重大発表です。今現在開発しているアプリ名が決定しました。)/››GPUのシェーダーを利用して、ハードウェア性能を極限まで引き出したライフゲームです。超細かいライフを稲妻のように超高速で動かすことが可能です!昨日と今日はライフの動作を超高速化してました。超高速化の作業内容やコードは超企業秘密です。あとは超売れればいいんだけど。uka.appleコメントする今週の予定です。134日目:タッチ時のパフォーマンス改善その1135日目:タッチ時のパフォーマンス改善その2136日目:iPhoneアプリでロード時にサイズがおかしい対策137日目:iPhoneアプリでセーブ機能をネイティブ対応その1138日目:iPhoneアプリでセーブ機能をネイティブ対応その2139日目:iPhoneアプリでセーブ機能をネイティブ対応その3140日目:予備日(次の週の予定を立てる)いよいよ大詰です。今週の作業が終われば、一応iPhoneアプリとして完成となります。追加機能を実装したい気持ちもありますが、いつまでたってもリリース出来なくなってしまうのでとりあえずサクッとリリースを目指したいと思います。uka.appleコメントする今日の作業は「警告ウィンドウの表示」です。javascriptのalertやconfirmを、WKWebViewで表示対応します。Swiftのバージョンは5.0.1です。}confirmは以下のプロトコルを実装することにより、アプリで表示可能になります。alert("ごめんなさい。");}キャンセルを押します。はい、アプリ上で表示されましたね。EDGE」が効かない事がある対策を行いました。conwayのライフゲームは、ライフが一定のルールに従って状態が変化する様がとても面白いゲームです。全てのライフをランダムに初期化した後、しばらくはライフが変化し続けて楽しめるのですが、一定時間が経つと状態が固定して動きが無くなってしまいます。EDGE」とは、画面端のライフを常にランダマイズ処理して、常に動きをつけて楽しめるようにした機能です。この機能なんですが、「LOOP」という画面端を繋げる機能をオフにすると効かなくなったので今日はその調査と対策を行いました。(ちなみに原因は、「LOOP」オフの場合には画面端が繋がらないのでランダマイズ範囲が狭すぎたためです。)これで、どんな状況でも永遠にライフが動き続ける様子を、ぼーっと眺めて楽しめます。uka.appleコメントする今日の作業は「UIの表示が範囲外になる事がある対策」です。今作っているWebGLライフゲームアプリのUIは、画面が横長の場合はUIが隠れてしまいます。右側のSIZE、SPEED、COLORのその下の部分が見えていませんね。このUI部分をドラッグしてスクロールする事で、見えない部分を表示する事ができます。ライブラリなしで自力で作り込んでいます。ウィンドウサイズが変更された時に、場合によってはUIの表示範囲がおかしくなって何も表示されないことがあったため、今日はこの部分を調整していました。具体的にはスクロールの最大量、現在のスクロール位置を確認して、範囲外には行かない制御ですね。コードにすると以下のような形になります。uka.appleコメントする今日の作業は「iPhoneアプリ化で起動時に画面を触るとずれる対策」です。アプリはシングルページアプリケーション(SPA)なので、スクロールは不要です。WkWebViewのスクロール関連機能をオフにしました。Swiftのバージョンは5.0.1(xcodeは10.2.1)です。falseバージョンが5になってまた書き方が変わったようです。プロパティ名が変わった?のかな。変わらないでほしいですね。頻繁に変わりすぎるからWebGLとかに避難する方向で行っています。uka.appleコメントする今日の作業は「iPhoneアプリ化で音が出ない原因を調査して対策」です。・mp3ファイルへのパス間違えていただけでした。(_(自作の音再生jsライブラリの中にmp3へのパスを書くんですが、自分で作っていてすっかり忘れてました。正しいパスに直したら、全く何の問題もなくiPhoneアプリ内で音が鳴りました。uka.appleコメントする今日の作業は「ライブラリロード直後にUIを閉じる」です。iPhoneアプリとして動くようになったので、今日の画像はiPhone実機のスクリーンショットです。今作成しているWebGLのライフゲームは、「Library」というボタンがあって、有名なライフパターンを手軽に呼び出せる機能があります。この機能でパターンをロードした後、ライフがどのように動くか鑑賞するのですが、その際にUIが邪魔になります。はい、ご覧のようにUIでライフが隠れちゃってますね。そこで、ライブラリを呼び出した際は、UIを自動で閉じるようにしました。uka.appleコメントする今週の予定です。EDGE」が効かない事がある対策132日目:警告ウィンドウの表示133日目:予備日(次の週の予定を立てる)iPhoneアプリ化して昨日遊びまくってたら色々とバグっぽいのが出てきたので今週はそれを直して行きます。