AnbLnの日記

AnbLn@ぽりえすてるのブログ

日記0007だけ

5月18(金)

今日のおれは満点。アプリは無事完成。あとは申請するだけ。やったぜ😎

という夢を見たけど、まったくそんなことはない

昼は大学に行き、夜開発。

ロジック部分はサクサクできて、時間も予定通りといった感じなんだけど、viewの配置とかデザインまわりがとにかく苦手ということが分かった。

まず、素材を集めるところから始まって、ここで既に多大な労力を消費する

次にviewの配置などについては、ノートで簡単に書いたようにやっても中々いい感じにならない

もっと綿密にデザインを決めるべきだが、それをどうしたらいいのか、、、

デザインに手を抜かないようにして、なおかつスケジュールをきっちりこなすのはかなり難しい、、、

日記0006とiPhoneの写真がiCloudに保存される話

5月17日(木)

バイト終わり帰宅するも、意外なことに日記を書く気力が残っているので、書いてみる

今日は昼過ぎに起きるなど、自堕落であったが、自習はまあまあ捗った

勉強したのは、述語論理のresolutionと、暗号理論におけるヴェイユペアリングの概要

本当は今日までにアプリを完成させる予定だったけども、日曜はぐったりとしていて、今日はバイトだったので、一ミリも進んでいない

明日の俺に期待したい


iPhoneの写真がiCloudに保存される話

僕はiPhoneで写真をたまに整理します

今回800枚ほど溜まっていたので、これをアプリで分けようとしたのですが、保存されているはずの写真が表示されない、、、😦

カメラロールでは表示されるのですが、画質が粗くて、待っているとダウンロードされるのです🤔

どうやらiCloudに僕の写真たちは幽閉されているようです😇

なぜ?iPhoneやiPadにあるはずの写真・ビデオが見られない!iCloudフォトライブラリの謎と対処法 | さくっとふぉとらいふ

しかし、オリジナルをダウンロードを選んでも、ダウンロードが進まねえ!!!!😫

おい、どうなってるんだよApple👊💢


って、いうのが三日前で、気づいたらダウンロードされてたぜ😎ってのが今日の話でした

iCloudのサーバのご機嫌によるのでしょうか、いまいちダウンロードが進まなかった理由がわかりません



ところで、このクラウドの写真がアプリから見えなくなる問題は僕のスクショ連結くんでもバッチリ悪さをしてくれて、どうしようかと頭を抱えています

日記0005とフォント

5月13日(日)

気分が上がらない。だから瞑想アプリ(寝たまんまヨガというアプリ)入れてみた

瞑想ってめちゃんこ怪しいけど、そんなに怪しいもんじゃない

自分の意識をどこに向けるかというのはとても大事なこと。

例えば、指先に意識を向けることもできるし、自分の全身に意識を向けることもできるし、自分のいる部屋まで意識を広げることもできる

アメリカの実験で、ホテルの客室清掃の従業員に「あなたたちは普段これだけの運動をしているんですよ」と伝えたグループは、伝えてないグループに比べて、痩せたとかなんとか

脳をコントロールできれば99%ダイエットは成功する | 女性の78%が知りたい!「理想のココロとカラダ」人生を11倍楽しむ法則

アメリカの実験ってこの論文でしょうか


瞑想して結構スッキリしたんだけど、思い返してみると、金曜夜くらいからずっと散漫としてたかもしれない

どんまい。



フォント

ゲームアプリを作る上で、少しでも雰囲気というものを作りたいなら、最初に考慮するべきはフォントだと思うわけです。ふぉんとに?

以前、ノンデザイナーズデザインブックを読んでから、フォント力を上げねばいかんと思いまして

フォントはコンテンツの血液とでも言いましょうか

オシャレなゲームは当然フォントに繊細な配慮がされています。

思えば、プレステくらいまでのゲーム(FF9とか)は、スペックの制限からくるフォントの独特さが、ゲームの雰囲気に一役買っています。

iPhoneアプリFF9はフォントの違和感が半端ないです、、、と思って今見たらフォントが修正されてる!!!


、、、話が逸れましたが、今日記事に残したかったのは、true typeとopen typeのことです

TrueTypeとOpenType - フォント専門サイト fontnavi

フォント力上げねば

日記0004と反省

5月11日(金)

ゼミをなんとかのりきる。昼に本当は開発するつもりだったけど、まったくやらず。
やらなかったことの反省ではなく、スケジュールにゆとりをもたせなかったことの反省。

たまには一日中ゴロゴロしたい。

お題スロット!!

お題「ちょっとした贅沢」

ちょっとした贅沢、と言われるとちょっと心当たりがあります。
牛乳を買うとき、いつも安いやつを選んでいましたが、半円の切れ目がついてるやつを最近は買います。
飲んで分かりましたが、小学校の頃、毎日飲んでいたおいしい牛乳はこっちです。

日記0003とFlowerPuzzleスケジュール

5月9日(水)

2限出席。授業内容はペトリネット。昼ボードゲーム。夜バイト。
バイトでやらかす。炊飯釜のお米が多くて、お米の芯が残る炊き上がり。
まあ、炊けるやろという判断ミス。無念。

5月10日(木)

2限欠席。前日夜更かし。3限出席。情報科学のunification。
unificationというのは、2a+3b=x+yzという等式をx:=2a, y:=3, z:=bとすれば両辺は記号の列として一致するね、というようなお話。
昼、暗号の論文読む。明日ゼミ。間に合うかどうかの瀬戸際。
夜、眠い。

FlowerPuzzleのスケジュール

いま、こしらえているアプリはFlowerPuzzleと題して、よくある感じのパズルゲーム。
ゲームとしてはよくあるけど、パズルの解説を盛り込んで既存のアプリと差別化する予定。

動画では、フィールドをシャッフルした後15秒ほど動かないが、実はこの時間で最短手数の解法を頭の中で考えている。
しかも、それは慣れればそれなりに簡単なので、パズルに自信のある方は是非。
まだ作ってる最中だけど。

そのスケジューリングをしてみよう、というのが今日の記事のメイン。

  • フリーモード       完成
  • パズルモード
    • パズルデータ      二時間
    • リスト         完成
    • Tips 二時間
  • チャレンジモード
    • カウントダウン     一時間
    • 勲章          二時間
    • ゲームシステム     二時間
    • 広告          一時間
  • アプリ全体のフォント   一時間
  • アプリ全体のviewの配置  二時間
  • アプリ全体の広告     一時間
  • InfoVC
    • 全体          一時間
    • SNS           一時間

合計は十六時間か、、、
なるほどといった感じの数字になった。
余裕をもっての見積もりだし、絶好調の自分を2日キープできれば完成する可能性はある。
そんな期待はしていないので、日曜までの予定だったが、来週の木曜日を最終〆切としたい。

日記0002とUIScrollViewのスニペット

5月8日(火)

朝、9時に起床。2限代数学特論出席。4限代数幾何出席。夜アプリ開発

この日のアプリ開発自体は順調だが、明らかに13日までにリリースできるとは思えない。スケジュールを明日しっかり立ててみる。

スケジュール管理のために、コーディングにどれくらい時間を要するかわかるようになるといいと思った。今日の感じだとViewController一枚のコード30分〜、といった感じか。今後の課題である。



UIScrollView with AutoLayout

iOSアプリのUIをつくるとき、storyboardを使うかコードで記述するかの二択を選ぶことになります。AutoLayoutは後者においても非常に扱いやすく便利です。

さて、UIScrollViewのAutoLayoutは普通のviewとは若干扱いが異なるようです。


UIScrollView Aと、Aに追加されたサブビューの制約」は、「AのcontentViewと、Aに追加されたサブビューの制約」と解釈されるようです。

これはUIScrollViewの機能を考えれば自然です。

考え方としては、contentViewは無限に広がる平面なんだけど、制約をつけた瞬間にそこがその平面の端に決まるということです。

大抵の場合は以下のコードのように大きなUIViewを置くのが簡明です。
この例では横に二ページ分の広さを持つcontentViewを作っています。
それには、UIView matをscrollViewに追加して、四方に制約をつけて、matのwidth, heightの制約をつけています。
普通のviewでは制約が多すぎるって怒られるところですが、このコードは怒られません。

let mat = UIView()
scrollView.addSubview(mat)
mat.translatesAutoresizingMaskIntoConstraints = false
mat.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
mat.leftAnchor.constraint(equalTo: scrollView.leftAnchor).isActive = true
mat.rightAnchor.constraint(equalTo: scrollView.rightAnchor).isActive = true
mat.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
mat.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 2.0).isActive = true
mat.heightAnchor.constraint(equalTo: scrollView.heightAnchor).isActive = true